linux/arch/sparc/include/asm
Sam Ravnborg 1edc17832d sparc32: use flushi when run-time patching in per_cpu_patch
Davis S. Miller wrote:
"
The way we do that now is overkill.  We only needed to use the MMU
cache ops when we had sun4c around because sun4c lacked support for
the "flush" instruction.

But all sun4m and later chips have it so we can use it
unconditionally.

So in the per_cpu_patch() code, get rid of the cache ops invocation,
and instead execute a "flush %reg" after each of the instruction patch
assignments, where %reg is set to the address of the instruction that
was stored into.

Perhaps take the flushi() definition from asm/cacheflush_64.h and
place it into asm/cacheflush.h, then you can simply use that.
"

Implemented as per suggestion.
Moved run-time patching before we call paging_init(),
so helper methods in paging_init() may utilise run-time patching too.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-05-20 13:33:36 -07: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 sparc32,leon: move leon ASI definitions to asi.h 2012-05-19 23:27:36 -07:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h
asmmacro.h sparc32: Move GET_PROCESSOR*_ID() out of asm/asmmacro.h 2012-05-19 21:22:11 -07:00
atomic_32.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
atomic_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
atomic.h
auxio_32.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
auxio_64.h
auxio.h
auxvec.h
backoff.h sparc64: Make lock backoff really a NOP on UP builds. 2010-08-18 22:53:26 -07:00
barrier_32.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
barrier_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
barrier.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
bbc.h
bitext.h
bitops_32.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitops_64.h sparc: Use popc when possible for ffs/__ffs/ffz. 2011-08-02 21:28:53 -07:00
bitops.h
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
bug.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
bugs.h
byteorder.h
cache.h sparc32: Remove completely unused code from asm/cache.h 2012-05-19 21:15:37 -07:00
cacheflush_32.h sparc32: Move cache and TLB flushes over to method ops. 2012-05-13 20:49:31 -07:00
cacheflush_64.h sparc32: use flushi when run-time patching in per_cpu_patch 2012-05-20 13:33:36 -07:00
cacheflush.h sparc32: use flushi when run-time patching in per_cpu_patch 2012-05-20 13:33:36 -07:00
cachetlb_32.h sparc32: Move cache and TLB flushes over to method ops. 2012-05-13 20:49:31 -07:00
chafsr.h
checksum_32.h
checksum_64.h
checksum.h
chmctrl.h
clock.h
cmpxchg_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
cmpxchg_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
cmpxchg.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
cmt.h
compat_signal.h
compat.h compat: sync compat_stats with statfs. 2011-10-28 14:58:53 +02:00
contregs.h sparc32: Remove sun4{,c} control reg definitions from contregs.h. 2012-05-11 21:29:17 -07:00
cpu_type.h sparc32: Remove sun4 and sun4c from enum sparc_cpu. 2012-05-12 00:23:23 -07:00
cpudata_32.h sparc32: generic clockevent support 2012-04-15 10:28:50 -07:00
cpudata_64.h sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. 2010-04-12 22:37:07 -07:00
cpudata.h
cputime.h
current.h
dcr.h
dcu.h
delay_32.h
delay_64.h
delay.h
device.h of: remove asm/of_device.h 2010-07-24 09:57:52 -06:00
display7seg.h
dma-mapping.h SPARC: adapt for dma_map_ops changes 2012-03-28 16:36:34 +02:00
dma.h sparc32: Convert mmu_* interfaces from btfixup to method ops. 2012-05-13 13:57:05 -07:00
ebus_dma.h
ecc.h
eeprom.h
elf_32.h sparc32: Remove cypress cpu support. 2012-05-15 10:22:00 -07:00
elf_64.h sparc: Sanitize cpu feature detection and reporting. 2011-07-28 23:31:26 -07:00
elf.h
emergency-restart.h
envctrl.h
errno.h mm: make __get_user_pages return -EHWPOISON for HWPOISON page optionally 2011-03-17 13:08:27 -03:00
estate.h
exec.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
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 vfs: add nonconflicting values for O_PATH 2011-03-16 09:54:02 -04:00
fhc.h
fixmap.h
floppy_32.h sparc: Kill mmu_{un,}lockarea(). 2012-05-13 13:23:16 -07:00
floppy_64.h sparc64: Remove pointless assignment in floppy support. 2012-05-14 20:59:25 -07:00
floppy.h
fpumacro.h
ftrace.h sparc64: Add proper dynamic ftrace support. 2009-06-16 04:56:53 -07:00
futex_32.h
futex_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
futex.h
gpio.h
hardirq_32.h sparc32: convert to asm-generic/hardirq.h 2009-10-01 13:45:13 -07:00
hardirq_64.h
hardirq.h
head_32.h sparc32: Kill unused defines from asm/head_32.h 2012-05-11 21:43:11 -07:00
head_64.h
head.h
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlb.h
hvtramp.h
hw_irq.h
hypervisor.h sparc: Set reboot-cmd using reboot data hypervisor call if available. 2011-08-02 21:28:52 -07:00
ide.h
idprom.h
intr_queue.h
io_32.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
io_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
io-unit.h
io.h sparc: add {read,write}*_be routines 2011-05-12 13:44:29 -07:00
ioctl.h
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
iommu_32.h
iommu_64.h
iommu.h
ipcbuf.h
irq_32.h sparc32: genirq support 2011-04-19 22:11:40 -07:00
irq_64.h nmi watchdog: do not use cpp symbol in Kconfig 2012-03-23 16:58:31 -07:00
irq.h
irqflags_32.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
irqflags_64.h sparc/irqs: Do not trace arch_local_{*,irq_*} functions 2011-07-06 08:00:29 -07:00
irqflags.h
jsflash.h
jump_label.h static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
Kbuild sparc: use kbuild-generic support for true asm-generic header files 2011-08-04 01:35:12 -07:00
kdebug_32.h
kdebug_64.h
kdebug.h
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_amba.h SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
leon_pci.h PCI: Make the struct pci_dev * argument of pci_fixup_irqs const. 2011-07-22 08:26:06 -07:00
leon.h sparc32,leon: remove duplicate definitions in leon.h 2012-05-19 23:27:37 -07:00
linkage.h
lsu.h
machines.h sparc32: Trivial removal of sun4c references in comments. 2012-05-12 00:35:45 -07:00
mbus.h sparc32: Remove cypress cpu support. 2012-05-15 10:22:00 -07:00
mc146818rtc_32.h
mc146818rtc_64.h
mc146818rtc.h
mdesc.h sparc64: Make mdesc_fill_in_cpu_data take a cpumask_t pointer. 2009-06-16 04:56:21 -07:00
memctrl.h
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu_32.h sparc32: add irq + smp declarations to headers 2011-03-16 18:19:08 -07:00
mmu_64.h
mmu_context_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
mmu_context_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
mmu_context.h
mmu.h
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h
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 Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
obio.h sparc32: move smp ipi to method ops 2012-05-14 14:05:07 -07:00
openprom.h sparc: Pass buffer pointer all the way down to prom_{get,put}char(). 2010-11-30 14:33:29 -08:00
openpromio.h
oplib_32.h sparc32: drop sun4c support 2012-05-11 19:27:44 -07:00
oplib_64.h sparc: Eliminate prom_stdin. 2010-12-12 14:57:53 -08:00
oplib.h
page_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
page_64.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
page.h
param.h sparc: Simplify param.h by simply including <asm-generic/param.h> 2010-01-12 02:46:16 -08:00
parport.h dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pbm.h
pci_32.h PCI: collapse pcibios_resource_to_bus 2012-02-23 20:19:04 -07:00
pci_64.h PCI: collapse pcibios_resource_to_bus 2012-02-23 20:19:04 -07:00
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
pcic.h sparc32: added CONFIG_PCIC_PCI Kconfig setting 2011-06-02 14:32:37 -07:00
pcr.h Fix common misspellings 2011-03-31 11:26:23 -03:00
percpu_32.h
percpu_64.h sparc64: Get rid of real_setup_per_cpu_areas(). 2009-06-16 04:56:23 -07:00
percpu.h
perf_event.h perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
perfctr.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
pgalloc_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
pgalloc_64.h sparc64: use RCU page table freeing 2011-07-25 20:57:10 -07:00
pgalloc.h
pgtable_32.h sparc32: cleanup mm/fault_32.c 2012-05-15 10:43:48 -07:00
pgtable_64.h sparc: Kill mmu_{un,}lockarea(). 2012-05-13 13:23:16 -07:00
pgtable.h
pgtsrmmu.h sparc32: drop unused functions in pgtsrmmu.h 2012-05-19 23:27:39 -07:00
pil.h sparc64: Reschedule KGDB capture to a software interrupt. 2009-03-18 23:51:57 -07:00
poll.h
posix_types.h sparc: Use generic posix_types.h 2012-02-14 12:01:30 -08:00
processor_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
processor_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
processor.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
prom.h irq_domain: Centralize definition of irq_dispose_mapping() 2012-02-26 16:48:06 -07:00
psr.h
psrcompat.h
pstate.h
ptrace.h sparc32: fix fallout from system.h removal 2012-03-30 18:16:58 -07:00
resource.h
ross.h
rwsem.h rwsem: Move duplicate function prototypes to linux/rwsem.h 2011-01-27 12:30:39 +01:00
sbi.h
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
scratchpad.h
seccomp.h
sections.h
sembuf.h
serial.h
setup.h sparc32: Remove unused empty_bad_page{,_table} declarations. 2012-05-19 21:45:08 -07:00
sfafsr.h
sfp-machine_32.h
sfp-machine_64.h
sfp-machine.h
shmbuf.h
shmparam_32.h sparc32: Remove sun4 and sun4c from enum sparc_cpu. 2012-05-12 00:23:23 -07:00
shmparam_64.h
shmparam.h
sigcontext.h sparc: Allow handling signals when stack is corrupted. 2011-08-20 17:14:54 -07:00
siginfo.h UAPI: Don't include linux/compat.h in sparc's asm/siginfo.h 2011-12-12 13:54:35 +00:00
signal.h sparc: make SA_NOMASK a synonym of SA_NODEFER 2012-01-10 16:30:54 -08:00
smp_32.h sparc32: Kill unused hard_smp{4m,4d,leon}_processor_id() inlined. 2012-05-14 14:23:57 -07:00
smp_64.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp.h
socket.h net: Add framework to allow sending packets with customized CRC. 2012-02-24 01:37:35 -08:00
sockios.h
sparsemem.h
spinlock_32.h sparc32: unbreak arch_write_unlock() 2011-08-15 14:35:19 -07:00
spinlock_64.h sparc64: remove unnecessary macros from spinlock_64.h 2011-08-15 14:35:18 -07:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h
spitfire.h sparc64: Future proof Niagara cpu detection. 2011-09-16 14:21:33 -07:00
stacktrace.h
starfire.h
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
string_32.h sparc32: Remove inline strncmp "optimization" for constant counts. 2012-05-11 19:53:29 -07:00
string_64.h sparc: Stop trying to be so fancy and use __builtin_{memcpy,memset}() 2009-12-10 23:32:10 -08:00
string.h
sunbpp.h
swab.h
swift.h
switch_to_32.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
switch_to_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
switch_to.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscalls.h
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
thread_info_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
thread_info_64.h freezer: remove now unused TIF_FREEZE 2011-11-21 12:32:25 -08:00
thread_info.h
timer_32.h sparc32: remove runtime btfix support 2012-05-14 14:05:09 -07:00
timer_64.h
timer.h
timex_32.h sparc32: generic clockevent support 2012-04-15 10:28:50 -07:00
timex_64.h
timex.h
tlb_32.h
tlb_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
tlb.h
tlbflush_32.h sparc32: Move cache and TLB flushes over to method ops. 2012-05-13 20:49:31 -07:00
tlbflush_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
tlbflush.h
topology_32.h
topology_64.h sched, sparc64: Turn cpu_coregroup_mask() into a real function 2011-04-12 08:46:41 +02:00
topology.h
trap_block.h sparc64: Store per-cpu offset in trap_block[] 2009-06-16 04:56:11 -07:00
traps.h sparc32: Put back SPARC_BRANCH. 2012-05-11 20:57:29 -07:00
tsb.h sparc: Access kernel TSB using physical addressing when possible. 2011-08-05 00:53:57 -07:00
tsunami.h
ttable.h
turbosparc.h
types.h consolidate umode_t declarations 2012-01-03 22:55:17 -05:00
uaccess_32.h sparc32: Kill asm/vac-ops.h 2012-05-11 21:07:50 -07:00
uaccess_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
uaccess.h
uctx.h
unaligned.h
unistd.h sparc: Hook up process_vm_{readv,writev} syscalls. 2011-11-01 00:51:30 -07:00
upa.h
user.h
utrap.h
vaddrs.h sparc32: Kill SUN4C_LOCK_{VADDR,END} and associated comment. 2012-05-11 20:51:51 -07:00
vga.h BUG: headers with BUG/BUG_ON etc. need linux/bug.h 2012-03-04 17:54:34 -05:00
viking.h
vio.h powerpc+sparc/vio: Modernize driver registration 2012-03-28 11:33:24 +11:00
visasm.h
watchdog.h
winmacro.h sparc32: Implement hard_smp_processor_id() via instruction patching. 2012-05-14 13:31:38 -07:00
xor_32.h
xor_64.h sparc64: Future proof Niagara cpu detection. 2011-09-16 14:21:33 -07:00
xor.h