dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/arch/powerpc/kernel
Jack Miller f0aae3238f powerpc/book3e: Flush IPROT protected TLB entries leftover by firmware
When we set up the TLB for ourselves on Book3E, we need to flush out any
old mappings established by the firmware or bootloader.  At present we
attempt this with a tlbilx to flush everything, but this will leave behind
any entries with the IPROT bit set.

There are several good reason firmware might establish mappings with IPROT,
and in fact ePAPR compliant firmwares are required to establish their
initial mapped area with IPROT.

This patch, therefore adds more complex code to scan through the TLB upon
entry and flush away any entries that are not our own.

Signed-off-by: Jack Miller <jack@codezen.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-04-27 13:02:16 +10:00
..
vdso32 Fix common misspellings 2011-03-31 11:26:23 -03:00
vdso64 Fix common misspellings 2011-03-31 11:26:23 -03:00
.gitignore
Makefile powerpc: Add A2 cpu support 2011-04-27 13:02:02 +10:00
align.c powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
asm-offsets.c powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
audit.c
btext.c Fix common misspellings 2011-03-31 11:26:23 -03:00
cacheinfo.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cacheinfo.h
clock.c
compat_audit.c
cpu_setup_6xx.S powerpc: Fix some 6xx/7xxx CPU setup functions 2011-02-07 12:57:11 +11:00
cpu_setup_44x.S powerpc/44x: Add support for the AMCC APM821xx SoC 2010-10-13 08:47:09 -04:00
cpu_setup_a2.S powerpc: Add A2 cpu support 2011-04-27 13:02:02 +10:00
cpu_setup_fsl_booke.S rapidio: modify configuration to support PCI-SRIO controller 2011-03-23 19:46:42 -07:00
cpu_setup_pa6t.S
cpu_setup_power7.S powerpc: Initialize TLB and LPID register on HV mode Power7 2011-04-20 11:03:24 +10:00
cpu_setup_ppc970.S
cputable.c powerpc: Add A2 cpu support 2011-04-27 13:02:02 +10:00
crash.c powerpc/kexec: Fix regression causing compile failure on UP 2011-04-18 13:06:45 +10:00
crash_dump.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
dbell.c powerpc/book3e: Resend doorbell exceptions to ourself 2010-07-09 16:11:19 +10:00
dma-iommu.c powerpc/iommu: Use coherent_dma_mask for alloc_coherent 2010-12-09 15:17:50 +11:00
dma-swiotlb.c of: Merge of_platform_bus_type with platform_bus_type 2010-07-24 09:57:51 -06:00
dma.c powerpc: Implement dma_mmap_coherent() 2011-03-30 10:44:00 +11:00
e500-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
entry_32.S powerpc/ppc32/tracing: Add stack frame to calls of trace_hardirqs_on/off 2011-01-21 14:08:33 +11:00
entry_64.S powerpc: In HV mode, use HSPRG0 for PACA 2011-04-20 11:03:22 +10:00
exceptions-64e.S powerpc/book3e: Flush IPROT protected TLB entries leftover by firmware 2011-04-27 13:02:16 +10:00
exceptions-64s.S powerpc: Add NAP mode support on Power7 in HV mode 2011-04-20 11:03:24 +10:00
firmware.c powerpc: Make powerpc_firmware_features __read_mostly 2010-02-09 13:56:07 +11:00
fpu.S powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
fsl_booke_entry_mapping.S powerpc/fsl-booke: Fix address issue when using relocatable kernels 2010-07-11 11:04:08 -05:00
ftrace.c Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:56:46 -07:00
head_8xx.S powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
head_32.S powerpc/smp: soft-replugged CPUs must go back to start_secondary 2011-04-01 15:37:09 +11:00
head_40x.S Fix common misspellings 2011-03-31 11:26:23 -03:00
head_44x.S Fix common misspellings 2011-03-31 11:26:23 -03:00
head_64.S powerpc: Perform an isync to synchronize CPUs coming out of secondary_hold 2011-04-20 11:03:25 +10:00
head_booke.h powerpc/booke: Add Stack Marking support to Booke Exception Prolog 2010-05-05 08:01:52 -04:00
head_fsl_booke.S Fix common misspellings 2011-03-31 11:26:23 -03:00
hw_breakpoint.c powerpc, hw_breakpoint: Tell generic code we have no instruction breakpoints 2010-06-30 13:54:58 +10:00
ibmebus.c PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS 2011-04-11 22:54:42 +02:00
idle.c powerpc: Re-enable preemption before cpu_die() 2010-08-24 15:26:29 +10:00
idle_6xx.S
idle_book3e.S powerpc/book3e: Add generic 64-bit idle powersave support 2010-07-14 14:13:18 +10:00
idle_e500.S
idle_power4.S powerpc/pmac/smp: Properly NAP offlined CPU on G5 2011-04-01 15:37:25 +11:00
idle_power7.S powerpc: Add NAP mode support on Power7 in HV mode 2011-04-20 11:03:24 +10:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
io.c powerpc: tiny memcpy_(to|from)io optimisation 2009-11-04 16:43:12 -07:00
iomap.c
iommu.c powerpc: iommu: Add device name to iommu error printks 2010-12-09 15:35:32 +11:00
irq.c powerpc: Index crit/dbg/mcheck stacks using cpu number on 64bit 2011-04-27 13:02:12 +10:00
isa-bridge.c
kgdb.c kgdb,ppc: Fix regression in evr register handling 2010-11-17 13:54:58 -06:00
kprobes.c powerpc/kprobes: Remove resume_execution() in kprobes 2010-06-02 17:50:37 +10:00
kvm.c PPC: KVM: Book E doesn't have __end_interrupts. 2010-11-05 14:42:27 -02:00
kvm_emul.S KVM: PPC: Make PV mtmsrd L=1 work with r30 and r31 2010-10-24 10:52:14 +02:00
l2cr_6xx.S Fix common misspellings 2011-03-31 11:26:23 -03:00
legacy_serial.c powerpc: Check device status before adding serial device 2011-04-12 06:29:21 -05:00
lparcfg.c Fix common misspellings 2011-03-31 11:26:23 -03:00
machine_kexec.c powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
machine_kexec_32.c powerpc/kexec: make masking/disabling interrupts generic 2010-10-14 00:52:46 -05:00
machine_kexec_64.c powerpc/kexec: Fix orphaned offline CPUs across kexec 2010-07-31 15:05:22 +10:00
misc.S powerpc: Remove unneeded cpu_setup/restore from POWER7 cputable entry 2010-11-29 15:48:22 +11:00
misc_32.S powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
misc_64.S powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
module.c powerpc: remove unused variable 2010-10-05 17:27:54 -07:00
module_32.c
module_64.c
mpc7450-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
msi.c
nvram_64.c powerpc/nvram: Generalize code for OS partitions in NVRAM 2011-03-04 18:19:04 +11:00
of_platform.c dt/powerpc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
paca.c powerpc: In HV mode, use HSPRG0 for PACA 2011-04-20 11:03:22 +10:00
pci-common.c powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
pci_32.c powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controller 2011-02-04 11:46:51 -07:00
pci_64.c powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controller 2011-02-04 11:46:51 -07:00
pci_dn.c powerpc/pci: Fix crash in PCI code on ppc64 when matching device nodes 2011-03-21 10:57:57 +11:00
pci_of_scan.c powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controller 2011-02-04 11:46:51 -07:00
perf_callchain.c perf: Factorize callchain context handling 2010-08-19 01:32:11 +02:00
perf_event.c powerpc/perf_event: Skip updating kernel counters if register value shrinks 2011-04-18 13:08:23 +10:00
perf_event_fsl_emb.c powerpc, perf: Fix frequency calculation for overflowing counters (FSL version) 2011-01-19 20:05:42 +01:00
pmc.c powerpc: Convert pmc_owner_lock to raw_spinlock 2010-02-19 14:52:33 +11:00
power4-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
power5+-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
power5-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
power6-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
power7-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
ppc32.h
ppc970-pmu.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
ppc_ksyms.c powerpc: Add support for popcnt instructions 2010-11-29 15:48:17 +11:00
ppc_save_regs.S Fix common misspellings 2011-03-31 11:26:23 -03:00
proc_powerpc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
process.c mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
prom.c powerpc: Properly handshake CPUs going out of boot spin loop 2011-04-20 11:03:24 +10:00
prom_init.c powerpc: Improve prom_printf() 2011-04-20 11:03:25 +10:00
prom_init_check.sh powerpc: Fix compile errors in prom_init_check for gcc 4.5 2010-07-08 18:11:39 +10:00
prom_parse.c of/pci: move of_irq_map_pci() into generic code 2011-02-04 11:46:50 -07:00
ptrace.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ptrace32.c powerpc: Update compat_arch_ptrace 2010-12-09 15:35:32 +11:00
reloc_64.S
rtas-proc.c powerpc: Move /proc/ppc64 to /proc/powerpc update 2010-01-15 13:26:17 +11:00
rtas-rtc.c
rtas.c powerpc: Disable VPHN polling during a suspend operation 2010-12-09 15:36:30 +11:00
rtas_flash.c powerpc/rtas_flash: Use simple_read_from_buffer 2011-01-21 14:08:34 +11:00
rtas_pci.c powerpc/pci: Clean up direct access to sysdata by RTAS 2009-05-21 15:44:23 +10:00
rtasd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
setup-common.c powerpc: Set nr_cpu_ids early and use it to free PACAs 2011-04-05 16:22:11 +10:00
setup.h
setup_32.c powerpc: Properly handshake CPUs going out of boot spin loop 2011-04-20 11:03:24 +10:00
setup_64.c powerpc: Properly handshake CPUs going out of boot spin loop 2011-04-20 11:03:24 +10:00
signal.c powerpc: fix double syscall restarts 2010-09-22 09:33:50 -07:00
signal.h
signal_32.c powerpc: fix double syscall restarts 2010-09-22 09:33:50 -07:00
signal_64.c powerpc: fix double syscall restarts 2010-09-22 09:33:50 -07:00
smp-tbsync.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
smp.c powerpc/smp: smp_ops->kick_cpu() should be able to fail 2011-04-20 17:01:18 +10:00
softemu8xx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
stacktrace.c
suspend.c update email address 2010-07-19 10:56:54 +02:00
swsusp.c
swsusp_32.S Fix common misspellings 2011-03-31 11:26:23 -03:00
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S powerpc/fsl-booke: Add hibernation support for FSL BookE processors 2010-05-21 07:41:53 -05:00
sys_ppc32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
syscalls.c Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
sysfs.c powerpc: Use smt_snooze_delay=-1 to always busy loop 2010-05-21 17:31:12 +10:00
systbl.S
systbl_chk.c
systbl_chk.sh
tau_6xx.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
time.c powerpc: Fix oops if scan_dispatch_log is called too early 2011-04-18 13:08:19 +10:00
traps.c Fix common misspellings 2011-03-31 11:26:23 -03:00
udbg.c powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
udbg_16550.c Fix common misspellings 2011-03-31 11:26:23 -03:00
vdso.c mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm 2011-03-23 16:36:55 -04:00
vecemu.c
vector.S powerpc: Remove second definition of STACK_FRAME_OVERHEAD 2010-11-29 15:48:23 +11:00
vio.c powerpc/iommu: Use coherent_dma_mask for alloc_coherent 2010-12-09 15:17:50 +11:00
vmlinux.lds.S percpu: align percpu readmostly subsection to cacheline 2011-01-25 14:26:50 +01:00