diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-16 16:54:16 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-16 16:54:16 -0500 |
| commit | 0db2812a5240f2663b92d8d4b761122dd2e0c6c3 (patch) | |
| tree | 4966ada2a4a75dc89b7038ac1694a8acc4d3aa3f /arch/tile/include | |
| parent | eb64c3c6cdb8fa8a4d324eb71a9033b62e150918 (diff) | |
| parent | c47b15c4928c46b889a1ea2e9b54f4110514e1c3 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile updates from Chris Metcalf:
"Note that one of the changes converts my old cmetcalf@tilera.com email
in MAINTAINERS to the cmetcalf@ezchip.com email that you see on this
email"
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
arch/tile: update MAINTAINERS email to EZchip
tile: avoid undefined behavior with regs[TREG_TP] etc
arch: tile: kernel: kgdb.c: Use memcpy() instead of pointer copy one by one
tile: Use the more common pr_warn instead of pr_warning
arch: tile: gxio: Export symbols for module using in 'mpipe.c'
arch: tile: kernel: signal.c: Use __copy_from/to_user() instead of __get/put_user()
Diffstat (limited to 'arch/tile/include')
| -rw-r--r-- | arch/tile/include/asm/io.h | 5 | ||||
| -rw-r--r-- | arch/tile/include/asm/pgtable.h | 4 | ||||
| -rw-r--r-- | arch/tile/include/asm/pgtable_64.h | 2 | ||||
| -rw-r--r-- | arch/tile/include/uapi/asm/ptrace.h | 16 | ||||
| -rw-r--r-- | arch/tile/include/uapi/asm/sigcontext.h | 14 |
5 files changed, 25 insertions, 16 deletions
diff --git a/arch/tile/include/asm/io.h b/arch/tile/include/asm/io.h index d372641054d9..6ef4ecab1df2 100644 --- a/arch/tile/include/asm/io.h +++ b/arch/tile/include/asm/io.h | |||
| @@ -396,8 +396,7 @@ extern void ioport_unmap(void __iomem *addr); | |||
| 396 | static inline long ioport_panic(void) | 396 | static inline long ioport_panic(void) |
| 397 | { | 397 | { |
| 398 | #ifdef __tilegx__ | 398 | #ifdef __tilegx__ |
| 399 | panic("PCI IO space support is disabled. Configure the kernel with" | 399 | panic("PCI IO space support is disabled. Configure the kernel with CONFIG_TILE_PCI_IO to enable it"); |
| 400 | " CONFIG_TILE_PCI_IO to enable it"); | ||
| 401 | #else | 400 | #else |
| 402 | panic("inb/outb and friends do not exist on tile"); | 401 | panic("inb/outb and friends do not exist on tile"); |
| 403 | #endif | 402 | #endif |
| @@ -406,7 +405,7 @@ static inline long ioport_panic(void) | |||
| 406 | 405 | ||
| 407 | static inline void __iomem *ioport_map(unsigned long port, unsigned int len) | 406 | static inline void __iomem *ioport_map(unsigned long port, unsigned int len) |
| 408 | { | 407 | { |
| 409 | pr_info("ioport_map: mapping IO resources is unsupported on tile.\n"); | 408 | pr_info("ioport_map: mapping IO resources is unsupported on tile\n"); |
| 410 | return NULL; | 409 | return NULL; |
| 411 | } | 410 | } |
| 412 | 411 | ||
diff --git a/arch/tile/include/asm/pgtable.h b/arch/tile/include/asm/pgtable.h index 33587f16c152..5d1950788c69 100644 --- a/arch/tile/include/asm/pgtable.h +++ b/arch/tile/include/asm/pgtable.h | |||
| @@ -235,9 +235,9 @@ static inline void __pte_clear(pte_t *ptep) | |||
| 235 | #define pte_donemigrate(x) hv_pte_set_present(hv_pte_clear_migrating(x)) | 235 | #define pte_donemigrate(x) hv_pte_set_present(hv_pte_clear_migrating(x)) |
| 236 | 236 | ||
| 237 | #define pte_ERROR(e) \ | 237 | #define pte_ERROR(e) \ |
| 238 | pr_err("%s:%d: bad pte 0x%016llx.\n", __FILE__, __LINE__, pte_val(e)) | 238 | pr_err("%s:%d: bad pte 0x%016llx\n", __FILE__, __LINE__, pte_val(e)) |
| 239 | #define pgd_ERROR(e) \ | 239 | #define pgd_ERROR(e) \ |
| 240 | pr_err("%s:%d: bad pgd 0x%016llx.\n", __FILE__, __LINE__, pgd_val(e)) | 240 | pr_err("%s:%d: bad pgd 0x%016llx\n", __FILE__, __LINE__, pgd_val(e)) |
| 241 | 241 | ||
| 242 | /* Return PA and protection info for a given kernel VA. */ | 242 | /* Return PA and protection info for a given kernel VA. */ |
| 243 | int va_to_cpa_and_pte(void *va, phys_addr_t *cpa, pte_t *pte); | 243 | int va_to_cpa_and_pte(void *va, phys_addr_t *cpa, pte_t *pte); |
diff --git a/arch/tile/include/asm/pgtable_64.h b/arch/tile/include/asm/pgtable_64.h index 2c8a9cd102d3..e96cec52f6d8 100644 --- a/arch/tile/include/asm/pgtable_64.h +++ b/arch/tile/include/asm/pgtable_64.h | |||
| @@ -86,7 +86,7 @@ static inline int pud_huge_page(pud_t pud) | |||
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | #define pmd_ERROR(e) \ | 88 | #define pmd_ERROR(e) \ |
| 89 | pr_err("%s:%d: bad pmd 0x%016llx.\n", __FILE__, __LINE__, pmd_val(e)) | 89 | pr_err("%s:%d: bad pmd 0x%016llx\n", __FILE__, __LINE__, pmd_val(e)) |
| 90 | 90 | ||
| 91 | static inline void pud_clear(pud_t *pudp) | 91 | static inline void pud_clear(pud_t *pudp) |
| 92 | { | 92 | { |
diff --git a/arch/tile/include/uapi/asm/ptrace.h b/arch/tile/include/uapi/asm/ptrace.h index 7757e1985fb6..d03b829857e8 100644 --- a/arch/tile/include/uapi/asm/ptrace.h +++ b/arch/tile/include/uapi/asm/ptrace.h | |||
| @@ -52,12 +52,16 @@ typedef uint_reg_t pt_reg_t; | |||
| 52 | * system call or exception. "struct sigcontext" has the same shape. | 52 | * system call or exception. "struct sigcontext" has the same shape. |
| 53 | */ | 53 | */ |
| 54 | struct pt_regs { | 54 | struct pt_regs { |
| 55 | /* Saved main processor registers; 56..63 are special. */ | 55 | union { |
| 56 | /* tp, sp, and lr must immediately follow regs[] for aliasing. */ | 56 | /* Saved main processor registers; 56..63 are special. */ |
| 57 | pt_reg_t regs[53]; | 57 | pt_reg_t regs[56]; |
| 58 | pt_reg_t tp; /* aliases regs[TREG_TP] */ | 58 | struct { |
| 59 | pt_reg_t sp; /* aliases regs[TREG_SP] */ | 59 | pt_reg_t __regs[53]; |
| 60 | pt_reg_t lr; /* aliases regs[TREG_LR] */ | 60 | pt_reg_t tp; /* aliases regs[TREG_TP] */ |
| 61 | pt_reg_t sp; /* aliases regs[TREG_SP] */ | ||
| 62 | pt_reg_t lr; /* aliases regs[TREG_LR] */ | ||
| 63 | }; | ||
| 64 | }; | ||
| 61 | 65 | ||
| 62 | /* Saved special registers. */ | 66 | /* Saved special registers. */ |
| 63 | pt_reg_t pc; /* stored in EX_CONTEXT_K_0 */ | 67 | pt_reg_t pc; /* stored in EX_CONTEXT_K_0 */ |
diff --git a/arch/tile/include/uapi/asm/sigcontext.h b/arch/tile/include/uapi/asm/sigcontext.h index 6348e59d3724..39ff5d1a232d 100644 --- a/arch/tile/include/uapi/asm/sigcontext.h +++ b/arch/tile/include/uapi/asm/sigcontext.h | |||
| @@ -24,10 +24,16 @@ | |||
| 24 | * but is simplified since we know the fault is from userspace. | 24 | * but is simplified since we know the fault is from userspace. |
| 25 | */ | 25 | */ |
| 26 | struct sigcontext { | 26 | struct sigcontext { |
| 27 | __uint_reg_t gregs[53]; /* General-purpose registers. */ | 27 | __extension__ union { |
| 28 | __uint_reg_t tp; /* Aliases gregs[TREG_TP]. */ | 28 | /* General-purpose registers. */ |
| 29 | __uint_reg_t sp; /* Aliases gregs[TREG_SP]. */ | 29 | __uint_reg_t gregs[56]; |
| 30 | __uint_reg_t lr; /* Aliases gregs[TREG_LR]. */ | 30 | __extension__ struct { |
| 31 | __uint_reg_t __gregs[53]; | ||
| 32 | __uint_reg_t tp; /* Aliases gregs[TREG_TP]. */ | ||
| 33 | __uint_reg_t sp; /* Aliases gregs[TREG_SP]. */ | ||
| 34 | __uint_reg_t lr; /* Aliases gregs[TREG_LR]. */ | ||
| 35 | }; | ||
| 36 | }; | ||
| 31 | __uint_reg_t pc; /* Program counter. */ | 37 | __uint_reg_t pc; /* Program counter. */ |
| 32 | __uint_reg_t ics; /* In Interrupt Critical Section? */ | 38 | __uint_reg_t ics; /* In Interrupt Critical Section? */ |
| 33 | __uint_reg_t faultnum; /* Fault number. */ | 39 | __uint_reg_t faultnum; /* Fault number. */ |
