2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 21:54:06 +08:00
linux-next/arch/powerpc/kernel
Kumar Gala b41d6fee37 powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates
The implemetation of _tlbil_pid() on Freescale Book-E cores needs
an msync & isync after we flash invalidate the TLBs.  This was causing
the following oops reported by Sebastian Andrzej Siewior:

  VFS: Mounted root (nfs filesystem) readonly.
  Freeing unused kernel memory: 148k init
  BUG: sleeping function called from invalid context at /home/bigeasy/git/linux-2.6-powerpc/mm/mmap.c:234
  in_atomic():1, irqs_disabled():0
  Call Trace:
  [df189df0] [c0007160] show_stack+0x48/0x148 (unreliable)
  [df189e30] [c0029480] __might_sleep+0xf0/0x100
  [df189e40] [c0070ac0] remove_vma+0x28/0x98
  [df189e50] [c0070c1c] exit_mmap+0xec/0x128
  [df189e80] [c002d2f4] mmput+0x54/0xec
  [df189ea0] [c0030b6c] exit_mm+0x10c/0x120
  [df189ed0] [c003288c] do_exit+0x1ac/0x6e8
  [df189f20] [c0032e48] do_group_exit+0x80/0xac
  [df189f40] [c000e9dc] ret_from_syscall+0x0/0x3c
  BUG: scheduling while atomic: udevd/956/0x10000002
  Modules linked in:
  Call Trace:
  [df189df0] [c0007160] show_stack+0x48/0x148 (unreliable)
  [df189e30] [c002ac88] __schedule_bug+0x58/0x6c
  [df189e40] [c023e6cc] schedule+0xa8/0x4a8
  [df189e90] [c002ad6c] __cond_resched+0x38/0x64
  [df189ea0] [c023ebc8] _cond_resched+0x3c/0x58
  [df189eb0] [c0030e70] put_files_struct+0x90/0xec
  [df189ed0] [c00328a8] do_exit+0x1c8/0x6e8
  [df189f20] [c0032e48] do_group_exit+0x80/0xac
  [df189f40] [c000e9dc] ret_from_syscall+0x0/0x3c

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-11-08 12:38:55 -06:00
..
vdso32 powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
vdso64 powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
.gitignore powerpc: Ignore generated vmlinux.lds in git 2008-10-07 14:26:18 +11:00
align.c powerpc: Fix uninitialised variable in VSX alignment code 2008-09-03 20:53:14 +10:00
asm-offsets.c Merge branch 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm 2008-10-16 15:36:00 -07:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
btext.c powerpc: Use the common ascii hex helpers 2008-08-20 16:34:57 +10:00
clock.c [POWERPC] clk.h interface for platforms 2007-10-03 09:11:56 +10:00
compat_audit.c [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
cpu_setup_6xx.S [POWERPC] ppc32: Fix errata for 603 CPUs 2008-04-21 15:00:32 -05:00
cpu_setup_44x.S powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
cpu_setup_pa6t.S [POWERPC] pasemi: Enable one more hid bit 2007-04-24 21:31:49 +10:00
cpu_setup_ppc970.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
cputable.c powerpc/40x: Add AMCC PowerPC 405EZ to cputable 2008-10-17 10:31:18 -04:00
crash_dump.c powerpc: Support for relocatable kdump kernel 2008-10-22 15:01:22 +11:00
crash.c powerpc: Increase CRASH_HANDLER_MAX 2008-06-30 22:31:00 +10:00
dma-iommu.c powerpc: Update remaining dma_mapping_ops to use map/unmap_page 2008-10-31 16:13:48 +11:00
dma.c powerpc: Fix DMA offset for non-coherent DMA 2008-10-14 10:35:26 +11:00
entry_32.S ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
entry_64.S ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
firmware.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fpu.S powerpc: Add VSX context save/restore, ptrace and signal support 2008-07-01 11:28:50 +10:00
ftrace.c ftrace, powerpc, sparc64, x86: remove notrace from arch ftrace file 2008-10-23 16:00:25 +02:00
head_8xx.S [POWERPC] 8xx: fix swap 2008-03-07 08:42:28 -06:00
head_32.S powerpc: Fix 32-bit SMP boot on CHRP 2008-10-15 10:13:29 +11:00
head_40x.S [POWERPC] 40x/Book-E: Save/restore volatile exception registers 2008-06-02 14:56:35 -05:00
head_44x.S powerpc: rework 4xx PTE access and TLB miss 2008-07-09 13:36:17 -04:00
head_64.S powerpc/ppc64/kdump: Better flag for running relocatable 2008-10-31 16:11:49 +11:00
head_booke.h powerpc: rework 4xx PTE access and TLB miss 2008-07-09 13:36:17 -04:00
head_fsl_booke.S powerpc: remove non-dependent load fsl_booke PTE_64BIT 2008-10-13 11:09:59 -05:00
ibmebus.c powerpc: Update remaining dma_mapping_ops to use map/unmap_page 2008-10-31 16:13:48 +11:00
idle_6xx.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_e500.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_power4.S [POWERPC] powermac: Support G5 CPU hotplug 2007-05-07 20:31:13 +10:00
idle.c powerpc: Fix failure to shutdown with CPU hotplug 2008-09-30 13:25:06 +10:00
init_task.c [PATCH] take init_files to fs/file.c 2008-05-16 17:22:20 -04:00
io.c ftrace: support for PowerPC 2008-05-23 22:43:11 +02:00
iomap.c [POWERPC] Add 64-bit resources support to pci_iomap 2007-09-20 07:36:52 -05:00
iommu.c powerpc: Update remaining dma_mapping_ops to use map/unmap_page 2008-10-31 16:13:48 +11:00
irq.c powerpc: Make the irq reverse mapping radix tree lockless 2008-09-15 11:08:45 -07:00
isa-bridge.c [POWERPC] Remove leftover printk in isa-bridge.c 2008-05-09 20:22:59 +10:00
kgdb.c kgdb, x86, arm, mips, powerpc: ignore user space single stepping 2008-09-26 10:36:41 -05:00
kprobes.c kprobes: improve kretprobe scalability with hashed locking 2008-07-25 10:53:30 -07:00
l2cr_6xx.S Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
legacy_serial.c powerpc/powermac: Fixup default serial port device for pmac_zilog 2008-07-28 16:30:53 +10:00
lparcfg.c powerpc: Replace __FUNCTION__ with __func__ 2008-08-20 16:34:57 +10:00
machine_kexec_32.c kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
machine_kexec_64.c powerpc: Kexec exit should not use magic numbers 2008-10-31 16:11:44 +11:00
machine_kexec.c powerpc: Support for relocatable kdump kernel 2008-10-22 15:01:22 +11:00
Makefile ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
misc_32.S powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates 2008-11-08 12:38:55 -06:00
misc_64.S powerpc: Kexec exit should not use magic numbers 2008-10-31 16:11:44 +11:00
misc.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
module_32.c powerpc: Move common module code into its own file 2008-07-01 11:28:05 +10:00
module_64.c Fix compile failure with non modular builds 2008-09-17 09:14:42 -07:00
module.c powerpc: Remove dead module_find_bug code 2008-08-18 14:22:35 +10:00
msi.c [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
nvram_64.c [POWERPC] pseries: Eliminate global error_log_cnt variable 2007-08-17 11:01:52 +10:00
of_device.c OF-device: Don't overwrite numa_node in device registration 2008-10-31 16:12:01 +11:00
of_platform.c powerpc: Add missing reference to coherent_dma_mask 2008-07-08 21:06:35 -07:00
paca.c powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
pci_32.c powerpc: Fix link errors on 32-bit machines using legacy DMA 2008-10-15 10:13:29 +11:00
pci_64.c powerpc/pci: Fix unmapping of IO space on 64-bit 2008-10-31 16:13:46 +11:00
pci_dn.c [POWERPC] iSeries: eliminate pci_dn bussubno 2008-01-17 14:57:05 +11:00
pci-common.c powerpc/pci: Properly allocate bus resources for hotplug PHBs 2008-10-31 16:12:03 +11:00
pmc.c [POWERPC] Made FSL Book-E PMC support more generic 2008-02-05 23:34:14 -06:00
ppc32.h powerpc: Add VSX context save/restore, ptrace and signal support 2008-07-01 11:28:50 +10:00
ppc_ksyms.c ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
proc_ppc64.c powerpc: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
process.c powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
prom_init_check.sh powerpc: Fix build issue with CONFIG_RELOCATABLE=y 2008-10-21 15:17:49 +11:00
prom_init.c Revert "powerpc: Sync RPA note in zImage with kernel's RPA note" 2008-10-31 22:36:21 +11:00
prom_parse.c powerpc: Fix OF parsing of 64 bits PCI addresses 2008-07-22 10:39:34 +10:00
prom.c powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
ptrace32.c powerpc: Correctly hookup PTRACE_GET/SETVSRREGS for 32 bit processes 2008-07-30 15:26:54 +10:00
ptrace.c powerpc: Don't use the wrong thread_struct for ptrace get/set VSX regs 2008-07-30 15:26:54 +10:00
reloc_64.S powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
rtas_flash.c SL*B: drop kmem cache argument from constructor 2008-07-26 12:00:07 -07:00
rtas_pci.c [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
rtas-proc.c [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
rtas-rtc.c [PATCH] powerpc: reorg RTAS delay code 2006-06-09 21:21:06 +10:00
rtas.c powerpc: Zero fill the return values of rtas argument buffer 2008-08-11 10:09:56 +10:00
setup_32.c powerpc: Reflect the used arguments in machine_init() prototype 2008-10-14 10:35:26 +11:00
setup_64.c powerpc: Fix compiler warning for the relocatable kernel 2008-10-31 16:11:54 +11:00
setup-common.c powerpc: Move memory size print into common show_cpuinfo for 32-bit 2008-10-22 11:00:25 +11:00
setup.h
signal_32.c powerpc: Fix swapcontext system for VSX + old ucontext size 2008-10-31 16:12:00 +11:00
signal_64.c powerpc: Fix swapcontext system for VSX + old ucontext size 2008-10-31 16:12:00 +11:00
signal.c powerpc: Add TIF_NOTIFY_RESUME support for tracehook 2008-07-28 16:30:50 +10:00
signal.h x86, um: get rid of uml signal.h 2008-10-22 22:55:20 -07:00
smp-tbsync.c [POWERPC] Replace kmalloc+memset with kzalloc 2006-12-04 20:42:09 +11:00
smp.c Merge commit 'origin' 2008-10-15 11:31:54 +11:00
softemu8xx.c Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
stacktrace.c powerpc: Removed duplicated include in stacktrace.c 2008-07-28 16:30:47 +10:00
suspend.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
swsusp_32.S [POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC 2007-11-08 14:15:34 +11:00
swsusp_64.c [POWERPC] powermac: Suspend to disk on G5 2007-05-07 20:31:14 +10:00
swsusp_asm64.S powerpc: Fix 64-bit hibernation with 64k pages 2008-10-07 14:26:20 +11:00
swsusp.c powerpc: fixup hard_irq_disable semantics 2007-05-11 08:29:34 -07:00
sys_ppc32.c compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
syscalls.c powerpc/mm: Add Strong Access Ordering support 2008-07-09 16:30:45 +10:00
sysfs.c powerpc: Fix build warnings introduced by PMC support on 32-bit 2008-09-18 17:57:50 -05:00
systbl_chk.c [POWERPC] Fix a couple of copyright symbols 2008-01-25 22:52:50 +11:00
systbl_chk.sh [POWERPC] Fix a couple of copyright symbols 2008-01-25 22:52:50 +11:00
systbl.S [POWERPC] Align the sys_call_table 2007-10-11 14:36:47 +10:00
tau_6xx.c on_each_cpu(): kill unused 'retry' parameter 2008-06-26 11:24:38 +02:00
time.c Merge commit 'origin/master' 2008-07-16 11:07:59 +10:00
traps.c Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
udbg_16550.c powerpc: Unsigned speed cannot be negative in udbg_16559.c 2008-10-21 15:17:47 +11:00
udbg.c [POWERPC] Mark udbg console as CON_ANYTIME, ie. callable early in boot 2008-04-24 21:08:11 +10:00
vdso.c powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
vecemu.c
vector.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
vio.c powerpc: Update remaining dma_mapping_ops to use map/unmap_page 2008-10-31 16:13:48 +11:00
vmlinux.lds.S Revert "powerpc: Sync RPA note in zImage with kernel's RPA note" 2008-10-31 22:36:21 +11:00