linux/arch/sparc/include/asm
David S. Miller 25edd6946a sparc64: Get rid of indirect p1275 PROM call buffer.
This is based upon a report by Meelis Roos showing that it's possible
that we'll try to fetch a property that is 32K in size with some
devices.  With the current fixed 3K buffer we use for moving data in
and out of the firmware during PROM calls, that simply won't work.

In fact, it will scramble random kernel data during bootup.

The reasoning behind the temporary buffer is entirely historical.  It
used to be the case that we had problems referencing dynamic kernel
memory (including the stack) early in the boot process before we
explicitly told the firwmare to switch us over to the kernel trap
table.

So what we did was always give the firmware buffers that were locked
into the main kernel image.

But we no longer have problems like that, so get rid of all of this
indirect bounce buffering.

Besides fixing Meelis's bug, this also makes the kernel data about 3K
smaller.

It was also discovered during these conversions that the
implementation of prom_retain() was completely wrong, so that was
fixed here as well.  Currently that interface is not in use.

Reported-by: Meelis Roos <mroos@linux.ee>
Tested-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-08-23 23:10:57 -07:00
..
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
agp.h agp: kill phys_to_gart() and gart_to_phys() 2009-08-03 09:05:00 +01:00
apb.h
apc.h
asi.h sparc,leon: Redefine MMU register access asi if CONFIG_LEON 2009-08-17 18:32:09 -07:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h sparc: Add asm/asm.h 2008-12-09 00:50:13 -08:00
asmmacro.h sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
atomic.h
atomic_32.h atomic_t: Cast to volatile when accessing atomic variables 2010-05-17 07:57:27 -07:00
atomic_64.h sparc64: Really fix atomic64_t interface types. 2010-08-17 21:44:13 -07:00
auxio.h
auxio_32.h
auxio_64.h
auxvec.h
backoff.h sparc64: Make lock backoff really a NOP on UP builds. 2010-08-18 22:53:26 -07:00
bbc.h
bitext.h
bitops.h
bitops_32.h sparc: asm/bitops.h should define __fls 2008-12-03 16:04:52 -08:00
bitops_64.h bitops: Optimize hweight() by making use of compile-time evaluation 2010-04-06 15:52:11 -07:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
btext.h sparc64: Faster early-boot framebuffer console. 2009-11-27 17:33:43 -08:00
btfixup.h
bug.h
bugs.h sparc64: Implement SSTATE purely using notifiers and initcalls. 2008-09-02 00:49:38 -07: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 sparc: remove homegrown L1_CACHE_ALIGN macro 2010-06-29 00:38:02 -07:00
cacheflush.h
cacheflush_32.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
cacheflush_64.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
chafsr.h
checksum.h
checksum_32.h
checksum_64.h
chmctrl.h
clock.h
cmt.h
compat.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
compat_signal.h
contregs.h
cpudata.h
cpudata_32.h
cpudata_64.h sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. 2010-04-12 22:37:07 -07:00
cputime.h
current.h
cypress.h
dcr.h
dcu.h
delay.h
delay_32.h
delay_64.h
device.h of: remove asm/of_device.h 2010-07-24 09:57:52 -06:00
display7seg.h
div64.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h sparc: Kill now spurious includes of sbus.h 2008-08-29 02:15:23 -07:00
ebus_dma.h sparc: Move EBUS DMA interfaces into seperate header file. 2008-08-29 23:10:21 -07:00
ecc.h
eeprom.h
elf.h
elf_32.h elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
elf_64.h sparc: TIF_ABI_PENDING bit removal 2010-01-29 08:22:01 -08:00
emergency-restart.h
envctrl.h
errno.h cfg80211: errno.h: define ERFKILL 2009-06-07 05:01:00 -07:00
estate.h
fb.h sparc: Really fix "console=" for serial consoles. 2010-08-16 12:26:09 -07:00
fbio.h tree-wide: s/widht/width/g typo in comments 2010-02-05 12:22:42 +01:00
fcntl.h fix up O_SYNC comments 2009-12-17 11:03:24 -05:00
fhc.h sparc64: Rewrite central driver. 2008-08-31 20:56:15 -07:00
fixmap.h
floppy.h
floppy_32.h sparc: Convert remaining sbus_ioremap() and sbus_iounmap() users. 2008-08-29 02:15:13 -07:00
floppy_64.h of/device: Replace of_device with platform_device in includes and core code 2010-07-24 09:58:21 -06:00
fpumacro.h
ftrace.h sparc64: Add proper dynamic ftrace support. 2009-06-16 04:56:53 -07:00
futex.h
futex_32.h
futex_64.h sparc64: FUTEX_OP_ANDN fix 2008-07-30 15:40:50 -07:00
gpio.h sparc: Add GPIO layer support. 2008-08-24 20:33:56 -07:00
hardirq.h
hardirq_32.h sparc32: convert to asm-generic/hardirq.h 2009-10-01 13:45:13 -07:00
hardirq_64.h
head.h
head_32.h
head_64.h
highmem.h kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
hugetlb.h
hvtramp.h
hw_irq.h
hypervisor.h sparc64: Add performance counter hypervisor calls for sun4v. 2008-12-04 09:17:09 -08:00
ide.h
idprom.h
intr_queue.h
io-unit.h sparc32: Kill iounit_map_dma_*(). 2008-08-29 02:15:23 -07:00
io.h
io_32.h sparc: Provide io{read,write}{16,32}be(). 2010-03-03 02:30:37 -08:00
io_64.h sparc: Provide io{read,write}{16,32}be(). 2010-03-03 02:30:37 -08:00
ioctl.h
ioctls.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
iommu.h
iommu_32.h sparc: Remove generic SBUS probing layer. 2008-08-29 02:15:21 -07:00
iommu_64.h sparc64: Get rid of pci_controller_info. 2008-09-10 23:07:41 -07:00
ipcbuf.h sparc: unify ipcbuf.h 2009-01-04 15:44:52 -08:00
irq.h
irq_32.h sparc32: convert to asm-generic/hardirq.h 2009-10-01 13:45:13 -07:00
irq_64.h debug lockups: Improve lockup detection, fix generic arch fallback 2009-08-03 09:56:52 +02:00
irq_regs.h
irqflags.h
irqflags_32.h
irqflags_64.h sparc64: Add some more commentary to __raw_local_irq_save() 2010-04-13 01:50:43 -07:00
jsflash.h sparc: fix warning in userspace header jsflash.h 2009-01-02 21:31:13 -08:00
kdebug.h
kdebug_32.h sparc32: kernel/trace/trace.c wants DIE_OOPS 2008-11-01 21:44:01 -07:00
kdebug_64.h sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
kgdb.h
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h
ldc.h
leon.h Added sparc_leon3_snooping_enabled() and converted extern inline to static inline 2009-11-16 02:54:09 -08:00
leon_amba.h sparc,leon: CONFIG_SPARC_LEON option and leon specific files. 2009-08-17 18:32:09 -07:00
linkage.h
local.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
lsu.h
machines.h sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
mbus.h
mc146818rtc.h
mc146818rtc_32.h
mc146818rtc_64.h sparc64: Use generic CMOS driver. 2008-08-29 14:16:48 -07:00
mdesc.h sparc64: Make mdesc_fill_in_cpu_data take a cpumask_t pointer. 2009-06-16 04:56:21 -07:00
memblock.h lmb: rename to memblock 2010-07-14 17:14:00 +10:00
memctrl.h sparc64: Add generic interface for registering a dimm printing handler. 2008-08-24 22:08:34 -07:00
memreg.h
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu.h
mmu_32.h
mmu_64.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h cpumask: use mm_cpumask() wrapper: sparc 2009-03-16 14:40:39 +10:30
mmzone.h numa, cpumask: move numa_node_id default implementation to topology.h, fix 2009-03-19 12:51:25 +01:00
module.h sparc: unify module.h 2008-12-26 15:35:41 -08:00
mpmbox.h
msgbuf.h
msi.h
mutex.h
mxcc.h
nmi.h sparc64: Initial hw perf counter support. 2009-09-10 06:28:20 -07:00
ns87303.h
obio.h sparc32: Move sun4d show_leds() out of asm/obio.h 2008-09-08 15:40:45 -07:00
openprom.h sparc: unify openprom.h 2009-01-02 21:15:25 -08:00
openpromio.h
oplib.h
oplib_32.h sparc: Kill exports of prom internal functions 2009-01-08 16:58:42 -08:00
oplib_64.h sparc64: Get rid of indirect p1275 PROM call buffer. 2010-08-23 23:10:57 -07:00
page.h
page_32.h sparc32: Fix page_to_phys(). 2010-01-14 03:14:53 -08:00
page_64.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
param.h sparc: Simplify param.h by simply including <asm-generic/param.h> 2010-01-12 02:46:16 -08:00
parport.h sparc64: Add missing ID to parport probing code. 2010-08-08 22:07:22 -07:00
pbm.h
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
pci_32.h pci-dma: sparc: use include/linux/pci-dma.h 2010-03-12 15:52:41 -08:00
pci_64.h pci-dma: sparc: use include/linux/pci-dma.h 2010-03-12 15:52:41 -08:00
pcic.h
pcr.h sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
percpu.h
percpu_32.h
percpu_64.h sparc64: Get rid of real_setup_per_cpu_areas(). 2009-06-16 04:56:23 -07:00
perf_event.h sparc64: Fix perf_arch_get_caller_regs(). 2010-08-08 22:07:36 -07:00
perfctr.h sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
pgalloc.h
pgalloc_32.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgalloc_64.h
pgtable.h
pgtable_32.h sparc32: Kill none_mask, it's bogus. 2010-05-25 23:36:31 -07:00
pgtable_64.h MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
pgtsrmmu.h sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
pgtsun4.h
pgtsun4c.h
pil.h sparc64: Reschedule KGDB capture to a software interrupt. 2009-03-18 23:51:57 -07:00
poll.h
posix_types.h sparc: unify posix_types.h 2009-01-02 18:35:29 -08:00
processor.h
processor_32.h sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
processor_64.h sparc64: Kill annoying warning when building compat_binfmt_elf.o 2008-11-02 00:15:38 -07:00
prom.h of: Provide default of_node_to_nid() implementation. 2010-07-30 00:03:58 -06:00
psr.h
psrcompat.h
pstate.h
ptrace.h sparc: unify ptrace.h 2009-01-02 19:42:12 -08:00
resource.h
ross.h
rwsem.h sparc64: Make rwsems 64-bit. 2010-08-17 22:49:26 -07:00
sbi.h
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
scratchpad.h
seccomp.h x86-64: seccomp: fix 32/64 syscall hole 2009-03-02 15:41:30 -08:00
sections.h sparc: unify sections.h 2008-12-27 00:35:12 -08:00
sembuf.h
serial.h serial: allow 8250 to be used on sparc 2008-10-13 09:51:40 -07:00
setup.h
sfafsr.h
sfp-machine.h
sfp-machine_32.h
sfp-machine_64.h
shmbuf.h
shmparam.h
shmparam_32.h
shmparam_64.h
sigcontext.h sparc: unify sigcontext.h 2009-01-02 19:34:46 -08:00
siginfo.h sparc: unify siginfo.h 2009-01-02 21:10:04 -08:00
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
smp.h
smp_32.h sparc,leon: Sparc-Leon SMP support 2009-11-02 04:19:42 -08:00
smp_64.h cpumask: remove arch_send_call_function_ipi 2009-09-24 09:34:47 +09:30
smpprim.h
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h
sparsemem.h
spinlock.h
spinlock_32.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock_64.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spitfire.h sparc: unify kernel/cpu 2008-12-07 00:04:30 -08:00
stacktrace.h
starfire.h sparc64: Delete starfire_cpu_setup(). 2008-08-31 01:40:12 -07:00
stat.h sparc: Fix use of uid16_t and gid16_t in asm/stat.h 2010-03-27 08:36:18 -07:00
statfs.h SPARC: Use <asm-generic/statfs.h> 2008-09-06 19:30:17 +01:00
string.h
string_32.h sparc: Stop trying to be so fancy and use __builtin_{memcpy,memset}() 2009-12-10 23:32:10 -08:00
string_64.h sparc: Stop trying to be so fancy and use __builtin_{memcpy,memset}() 2009-12-10 23:32:10 -08:00
sunbpp.h
swab.h sparc: introduce asm/swab.h 2009-01-06 18:10:27 -08:00
swift.h
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscalls.h
sysen.h
system.h
system_32.h sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
system_64.h sparc64: Fill a missing delay slot. 2010-08-19 14:15:32 -07:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
thread_info.h
thread_info_32.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
thread_info_64.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
timer.h
timer_32.h sparc32: Delete master_l10_limit. 2008-09-19 21:18:03 -07:00
timer_64.h sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
timex.h
timex_32.h sparc: convert to arch_gettimeoffset() 2010-01-15 01:34:28 -08:00
timex_64.h
tlb.h
tlb_32.h
tlb_64.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
tlbflush.h
tlbflush_32.h
tlbflush_64.h
topology.h
topology_32.h
topology_64.h sparc: cpumask_of_node() should handle -1 as a node 2010-01-20 19:04:42 -08:00
trap_block.h sparc64: Store per-cpu offset in trap_block[] 2009-06-16 04:56:11 -07:00
traps.h sparc: drop get_tbr() in traps.h 2009-01-02 21:33:05 -08:00
tsb.h sparc64: Stop using memory barriers for atomics and locks. 2008-12-04 09:16:47 -08:00
tsunami.h
ttable.h sparc64: Make special trap return path for TRAP_NMI(). 2008-12-04 09:17:03 -08:00
turbosparc.h
types.h SPARC: fix duplicate declaration 2009-08-16 18:25:00 -07:00
uaccess.h
uaccess_32.h sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
uaccess_64.h sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
uctx.h
unaligned.h
unistd.h sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
upa.h
user.h
utrap.h
vac-ops.h sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
vaddrs.h
vga.h
viking.h
vio.h BUILD_BUG_ON(): fix it and a couple of bogus uses of it 2009-09-23 07:39:29 -07:00
visasm.h sparc64: Fix sparse warnings in visemul.c 2008-09-11 23:46:40 -07:00
watchdog.h
winmacro.h
xor.h
xor_32.h
xor_64.h