diff options
Diffstat (limited to 'arch/powerpc/include')
| -rw-r--r-- | arch/powerpc/include/asm/io.h | 20 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc-opcode.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ptrace.h | 1 | 
3 files changed, 10 insertions, 13 deletions
diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index 3ef40b703c4a..e746becd9d6f 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h @@ -268,19 +268,13 @@ extern void _memcpy_toio(volatile void __iomem *dest, const void *src,   * their hooks, a bitfield is reserved for use by the platform near the   * top of MMIO addresses (not PIO, those have to cope the hard way).   * - * This bit field is 12 bits and is at the top of the IO virtual - * addresses PCI_IO_INDIRECT_TOKEN_MASK. + * The highest address in the kernel virtual space are:   * - * The kernel virtual space is thus: + *  d0003fffffffffff	# with Hash MMU + *  c00fffffffffffff	# with Radix MMU   * - *  0xD000000000000000		: vmalloc - *  0xD000080000000000		: PCI PHB IO space - *  0xD000080080000000		: ioremap - *  0xD0000fffffffffff		: end of ioremap region - * - * Since the top 4 bits are reserved as the region ID, we use thus - * the next 12 bits and keep 4 bits available for the future if the - * virtual address space is ever to be extended. + * The top 4 bits are reserved as the region ID on hash, leaving us 8 bits + * that can be used for the field.   *   * The direct IO mapping operations will then mask off those bits   * before doing the actual access, though that only happen when @@ -292,8 +286,8 @@ extern void _memcpy_toio(volatile void __iomem *dest, const void *src,   */  #ifdef CONFIG_PPC_INDIRECT_MMIO -#define PCI_IO_IND_TOKEN_MASK	0x0fff000000000000ul -#define PCI_IO_IND_TOKEN_SHIFT	48 +#define PCI_IO_IND_TOKEN_SHIFT	52 +#define PCI_IO_IND_TOKEN_MASK	(0xfful << PCI_IO_IND_TOKEN_SHIFT)  #define PCI_FIX_ADDR(addr)						\  	((PCI_IO_ADDR)(((unsigned long)(addr)) & ~PCI_IO_IND_TOKEN_MASK))  #define PCI_GET_ADDR_TOKEN(addr)					\ diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h index 6093bc8f74e5..a6e9e314c707 100644 --- a/arch/powerpc/include/asm/ppc-opcode.h +++ b/arch/powerpc/include/asm/ppc-opcode.h @@ -493,6 +493,8 @@  					__PPC_RS(t) | __PPC_RA0(a) | __PPC_RB(b))  #define PPC_SLBFEE_DOT(t, b)	stringify_in_c(.long PPC_INST_SLBFEE | \  					__PPC_RT(t) | __PPC_RB(b)) +#define __PPC_SLBFEE_DOT(t, b)	stringify_in_c(.long PPC_INST_SLBFEE |	\ +					       ___PPC_RT(t) | ___PPC_RB(b))  #define PPC_ICBT(c,a,b)		stringify_in_c(.long PPC_INST_ICBT | \  				       __PPC_CT(c) | __PPC_RA0(a) | __PPC_RB(b))  /* PASemi instructions */ diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index f73886a1a7f5..0b8a735b6d85 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h @@ -54,6 +54,7 @@ struct pt_regs  #ifdef CONFIG_PPC64  	unsigned long ppr; +	unsigned long __pad;	/* Maintain 16 byte interrupt stack alignment */  #endif  };  #endif  | 
