Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0660a9b1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  arch/tile: mark "hardwall" device as non-seekable
  asm-generic/stat.h: support 64-bit file time_t for stat()
  arch/tile: don't allow user code to set the PL via ptrace or signal return
  arch/tile: correct double syscall restart for nested signals
  arch/tile: avoid __must_check warning on one strict_strtol check
  arch/tile: bomb raw_local_irq_ to arch_local_irq_
  arch/tile: complete migration to new kmap_atomic scheme
parents 65f75ace d02db4f8
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@

#include <linux/interrupt.h>
#include <linux/threads.h>
#include <asm/kmap_types.h>
#include <asm/tlbflush.h>
#include <asm/homecache.h>

+24 −10
Original line number Diff line number Diff line
@@ -16,28 +16,42 @@
#define _ASM_TILE_KMAP_TYPES_H

/*
 * In TILE Linux each set of four of these uses another 16MB chunk of
 * address space, given 64 tiles and 64KB pages, so we only enable
 * ones that are required by the kernel configuration.
 * In 32-bit TILE Linux we have to balance the desire to have a lot of
 * nested atomic mappings with the fact that large page sizes and many
 * processors chew up address space quickly.  In a typical
 * 64-processor, 64KB-page layout build, making KM_TYPE_NR one larger
 * adds 4MB of required address-space.  For now we leave KM_TYPE_NR
 * set to depth 8.
 */
enum km_type {
	KM_TYPE_NR = 8
};

/*
 * We provide dummy definitions of all the stray values that used to be
 * required for kmap_atomic() and no longer are.
 */
enum {
	KM_BOUNCE_READ,
	KM_SKB_SUNRPC_DATA,
	KM_SKB_DATA_SOFTIRQ,
	KM_USER0,
	KM_USER1,
	KM_BIO_SRC_IRQ,
	KM_BIO_DST_IRQ,
	KM_PTE0,
	KM_PTE1,
	KM_IRQ0,
	KM_IRQ1,
	KM_SOFTIRQ0,
	KM_SOFTIRQ1,
	KM_MEMCPY0,
	KM_MEMCPY1,
#if defined(CONFIG_HIGHPTE)
	KM_PTE0,
	KM_PTE1,
#endif
	KM_TYPE_NR
	KM_SYNC_ICACHE,
	KM_SYNC_DCACHE,
	KM_UML_USERCOPY,
	KM_IRQ_PTE,
	KM_NMI,
	KM_NMI_PTE,
	KM_KDB
};

#endif /* _ASM_TILE_KMAP_TYPES_H */
+2 −4
Original line number Diff line number Diff line
@@ -344,10 +344,8 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
#define pgd_offset_k(address) pgd_offset(&init_mm, address)

#if defined(CONFIG_HIGHPTE)
extern pte_t *_pte_offset_map(pmd_t *, unsigned long address, enum km_type);
#define pte_offset_map(dir, address) \
	_pte_offset_map(dir, address, KM_PTE0)
#define pte_unmap(pte) kunmap_atomic(pte, KM_PTE0)
extern pte_t *pte_offset_map(pmd_t *, unsigned long address);
#define pte_unmap(pte) kunmap_atomic(pte)
#else
#define pte_offset_map(dir, address) pte_offset_kernel(dir, address)
#define pte_unmap(pte) do { } while (0)
+3 −0
Original line number Diff line number Diff line
#ifdef CONFIG_COMPAT
#define __ARCH_WANT_STAT64	/* Used for compat_sys_stat64() etc. */
#endif
#include <asm-generic/stat.h>
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr)
#ifdef CONFIG_COMPAT
#define __ARCH_WANT_SYS_LLSEEK
#endif
#define __ARCH_WANT_SYS_NEWFSTATAT
#endif

#endif /* _ASM_TILE_UNISTD_H */
Loading