linux/arch/powerpc/kernel
Milton Miller bd2b64a12b powerpc: rtas_flash needs to use rtas_data_buf
When trying to flash a machine via the update_flash command, Anton received the
following error:

    Restarting system.
    FLASH: kernel bug...flash list header addr above 4GB

The code in question has a comment that the flash list should be in
the kernel data and therefore under 4GB:

        /* NOTE: the "first" block list is a global var with no data
         * blocks in the kernel data segment.  We do this because
         * we want to ensure this block_list addr is under 4GB.
         */

Unfortunately the Kconfig option is marked tristate which means the variable
may not be in the kernel data and could be above 4GB.

Instead of relying on the data segment being below 4GB, use the static
data buffer allocated by the kernel for use by rtas.  Since we don't
use the header struct directly anymore, convert it to a simple pointer.

Reported-By: Anton Blanchard <anton@samba.org>
Signed-Off-By: Milton Miller <miltonm@bga.com
Tested-By: Anton Blanchard <anton@samba.org>

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-06-15 15:02:37 +10:00
..
vdso32 powerpc: Fix segment mapping in vdso32 2009-10-27 16:42:40 +11:00
vdso64 Use macros for .data.page_aligned section. 2009-09-21 06:27:08 +02:00
.gitignore
Makefile powerpc/fsl-booke: Add hibernation support for FSL BookE processors 2010-05-21 07:41:53 -05:00
align.c powerpc: Handle VSX alignment faults correctly in little-endian mode 2009-12-18 14:55:43 +11:00
asm-offsets.c Merge branch 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2010-05-21 17:16:21 -07:00
audit.c
btext.c
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: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc/fsl-booke: Enable L1 cache on e500v1/e500v2/e500mc CPUs 2009-06-15 21:45:30 -05:00
cpu_setup_pa6t.S
cpu_setup_ppc970.S
cputable.c powerpc/e500mc: Implement machine check handler. 2010-05-21 07:41:52 -05:00
crash.c powerpc/kexec: Add support for FSL-BookE 2010-05-24 21:25:32 -05:00
crash_dump.c
dbell.c
dma-iommu.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
dma-swiotlb.c powerpc: remove unnecessary sync_single_range_* in swiotlb_dma_ops 2010-05-27 09:12:52 -07:00
dma.c powerpc: remove unnecessary sync_single_range_* in swiotlb_dma_ops 2010-05-27 09:12:52 -07:00
e500-pmu.c powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
entry_32.S powerpc/47x: Base ppc476 support 2010-05-05 09:11:10 -04:00
entry_64.S powerpc/perf_event: Fix oops due to perf_event_do_pending call 2010-05-12 14:34:00 +10:00
exceptions-64e.S powerpc/book3e-64: Remove duplicated #include 2009-09-24 15:31:41 +10:00
exceptions-64s.S powerpc: Disable interrupts for data breakpoint exceptions 2010-04-07 14:44:38 +10:00
firmware.c powerpc: Make powerpc_firmware_features __read_mostly 2010-02-09 13:56:07 +11:00
fpu.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
fsl_booke_entry_mapping.S powerpc/kexec: Add support for FSL-BookE 2010-05-24 21:25:32 -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/8xx: Use SPRG2 and DAR registers to stash r11 and cr. 2010-04-07 18:00:34 +10:00
head_32.S KVM: PPC: Add KVM intercept handlers 2010-05-17 12:18:52 +03:00
head_40x.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_44x.S powerpc/4xx: Simple platform for the ISS 4xx simulator 2010-05-05 11:11:56 -04:00
head_64.S KVM: PPC: Name generic 64-bit code generic 2010-05-17 12:18:14 +03: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 powerpc/kexec: Add support for FSL-BookE 2010-05-24 21:25:32 -05:00
ibmebus.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
idle.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
idle_6xx.S
idle_e500.S
idle_power4.S
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: Remove unused 'protect4gb' boot parameter 2010-05-21 17:31:13 +10:00
irq.c powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
isa-bridge.c
kgdb.c powerpc,kgdb: Introduce low level trap catching 2010-05-20 21:04:25 -05:00
kprobes.c powerpc/kprobes: Remove resume_execution() in kprobes 2010-06-02 17:50:37 +10:00
l2cr_6xx.S
legacy_serial.c Fix spelling of 'platform' in comments and doc 2010-02-05 12:22:34 +01:00
lparcfg.c powerpc/pseries: Export data from new hcall H_EM_GET_PARMS 2010-04-07 18:00:29 +10:00
machine_kexec.c
machine_kexec_32.c
machine_kexec_64.c powerpc/kexec: Wait for online/possible CPUs only. 2010-06-15 15:02:33 +10:00
misc.S perf: Always build the powerpc perf_arch_fetch_caller_regs version 2010-04-03 12:42:00 +02:00
misc_32.S powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
misc_64.S powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
module_32.c
module_64.c
mpc7450-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
msi.c
nvram_64.c arch/powerpc: Fix continuation line formats 2010-02-09 13:55:05 +11:00
of_device.c arch/powerpc: Move dma_mask from of_device into pdev_archdata 2010-05-22 00:10:40 -06:00
of_platform.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
paca.c powerpc/kexec: Fix race in kexec shutdown 2010-05-21 17:31:11 +10:00
pci-common.c PCI: clear bridge resource range if BIOS assigned bad one 2010-06-11 13:24:51 -07:00
pci_32.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
pci_64.c of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00
pci_dn.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
pci_of_scan.c powerpc/pci: Check devices status property when scanning OF tree 2010-05-21 17:31:09 +10:00
perf_callchain.c perf: Fix inconsistency between IP and callchain sampling 2010-01-28 14:31:20 +01:00
perf_event.c perf, powerpc: Implement group scheduling transactional APIs 2010-05-11 17:08:24 +02:00
perf_event_fsl_emb.c powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
pmc.c powerpc: Convert pmc_owner_lock to raw_spinlock 2010-02-19 14:52:33 +11:00
power4-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power5+-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power5-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power6-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power7-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
ppc32.h
ppc970-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
ppc_ksyms.c powerpc: Don't export cvt_fd & _df when CONFIG_PPC_FPU is not set 2010-05-31 11:51:54 +10:00
ppc_save_regs.S
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 powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
prom.c powerpc: Dynamically allocate pacas 2010-03-09 11:52:52 +11:00
prom_init.c powerpc/numa: Add form 1 NUMA affinity 2010-04-28 16:22:33 +10:00
prom_init_check.sh
prom_parse.c
ptrace.c powerpc: Add kprobe-based event tracer 2010-04-07 18:11:43 +10:00
ptrace32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07: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/pseries: Call ibm,os-term if the ibm,extended-os-term is present 2010-04-07 18:00:48 +10:00
rtas_flash.c powerpc: rtas_flash needs to use rtas_data_buf 2010-06-15 15:02:37 +10:00
rtas_pci.c
rtasd.c powerpc/rtasd: Don't start event scan if scan rate is zero 2010-05-21 17:29:39 +10:00
setup-common.c powerpc/cpumask: Update some comments 2010-05-06 17:41:59 +10:00
setup.h
setup_32.c powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
setup_64.c powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
signal.c powerpc/booke: Add support for advanced debug registers 2010-02-17 14:03:17 +11:00
signal.h
signal_32.c powerpc/booke: Add support for advanced debug registers 2010-02-17 14:03:17 +11:00
signal_64.c
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: Use common cpu_die (fixes SMP+SUSPEND build) 2010-05-21 17:31:08 +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
swsusp.c
swsusp_32.S powerpc/swsusp_32: Fix TLB invalidation 2010-01-15 13:20:07 +11: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 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
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/perf_event: Fix oops due to perf_event_do_pending call 2010-05-12 14:34:00 +10:00
traps.c Merge commit 'kumar/next' into next 2010-05-31 10:01:50 +10:00
udbg.c powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
udbg_16550.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
vdso.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
vecemu.c
vector.S powerpc: Fix usage of 64-bit instruction in 32-bit altivec code 2009-12-09 18:10:12 +11:00
vio.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
vmlinux.lds.S Rename .data.read_mostly to .data..read_mostly. 2010-03-03 11:26:00 +01:00