linux/arch/powerpc/include/asm
Paul Gortmaker 92437d4137 powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT
There exists a four line chunk of code, which when configured for
64 bit address space, can incorrectly set certain page flags during
the TLB creation.  It turns out that this is code which isn't used,
but might still serve a purpose.  Since it isn't obvious why it exists
or why it causes problems, the below description covers both in detail.

For powerpc bootstrap, the physical memory (at most 768M), is mapped
into the kernel space via the following path:

MMU_init()
    |
    + adjust_total_lowmem()
            |
            + map_mem_in_cams()
                    |
                    + settlbcam(i, virt, phys, cam_sz, PAGE_KERNEL_X, 0);

On settlbcam(), the kernel will create TLB entries according to the flag,
PAGE_KERNEL_X.

settlbcam()
{
        ...
        TLBCAM[index].MAS1 = MAS1_VALID
                        | MAS1_IPROT | MAS1_TSIZE(tsize) | MAS1_TID(pid);
                                ^
			These entries cannot be invalidated by the
			kernel since MAS1_IPROT is set on TLB property.
        ...
        if (flags & _PAGE_USER) {
           TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
           TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
        }

For classic BookE (flags & _PAGE_USER) is 'zero' so it's fine.
But on boards like the the Freescale P4080, we want to support 36-bit
physical address on it. So the following options may be set:

CONFIG_FSL_BOOKE=y
CONFIG_PTE_64BIT=y
CONFIG_PHYS_64BIT=y

As a result, boards like the P4080 will introduce PTE format as Book3E.
As per the file: arch/powerpc/include/asm/pgtable-ppc32.h

  * #elif defined(CONFIG_FSL_BOOKE) && defined(CONFIG_PTE_64BIT)
  * #include <asm/pte-book3e.h>

So PAGE_KERNEL_X is __pgprot(_PAGE_BASE | _PAGE_KERNEL_RWX) and the
book3E version of _PAGE_KERNEL_RWX is defined with:

  (_PAGE_BAP_SW | _PAGE_BAP_SR | _PAGE_DIRTY | _PAGE_BAP_SX)

Note the _PAGE_BAP_SR, which is also defined in the book3E _PAGE_USER:

  #define _PAGE_USER        (_PAGE_BAP_UR | _PAGE_BAP_SR) /* Can be read */

So the possibility exists to wrongly assign the user MAS3_U<RWX> bits
to kernel (PAGE_KERNEL_X) address space via the following code fragment:

        if (flags & _PAGE_USER) {
           TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
           TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
        }

Here is a dump of the TLB info from Simics with the above code present:
------
L2 TLB1
                                            GT                   SSS UUU V I
 Row  Logical           Physical            SS TLPID  TID  WIMGE XWR XWR F P   V
----- ----------------- ------------------- -- ----- ----- ----- --- --- - -   -
  0   c0000000-cfffffff 000000000-00fffffff 00     0     0   M   XWR XWR 0 1   1
  1   d0000000-dfffffff 010000000-01fffffff 00     0     0   M   XWR XWR 0 1   1
  2   e0000000-efffffff 020000000-02fffffff 00     0     0   M   XWR XWR 0 1   1

Actually this conditional code was used for two legacy functions:

  1: support KGDB to set break point.
     KGDB already dropped this; now uses its core write to set break point.

  2: io_block_mapping() to create TLB in segmentation size (not PAGE_SIZE)
     for device IO space.
     This use case is also removed from the latest PowerPC kernel.

However, there may still be a use case for it in the future, like
large user pages, so we can't remove it entirely.  As an alternative,
we match on all bits of _PAGE_USER instead of just any bits, so the
case where just _PAGE_BAP_SR is set can't sneak through.

With this done, the TLB appears without U having XWR as below:

-------
L2 TLB1
                                            GT                   SSS UUU V I
 Row  Logical           Physical            SS TLPID  TID  WIMGE XWR XWR F P   V
----- ----------------- ------------------- -- ----- ----- ----- --- --- - -   -
  0   c0000000-cfffffff 000000000-00fffffff 00     0     0   M   XWR     0 1   1
  1   d0000000-dfffffff 010000000-01fffffff 00     0     0   M   XWR     0 1   1
  2   e0000000-efffffff 020000000-02fffffff 00     0     0   M   XWR     0 1   1

Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-10-14 00:52:55 -05:00
..
iseries powerpc/iseries: Fix pci breakage due to bad dma_data initialization 2009-05-15 16:43:41 +10:00
8xx_immap.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
8253pit.h time: move PIT_TICK_RATE to linux/timex.h 2009-06-16 19:47:27 -07:00
abs_addr.h Merge commit 'gcl/next' into next 2010-08-04 10:26:03 +10:00
agp.h agp: kill phys_to_gart() and gart_to_phys() 2009-08-03 09:05:00 +01:00
asm-compat.h powerpc: Emulate most Book I instructions in emulate_step() 2010-06-22 19:40:29 +10:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
async_tx.h ppc440spe-adma: adds updated ppc440spe adma driver 2009-12-11 21:24:44 -07:00
atomic.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
auxvec.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
backlight.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
bitops.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bootx.h powerpc: Fix warnings from make headers_check 2009-02-23 10:48:57 +11:00
btext.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
cell-pmu.h powerpc/oprofile: IBM CELL: add SPU event profiling support 2009-01-08 15:51:55 +01:00
cell-regs.h powerpc/cell: Move CBE_IOPTE_* to <asm/cell-regs.h> 2009-08-20 10:29:26 +10:00
checksum.h powerpc: Add 64bit csum_and_copy_to_user 2010-09-02 14:07:30 +10:00
clk_interface.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
code-patching.h powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
compat.h Merge remote branch 'kumar/merge' into next 2010-10-13 16:18:36 +11:00
cpm1.h powerpc/cpm1: Mark micropatch code/data static and __init 2010-07-11 11:04:06 -05:00
cpm2.h powerpc/cpm: Move CPMFCR_* defines into cpm.h 2009-11-11 21:43:19 -06:00
cpm.h powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) 2010-07-11 11:03:22 -05:00
cputable.h powerpc: Feature nop out reservation clear when stcx checks address 2010-09-02 14:07:30 +10:00
cputhreads.h powerpc/mm: Add HW threads support to no_hash TLB management 2009-08-20 10:12:37 +10:00
cputime.h powerpc: Replace per_cpu(, smp_processor_id()) with __get_cpu_var() 2010-02-03 17:39:48 +11:00
current.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
dbdma.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
dbell.h powerpc/book3e: Resend doorbell exceptions to ourself 2010-07-09 16:11:19 +10:00
dcr-generic.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
dcr-mmio.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
dcr-native.h powerpc/4xx: Extended DCR support v2 2008-12-21 14:21:15 +11:00
dcr-regs.h ppc440spe-adma: adds updated ppc440spe adma driver 2009-12-11 21:24:44 -07:00
dcr.h powerpc: Const-qualify Device Node Argument to DCR Resource Extent API 2008-12-21 14:21:16 +11:00
delay.h powerpc: Fix spin_event_timeout() to be robust over context switches 2009-07-08 13:50:24 +10:00
device.h arch/powerpc: Move dma_mask from of_device into pdev_archdata 2010-05-22 00:10:40 -06:00
disassemble.h ppc: Create disassemble.h to extract instruction fields 2008-12-31 16:52:21 +02:00
div64.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
dma-mapping.h powerpc/dma: Add optional platform override of dma_set_mask() 2010-09-02 14:07:32 +10:00
dma.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
edac.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
eeh_event.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
eeh.h powerpc/pci: Split pcibios_fixup_bus() into bus setup and device setup 2008-11-06 09:22:37 +11:00
elf.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
emergency-restart.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
emulated_ops.h powerpc: perf_event: Add alignment-faults and emulation-faults software events 2009-10-28 16:13:03 +11:00
errno.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
exception-64e.h powerpc/book3e-64: Add helper function to setup IVORs 2009-08-28 14:24:13 +10:00
exception-64s.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
fb.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
fcntl.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
feature-fixups.h powerpc: Fix lwsync feature fixup vs. modules on 64-bit 2010-02-26 18:29:17 +11:00
firmware.h powerpc: Fix hypervisor TLB batching 2009-10-14 16:58:37 +11:00
fixmap.h powerpc: reserve fixmap entries for early debug 2009-12-12 22:24:30 -07:00
floppy.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
fs_pd.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
fsl_gtm.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
fsl_lbc.h powerpc/fsl: Increase the number of possible localbus banks 2009-06-15 21:45:32 -05:00
fsldma.h arch/powerpc/include/asm/fsldma.h needs slab.h 2010-09-09 18:57:24 -07:00
ftrace.h powerpc32, ftrace: save and restore mcount regs with macro 2009-02-23 10:48:54 +11:00
futex.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
gpio.h powerpc/gpio: support gpio_to_irq() 2009-12-10 20:08:15 -06:00
grackle.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
hardirq.h powerpc: Convert global "BAD" interrupt to per cpu spurious 2010-02-17 14:02:49 +11:00
heathrow.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
highmem.h kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
hugetlb.h powerpc/mm: Bring hugepage PTE accessor functions back into sync with normal accessors 2009-10-30 17:21:23 +11:00
hvcall.h powerpc/pseries: Migration code reorganization / hibernation prep 2010-07-09 11:26:17 +10:00
hvconsole.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
hvcserver.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
hw_breakpoint.h powerpc, hw_breakpoint: Tell generic code we have no instruction breakpoints 2010-06-30 13:54:58 +10:00
hw_irq.h powerpc/perf_event: Fix oops due to perf_event_do_pending call 2010-05-12 14:34:00 +10:00
hydra.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
i8259.h powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
ibmebus.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ide.h cleanup powerpc/include/asm/ide.h 2008-08-18 21:40:03 +02:00
immap_86xx.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
immap_cpm2.h powerpc/qe&cpm2: Avoid redefinitions in CPM2 and QE headers 2009-11-11 21:43:18 -06:00
immap_qe.h powerpc/qe&cpm2: Avoid redefinitions in CPM2 and QE headers 2009-11-11 21:43:18 -06:00
io-defs.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
io.h powerpc: Wire up /proc/vmallocinfo to our ioremap() 2009-03-11 17:10:14 +11:00
ioctl.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ioctls.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
iommu.h powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
ipcbuf.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ipic.h powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
irq_regs.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
irq.h Merge commit 'v2.6.35-rc6' into devicetree/next 2010-07-24 09:49:13 -06:00
irqflags.h powerpc: Fix lockdep IRQ tracing bug 2008-08-18 14:22:34 +10:00
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kdebug.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
kdump.h powerpc: Move kdump default base address to 64MB on 64bit 2010-06-15 15:02:32 +10:00
kexec.h powerpc/kexec: make masking/disabling interrupts generic 2010-10-14 00:52:46 -05:00
keylargo.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
kgdb.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
kmap_types.h kdb: core for kgdb back end (2 of 2) 2010-05-20 21:04:21 -05:00
kprobes.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
kvm_44x.h KVM: ppc: move struct kvmppc_44x_tlbe into 44x-specific header 2009-03-24 11:02:55 +02:00
kvm_asm.h KVM: PPC: Enable native paired singles 2010-05-17 12:19:08 +03:00
kvm_book3s_32.h KVM: PPC: Add kvm_book3s_32.h 2010-05-17 12:18:23 +03:00
kvm_book3s_64.h KVM: PPC: Add kvm_book3s_64.h 2010-05-17 12:18:21 +03:00
kvm_book3s_asm.h KVM: PPC: Use KVM_BOOK3S_HANDLER 2010-05-17 12:18:28 +03:00
kvm_book3s.h KVM: PPC: Make use of hash based Shadow MMU 2010-08-01 10:47:28 +03:00
kvm_booke.h KVM: PPC: Improve indirect svcpu accessors 2010-05-17 12:18:26 +03:00
kvm_e500.h KVM: PPC E500: fix tlbcfg emulation 2010-03-01 12:36:06 -03:00
kvm_fpu.h powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
kvm_host.h KVM: Remove unnecessary divide operations 2010-08-01 10:47:30 +03:00
kvm_para.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
kvm_ppc.h KVM: PPC: Extract MMU init 2010-05-17 12:18:34 +03:00
kvm.h KVM: PPC: Allow userspace to unset the IRQ line 2010-05-17 12:16:51 +03:00
libata-portmap.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
linkage.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
lppaca.h powerpc/pseries: Re-enable dispatch trace log userspace interface 2010-09-02 14:07:32 +10:00
lv1call.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
machdep.h powerpc/dma: Add optional platform override of dma_set_mask() 2010-09-02 14:07:32 +10:00
macio.h of/device: Replace of_device with platform_device in includes and core code 2010-07-24 09:58:21 -06:00
mc146818rtc.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
mediabay.h powerpc/macio: Rework hotplug media bay support 2009-12-09 17:09:14 +11:00
memblock.h lmb: rename to memblock 2010-07-14 17:14:00 +10:00
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu_context.h PPC: Split context init/destroy functions 2010-05-17 12:18:20 +03:00
mmu-8xx.h powerpc: Add TLB management code for 64-bit Book3E 2009-08-20 10:25:09 +10:00
mmu-40x.h powerpc: Add TLB management code for 64-bit Book3E 2009-08-20 10:25:09 +10:00
mmu-44x.h powerpc/47x: Base ppc476 support 2010-05-05 09:11:10 -04:00
mmu-book3e.h powerpc/book3e: Adjust the page sizes list based on MMU config 2010-07-14 14:13:53 +10:00
mmu-hash32.h powerpc: Name xpn & x fields in HW Hash PTE format 2009-08-28 14:24:12 +10:00
mmu-hash64.h powerpc/mm: Fix vsid_scrample typo 2010-08-24 15:26:27 +10:00
mmu.h powerpc/47x: Base ppc476 support 2010-05-05 09:11:10 -04:00
mmzone.h powerpc/cpumask: Convert NUMA code to new cpumask API 2010-05-06 17:41:58 +10:00
module.h module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y 2009-12-15 16:28:34 +10:30
mpc5xxx.h powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function 2009-06-17 00:30:22 -06:00
mpc6xx.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
mpc8xx.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
mpc52xx_psc.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc52xx.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc5121.h powerpc/5121: shared DIU framebuffer support 2010-08-01 17:06:44 -06:00
mpc8260.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
mpic.h powerpc/cpumask: Convert mpic driver to new cpumask API 2010-05-06 18:01:46 +10:00
msgbuf.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
msi_bitmap.h powerpc: Split-out common MSI bitmap logic into msi_bitmap.c 2008-08-20 16:34:57 +10:00
mutex.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
nvram.h powerpc/nvram_64: Remove unused code 2009-10-30 17:21:28 +11:00
ohare.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
oprofile_impl.h powerpc/oprofile: IBM CELL: add SPU event profiling support 2009-01-08 15:51:55 +01:00
paca.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
page_32.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
page_64.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
page.h powerpc/fsl-booke: Fix CONFIG_RELOCATABLE support on FSL Book-E ppc32 2010-04-26 17:54:15 -05:00
param.h powerpc: Simplify param.h by including <asm-generic/param.h> 2010-02-03 17:39:48 +11:00
parport.h powerpc: Correct parport interrupt parsing 2010-05-06 16:49:26 +10:00
pasemi_dma.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
pci-bridge.h of/address: merge of_address_to_resource() 2010-07-05 16:14:26 -06:00
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
percpu.h powerpc: Optimise per cpu accesses on 64bit 2010-07-09 11:28:30 +10:00
perf_event_fsl_emb.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
perf_event_server.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
perf_event.h perf: Drop the skip argument from perf_arch_fetch_regs_caller 2010-06-08 23:31:27 +02:00
pgalloc-32.h powerpc/mm: Cleanup management of kmem_caches for pagetables 2009-10-30 17:20:57 +11:00
pgalloc-64.h powerpc/mm: Track backing pages allocated by vmemmap_populate() 2010-05-06 16:49:27 +10:00
pgalloc.h powerpc/mm: Cleanup management of kmem_caches for pagetables 2009-10-30 17:20:57 +11:00
pgtable-ppc32.h powerpc/ppc32: Fixup pmd_page to work when ARCH_PFN_OFFSET is non-zero 2010-04-07 18:00:30 +10:00
pgtable-ppc64-4k.h powerpc/mm: Split the various pgtable-* headers based on MMU type 2009-03-20 15:56:57 +11:00
pgtable-ppc64-64k.h powerpc/mm: Fix misplaced #endif in pgtable-ppc64-64k.h 2009-08-20 10:12:35 +10:00
pgtable-ppc64.h powerpc/mm: Allow more flexible layouts for hugepage pagetables 2009-10-30 17:20:58 +11:00
pgtable.h MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
phyp_dump.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
pmac_feature.h powerpc: Convert feature_lock to raw_spinlock 2010-02-19 14:52:32 +11:00
pmac_low_i2c.h i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus 2009-12-06 17:06:19 +01:00
pmac_pfunc.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
pmc.h powerpc/pmc: Don't access lppaca on Book3E 2009-09-24 15:31:39 +10:00
pmi.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
poll.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
posix_types.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ppc4xx.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ppc_asm.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
ppc-opcode.h powerpc: Emulate most Book I instructions in emulate_step() 2010-06-22 19:40:29 +10:00
ppc-pci.h powerpc/pci: Fix return type of BUID_{HI,LO} macros 2010-10-13 16:19:20 +11:00
processor.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
prom.h of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
ps3.h ps3: Replace direct file operations by callback 2009-06-15 16:47:26 +10:00
ps3av.h powerpc/ps3: Make ps3av_set_video_mode mode ID signed 2009-03-11 17:10:17 +11:00
ps3fb.h powerpc: Remove duplicated #include's 2009-04-07 15:18:58 +10:00
ps3gpu.h ps3fb: Tear down FB setup during cleanup 2009-06-15 13:26:21 +10:00
ps3stor.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
pSeries_reconfig.h powerpc/pseries: Kernel DLPAR Infrastructure 2009-12-09 17:09:32 +11:00
pte-8xx.h powerpc/8xx: Restore _PAGE_WRITETHRU 2009-12-09 17:10:37 +11:00
pte-40x.h powerpc/mm: Fix 40x and 8xx vs. _PAGE_SPECIAL 2009-09-24 15:31:49 +10:00
pte-44x.h powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
pte-book3e.h powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT 2009-09-02 16:20:41 +10:00
pte-common.h powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT 2010-10-14 00:52:55 -05:00
pte-fsl-booke.h powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT 2009-09-02 16:20:41 +10:00
pte-hash32.h powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
pte-hash64-4k.h powerpc/mm: Tweak PTE bit combination definitions 2009-03-24 13:47:33 +11:00
pte-hash64-64k.h powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT 2009-12-08 15:59:33 +11:00
pte-hash64.h powerpc/mm: Add option for non-atomic PTE updates to ppc64 2009-03-24 13:47:34 +11:00
ptrace.h powerpc: Fix userspace build of ptrace.h 2010-07-08 18:11:46 +10:00
qe_ic.h powerpc/qe: Fix few build errors with CONFIG_QUICC_ENGINE=n 2008-12-30 11:14:06 -06:00
qe.h powerpc/qe&cpm: Implement static inline stubs for non-QE/CPM builds 2009-11-11 21:43:20 -06:00
reg_8xx.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
reg_booke.h powerpc/book3e: Adjust the page sizes list based on MMU config 2010-07-14 14:13:53 +10:00
reg_fsl_emb.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
reg.h powerpc: Inline ppc64_runlatch_off 2010-08-24 15:26:30 +10:00
resource.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
rheap.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
rio.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
rtas.h powerpc/pseries: Export rtas_ibm_suspend_me() 2010-10-13 16:19:02 +11:00
rtc.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
rwsem.h powerpc: Make rwsem use "long" type 2010-08-24 14:41:48 +10:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h x86-64: seccomp: fix 32/64 syscall hole 2009-03-02 15:41:30 -08:00
sections.h Merge commit 'origin' 2008-10-15 11:31:54 +11:00
sembuf.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
serial.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
setjmp.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
setup.h powerpc: derive COMMAND_LINE_SIZE from asm-generic 2009-08-28 14:24:16 +10:00
sfp-machine.h Revert "endian: #define __BYTE_ORDER" 2010-05-26 08:30:15 -07:00
shmbuf.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
shmparam.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
sigcontext.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
siginfo.h signals: demultiplexing SIGTRAP signal 2008-09-23 13:26:52 +02:00
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
smp.h powerpc/cpumask: Dynamically allocate cpu_sibling_map and cpu_core_map cpumasks 2010-05-06 17:41:56 +10:00
smu.h of: kill struct of_device 2010-06-28 12:41:33 -07:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
sparsemem.h Revert "powerpc/mm: Bump SECTION_SIZE_BITS from 16MB to 256MB" 2010-04-13 13:54:39 +10:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
spu_csa.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
spu_info.h powerpc: Fix warnings from make headers_check 2009-02-23 10:48:57 +11:00
spu_priv1.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
spu.h powerpc/cell: Bitops work on unsigned longs 2009-01-08 16:25:12 +11:00
sstep.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
stat.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
statfs.h PowerPC: Use <asm-generic/statfs.h> 2008-09-06 19:30:15 +01:00
string.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
suspend.h pm: cleanup includes 2009-04-01 08:59:16 -07:00
swab.h powerpc: Fix warnings from make headers_check 2009-02-23 10:48:57 +11:00
swiotlb.h powerpc: use dma_map_ops struct 2009-08-28 14:24:10 +10:00
synch.h powerpc: Use lwsync for acquire barrier if CPU supports it 2010-02-17 14:03:16 +11:00
syscall.h powerpc: Use correct ccr bit for syscall error status 2010-03-19 16:38:16 +11:00
syscalls.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
systbl.h powerpc: Wire up direct socket system calls 2010-09-02 14:07:34 +10:00
system.h powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
tce.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
thread_info.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
time.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
timex.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
tlb.h powerpc/mm: Rework & cleanup page table freeing code path 2009-08-20 10:24:56 +10:00
tlbflush.h powerpc/mm: Make low level TLB flush ops on BookE take additional args 2009-08-20 10:12:41 +10:00
topology.h Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
trace.h powerpc: tracing: Give hypervisor call tracepoints access to arguments 2009-10-28 16:13:04 +11:00
tsi108_irq.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
tsi108_pci.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
tsi108.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
types.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
uaccess.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ucc_fast.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ucc_slow.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ucc.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
ucontext.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
udbg.h powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
uic.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
unaligned.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
uninorth.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
unistd.h powerpc: Wire up direct socket system calls 2010-09-02 14:07:34 +10:00
user.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
vdso_datapage.h powerpc: Rework VDSO gettimeofday to prevent time going backwards 2010-07-09 11:26:16 +10:00
vdso.h powerpc: Move 64bit VDSO to improve context switch performance 2009-08-20 10:12:24 +10:00
vga.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
vio.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
xilinx_intc.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
xilinx_pci.h powerpc/virtex: Add support for Xilinx PCI host bridge 2009-06-06 10:14:22 -06:00
xmon.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00
xor.h powerpc: Move include files to arch/powerpc/include/asm 2008-08-04 12:02:00 +10:00