linux_dsm_epyc7002/arch/mips/include/asm
Thomas Gleixner 4c5a116ada vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter()
MIPS already uses and S390 will need the vdso data pointer in
__arch_get_hw_counter().

This works nicely as long as the architecture does not support time
namespaces in the VDSO. With time namespaces enabled the regular
accessor to the vdso data pointer __arch_get_vdso_data() will return the
namespace specific VDSO data page for tasks which are part of a
non-root time namespace. This would cause the architectures which need
the vdso data pointer in __arch_get_hw_counter() to access the wrong
vdso data page.

Add a vdso_data pointer argument to __arch_get_hw_counter() and hand it in
from the call sites in the core code. For architectures which do not need
the data pointer in their counter accessor function the compiler will just
optimize it out.

Fix up all existing architecture implementations and make MIPS utilize the
pointer instead of invoking the accessor function.

No functional change and no change in the resulting object code (except
MIPS).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/draft-87wo2ekuzn.fsf@nanos.tec.linutronix.de
2020-08-06 10:57:30 +02:00
..
dec
fw
ip32
mach-ar7 MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mach-ath25 MIPS: remove cpu_has_64bit_addresses 2020-04-19 16:08:29 +02:00
mach-ath79 MIPS: remove cpu_has_64bit_addresses 2020-04-19 16:08:29 +02:00
mach-au1x00 MIPS: cleanup fixup_bigphys_addr handling 2020-04-19 16:09:44 +02:00
mach-bcm47xx
mach-bcm63xx MIPS: BCM63xx: fix 6328 boot selection bit 2020-05-27 12:50:15 +02:00
mach-bmips MIPS: cleanup fixup_bigphys_addr handling 2020-04-19 16:09:44 +02:00
mach-cavium-octeon
mach-cobalt
mach-db1x00
mach-dec
mach-generic mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mach-ip22
mach-ip27 MIPS: SGI-IP27: Use the _AC() macro in spaces.h 2020-05-15 09:10:40 +02:00
mach-ip28
mach-ip30 MIPS: SGI-IP30: Reorder the macros in war.h 2020-05-24 09:28:49 +02:00
mach-ip32
mach-jazz mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mach-jz4740 MIPS: ingenic: Drop obsolete code, merge the rest in setup.c 2020-04-29 23:00:07 +02:00
mach-lantiq MIPS: remove cpu_has_64bit_addresses 2020-04-19 16:08:29 +02:00
mach-loongson2ef mips: loongsoon2ef: remove private clk api 2020-04-16 17:34:23 +02:00
mach-loongson32
mach-loongson64 MIPS: Loongson64: Guard against future cores without CPUCFG 2020-05-31 10:52:42 +02:00
mach-malta MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mach-netlogic
mach-paravirt
mach-pic32 MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mach-pistachio MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mach-pnx833x
mach-ralink MIPS: remove cpu_has_64bit_addresses 2020-04-19 16:08:29 +02:00
mach-rc32434 MIPS: Remove dead code in pci.h 2020-05-07 10:30:06 +02:00
mach-rm MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mach-sibyte
mach-tx39xx MIPS: cleanup fixup_bigphys_addr handling 2020-04-19 16:09:44 +02:00
mach-tx49xx MIPS: cleanup fixup_bigphys_addr handling 2020-04-19 16:09:44 +02:00
mach-vr41xx MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mips-boards
netlogic
octeon MIPS: Use fallthrough for arch/mips 2020-05-07 11:55:47 +02:00
pci MIPS: PCI: Support mapping of INTB/C/D for pci-xtalk-bridge 2020-01-09 15:30:53 -08:00
sgi
sibyte
sn MIPS: PCI: Add detection of IOC3 on IO7, IO8, IO9 and Fuel 2020-01-24 11:37:45 -08:00
txx9
vdso vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() 2020-08-06 10:57:30 +02:00
vr41xx
xtalk
abi.h
addrspace.h
amon.h
arch_hweight.h
asm-eva.h MIPS: Fix typo for user_ld macro definition 2020-04-16 17:30:16 +02:00
asm-offsets.h
asm-prototypes.h
asm.h MIPS: asm: Rename some macros to avoid build errors 2020-05-07 13:20:05 +02:00
asmmacro-32.h
asmmacro-64.h
asmmacro.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
atomic.h locking/atomic: Move ATOMIC_INIT into linux/types.h 2020-07-29 16:14:18 +02:00
barrier.h
bcache.h
bitops.h
bitrev.h
bmips-spaces.h
bmips.h
bootinfo.h MIPS: Remove PMC MSP71xx platform 2020-05-09 18:05:52 +02:00
branch.h MIPS: Fix the declaration conflict of mm_isBranchInstr() 2020-04-24 18:17:44 +02:00
break.h
bug.h
bugs.h
cache.h
cacheflush.h
cacheops.h MIPS: Rename the "Fill" cache ops to avoid build failure 2020-04-26 15:40:50 +02:00
cdmm.h
cevt-r4k.h
checksum.h
clocksource.h mips: Introduce asm/vdso/clocksource.h 2020-03-21 15:23:55 +01:00
cmp.h
cmpxchg.h
compat-signal.h
compat.h compat: provide compat_ptr() on all architectures 2020-01-03 09:32:51 +01:00
compiler.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
cop2.h
cpu-features.h KVM: MIPS: Introduce and use cpu_guest_has_ldpte 2020-06-04 13:49:00 -04:00
cpu-info.h MIPS: emulate CPUCFG instruction on older Loongson64 cores 2020-05-24 09:26:55 +02:00
cpu-type.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
cpu.h mips: Add CP0 Write Merge config support 2020-05-22 09:11:45 +02:00
cpufeature.h
debug.h
delay.h
div64.h
dma-coherence.h
dma-direct.h
dma-mapping.h
dma.h
dmi.h MIPS: Add support for Desktop Management Interface (DMI) 2020-03-23 15:44:05 +01:00
ds1287.h
dsemul.h
dsp.h
edac.h
elf.h Use ELF_BASE_PLATFORM to pass ISA level 2020-03-19 13:09:33 +01:00
errno.h
eva.h
exec.h
extable.h
fb.h
fixmap.h mm: pgtable: add shortcuts for accessing kernel PMD and PTE 2020-06-09 09:39:13 -07:00
floppy.h
fpregdef.h
fpu_emulator.h MIPS: Fix the declaration conflict of mm_isBranchInstr() 2020-04-24 18:17:44 +02:00
fpu.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
ftrace.h
futex.h futex: arch_futex_atomic_op_inuser() calling conventions change 2020-03-27 23:58:51 -04:00
ginvt.h
gio_device.h MIPS: ip22-gio: Make gio_match_device() static 2020-01-13 10:55:40 -08:00
gt64120.h
hardirq.h
hazards.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
highmem.h kmap: consolidate kmap_prot definitions 2020-06-04 19:06:22 -07:00
hpet.h
hugetlb.h mm/hugetlb: define a generic fallback for arch_clear_hugepage_flags() 2020-06-03 20:09:46 -07:00
hw_irq.h
i8259.h irqchip: Add driver for Loongson-3 HyperTransport PIC controller 2020-03-25 10:56:43 +01:00
ide.h
idle.h
inst.h MIPS: Fix build warning about "PTR_STR" redefinition 2020-05-30 10:58:30 +02:00
io.h MIPS: move ioremap_prot und iounmap out of line 2020-04-19 16:12:31 +02:00
irq_cpu.h
irq_gt641xx.h
irq_regs.h
irq.h
irqflags.h MIPS: Make DIEI support as a config option 2020-01-23 10:26:16 -08:00
isa-rev.h
isadep.h
jazz.h
jazzdma.h
jump_label.h
Kbuild asm-generic: make more kernel-space headers mandatory 2020-04-02 09:35:25 -07:00
kdebug.h
kexec.h
kgdb.h
kmap_types.h
kprobes.h
kvm_host.h KVM: MIPS: Add CONFIG6 and DIAG registers emulation 2020-06-04 13:51:45 -04:00
kvm_para.h
linkage.h
llsc.h
local.h MIPS: asm: local: add barriers for Loongson 2020-01-23 10:21:53 -08:00
m48t37.h
maar.h mips: MAAR: Add XPA mode support 2020-05-19 17:39:32 +02:00
machine.h
mc146818-time.h
mc146818rtc.h
mips_machine.h
mips_mt.h
mips-cm.h
mips-cpc.h
mips-cps.h
mips-gic.h
mips-r2-to-r6-emul.h
mipsmtregs.h
mipsprom.h
mipsregs.h KVM: MIPS: Add CONFIG6 and DIAG registers emulation 2020-06-04 13:51:45 -04:00
mmiowb.h
mmu_context.h
mmu.h
mmzone.h
module.h mips: Add MIPS Warrior P5600 support 2020-05-22 09:10:53 +02:00
msa.h
msc01_ic.h
paccess.h
page.h MIPS: Use fallthrough for arch/mips 2020-05-07 11:55:47 +02:00
pci.h
perf_event.h
pgalloc.h mips: add support for folded p4d page tables 2019-11-22 10:51:22 -08:00
pgtable-32.h mm: consolidate pte_index() and pte_offset_*() definitions 2020-06-09 09:39:14 -07:00
pgtable-64.h mm: consolidate pte_index() and pte_offset_*() definitions 2020-06-09 09:39:14 -07:00
pgtable-bits.h mips/mm: Add page soft dirty tracking 2020-05-17 10:39:19 +02:00
pgtable.h mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
pm-cps.h
pm.h
prefetch.h
processor.h MIPS updates for v5.7: 2020-03-31 08:51:45 -07:00
prom.h
ptrace.h
r4k-timer.h
r4kcache.h
reboot.h
reg.h
regdef.h
rtlx.h
seccomp.h seccomp: Use -1 marker for end of mode 1 syscall list 2020-07-10 16:01:52 -07:00
setup.h
sgialib.h
sgiarcs.h
shmparam.h
sigcontext.h
signal.h
sim.h
smp-cps.h
smp-ops.h
smp.h MIPS: arch_send_call_function_single_ipi() calling conventions change 2020-04-24 18:27:51 +02:00
sni.h MIPS: Replace setup_irq() by request_irq() 2020-03-05 16:47:35 +01:00
socket.h
sparsemem.h
spinlock_types.h
spinlock.h
spram.h
stackframe.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
stackprotector.h
stacktrace.h
string.h
switch_to.h mips: Add MIPS Release 5 support 2020-05-22 09:09:01 +02:00
sync.h MIPS: cavium_octeon: Fix syncw generation. 2020-02-15 12:44:03 -08:00
syscall.h
termios.h
thread_info.h MIPS: Avoid VDSO ABI breakage due to global register variable 2020-01-02 16:41:16 -08:00
time.h
timex.h
tlb.h
tlbdebug.h
tlbex.h
tlbflush.h
tlbmisc.h
topology.h
traps.h
txx9irq.h
txx9pio.h
txx9tmr.h
types.h
uaccess.h
uasm.h
unaligned-emul.h MIPS: Fix build warning about "PTR_STR" redefinition 2020-05-30 10:58:30 +02:00
unistd.h
unroll.h mips: Remove compiler check in unroll macro 2020-07-10 15:42:06 -07:00
uprobes.h
vdso.h
vermagic.h MIPS updates for v5.8: 2020-06-03 13:32:21 -07:00
vga.h
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
vpe.h
war.h
watch.h
wbflush.h
yamon-dt.h