linux_dsm_epyc7002/arch/mips/include/asm
Paul Burton 7b2cb64f91 MIPS: mm: Fix MIPS32 36b physical addressing (alchemy, netlogic)
There are 2 distinct cases in which a kernel for a MIPS32 CPU
(CONFIG_CPU_MIPS32=y) may use 64 bit physical addresses
(CONFIG_PHYS_ADDR_T_64BIT=y):

  - 36 bit physical addressing as used by RMI Alchemy & Netlogic XLP/XLR
    CPUs.

  - MIPS32r5 eXtended Physical Addressing (XPA).

These 2 cases are distinct in that they require different behaviour from
the kernel - the EntryLo registers have different formats. Until Linux
v4.1 we only supported the first case, with code conditional upon the 2
aforementioned Kconfig variables being set. Commit c5b367835c ("MIPS:
Add support for XPA.") added support for the second case, but did so by
modifying the code that existed for the first case rather than treating
the 2 cases as distinct. Since the EntryLo registers have different
formats this breaks the 36 bit Alchemy/XLP/XLR case. Fix this by
splitting the 2 cases, with XPA cases now being conditional upon
CONFIG_XPA and the non-XPA case matching the code as it existed prior to
commit c5b367835c ("MIPS: Add support for XPA.").

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Reported-by: Manuel Lauss <manuel.lauss@gmail.com>
Tested-by: Manuel Lauss <manuel.lauss@gmail.com>
Fixes: c5b367835c ("MIPS: Add support for XPA.")
Cc: James Hogan <james.hogan@imgtec.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: David Hildenbrand <dahi@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Alex Smith <alex.smith@imgtec.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: stable@vger.kernel.org # v4.1+
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/13119/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-05-13 15:30:25 +02:00
..
dec DEC: Document the R4k MB ASIC mini interrupt controller 2014-06-04 22:50:41 +02:00
emma
fw MIPS: Malta: Remove fw_memblock_t abstraction 2015-11-11 08:35:45 +01:00
ip32
lasat
mach-ar7 MIPS: Remove all the uses of custom gpio.h 2015-09-03 12:08:02 +02:00
mach-ath25 MIPS: Remove all the uses of custom gpio.h 2015-09-03 12:08:02 +02:00
mach-ath79 irqchip/ath79-cpu: Move the CPU IRQ driver from arch/mips/ath79/ 2016-02-17 13:47:19 +00:00
mach-au1x00 MIPS: Remove all the uses of custom gpio.h 2015-09-03 12:08:02 +02:00
mach-bcm47xx MIPS: BCM47xx: Fetch board info directly in callback function 2015-11-11 08:36:57 +01:00
mach-bcm63xx Revert "MIPS: bcm63xx: nvram: Remove unused bcm63xx_nvram_get_psi_size() function" 2016-01-27 20:51:50 +01:00
mach-bmips MIPS: BMIPS: Add BCM6358 support 2016-05-13 14:02:09 +02:00
mach-cavium-octeon MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
mach-cobalt MIPS: Correct `nofpu' non-functionality 2015-04-08 01:09:49 +02:00
mach-db1x00 MIPS: Alchemy: fold mach-db1xxx/db1x00 headers into board code 2014-03-26 23:09:21 +01:00
mach-dec MIPS: DEC: Update CPU overrides 2015-06-21 21:52:44 +02:00
mach-emma2rh MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-generic MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
mach-ip22 MIPS: Correct `nofpu' non-functionality 2015-04-08 01:09:49 +02:00
mach-ip27 MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
mach-ip28 MIPS: IP28: Fix/clean spaces.h 2014-08-26 02:18:58 +02:00
mach-ip32 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-04-17 15:50:54 -04:00
mach-jazz MIPS: DMA: Implement platform hook to perform post-DMA cache flushes. 2015-04-01 17:22:01 +02:00
mach-jz4740 MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
mach-lantiq MIPS: Change my email address 2016-05-13 14:02:18 +02:00
mach-lasat MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-loongson32 MIPS: Loongson1B: Some updates/fixes for LS1B 2016-05-13 14:02:05 +02:00
mach-loongson64 MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT 2016-05-13 14:02:15 +02:00
mach-malta MIPS: Malta: Setup RAM regions via DT 2015-11-11 08:35:47 +01:00
mach-netlogic MIPS: Netlogic: Move cores per node out of multi-node.h 2015-04-01 17:21:50 +02:00
mach-paravirt MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-pic32 MIPS: Add support for PIC32MZDA platform 2016-01-24 02:53:28 +01:00
mach-pistachio MIPS: Remove all the uses of custom gpio.h 2015-09-03 12:08:02 +02:00
mach-pmcs-msp71xx MIPS: asm: Rename GCC_OFF12_ASM to GCC_OFF_SMALL_ASM 2015-02-17 15:37:21 +00:00
mach-pnx833x MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-ralink MIPS: Change my email address 2016-05-13 14:02:18 +02:00
mach-rc32434 MIPS: Remove all the uses of custom gpio.h 2015-09-03 12:08:02 +02:00
mach-rm MIPS: Correct `nofpu' non-functionality 2015-04-08 01:09:49 +02:00
mach-sead3 irqchip: mips-gic: Probe for number of external interrupts 2014-11-24 07:44:56 +01:00
mach-sibyte MIPS: SB1: Remove support for Pass 1 parts. 2015-07-14 21:47:34 +02:00
mach-tx39xx MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-tx49xx MIPS: Replace use of phys_t with phys_addr_t. 2014-11-24 22:47:31 +01:00
mach-vr41xx MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-xilfpga MIPS: xilfpga: Add mipsfpga platform code 2015-11-11 08:38:44 +01:00
mips-boards MIPS: SEAD3: New header file sead3-addr.h with hardware addresses. 2015-04-01 17:22:07 +02:00
netlogic genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
octeon MIPS: Octeon: board_type_to_string: return NULL for unsupported board 2016-05-13 14:01:41 +02:00
pci MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
sgi MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
sibyte MIPS: BCM1480: bcm1480_regs.h: strip redundant comments 2016-05-13 14:02:13 +02:00
sn MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
txx9
vr41xx
xtalk MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers 2015-06-21 21:54:21 +02:00
abi.h MIPS: Initial implementation of a VDSO 2015-11-11 08:36:36 +01:00
addrspace.h MIPS: Add NUMA support for Loongson-3 2014-07-30 21:46:19 +02:00
amon.h MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
arch_hweight.h
asm-eva.h MIPS: asm: asm-eva: Introduce kernel load/store variants 2015-04-10 15:41:43 +02:00
asm-offsets.h
asm.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
asmmacro-32.h Merge branch '4.1-fp' into mips-for-linux-next 2015-04-13 16:01:37 +02:00
asmmacro-64.h MIPS: Support for 64-bit FP with O32 binaries 2014-01-13 23:40:56 +01:00
asmmacro.h MIPS: Fix MSA assembly warnings 2016-05-09 12:00:05 +02:00
atomic.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-11-15 09:10:53 -08:00
barrier.h mips: define __smp_xxx 2016-01-12 20:46:56 +02:00
bcache.h MIPS: Introduce API for enabling & disabling L2 prefetch 2015-10-26 09:49:41 +01:00
bitops.h MIPS: Move definitions for 32/64-bit agonstic inline assembler to new file. 2016-05-09 12:00:05 +02:00
bitrev.h MIPS: Implement __arch_bitrev* using bitswap for MIPSr6 2016-05-13 14:02:17 +02:00
bmips-spaces.h MIPS: BMIPS: Define BMIPS_FIXADDR_TOP in asm/bmips-spaces.h 2015-06-21 21:53:30 +02:00
bmips.h MIPS: BMIPS: Add early CPU initialization code 2016-05-13 14:01:55 +02:00
bootinfo.h MIPS: Introduce plat_get_fdt a platform API to retrieve the FDT 2016-05-13 14:02:03 +02:00
branch.h MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator for MIPS R6 2015-02-17 15:37:37 +00:00
break.h
bug.h
bugs.h
cache.h
cacheflush.h MIPS: Sync icache & dcache in set_pte_at 2016-05-13 14:01:58 +02:00
cacheops.h MIPS: Loongson: Add Loongson-3A R2 basic support 2016-05-13 14:02:14 +02:00
cdmm.h MIPS: CDMM: Add builtin_mips_cdmm_driver() macro 2015-11-05 11:15:41 +01:00
cevt-r4k.h MIPS: cevt-r4k: Migrate to new 'set-state' interface 2015-09-03 12:07:52 +02:00
checksum.h ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short 2016-03-13 23:55:13 -04:00
clock.h MIPS: Remove declaration of obsolete arch_init_clk_ops() 2014-11-24 07:45:37 +01:00
clocksource.h MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() 2015-11-11 08:36:41 +01:00
cmp.h MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
cmpxchg.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
compat-signal.h
compat.h MIPS: Clean up compat_siginfo_t 2015-11-12 11:35:47 +01:00
compiler.h MIPS: Use the new "ZC" constraint for MIPS R6 2015-02-17 15:37:21 +00:00
cop2.h MIPS: Prevent compiler warning from cop2_{save,restore} 2014-10-23 19:58:13 +02:00
cpu-features.h MIPS: Separate XPA CPU feature into LPA and MVH 2016-05-13 14:02:24 +02:00
cpu-info.h MIPS: Support extended ASIDs 2016-05-13 14:02:20 +02:00
cpu-type.h MIPS: Add M6250 cases to CPU switch statements 2016-05-13 14:01:53 +02:00
cpu.h MIPS: Separate XPA CPU feature into LPA and MVH 2016-05-13 14:02:24 +02:00
debug.h MIPS: Declare mips_debugfs_dir in a header 2015-10-26 09:49:42 +01:00
delay.h
device.h
div64.h
dma-coherence.h MIPS: improve checks for noncoherent DMA 2014-01-22 20:43:10 +01:00
dma-mapping.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dma.h
ds1287.h
dsp.h
edac.h EDAC: Cleanup atomic_scrub mess 2015-05-28 15:31:53 +02:00
elf.h MIPS: ELF: Restructure personality macros 2016-05-13 14:02:11 +02:00
errno.h
eva.h MIPS: EVA: Add new EVA header 2014-08-26 02:18:56 +02:00
exec.h
fb.h
fixmap.h MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
floppy.h
fpregdef.h MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
fpu_emulator.h MIPS: math-emu: Make microMIPS branch delay slot emulation work 2016-01-24 01:35:46 +01:00
fpu.h MIPS: Fix FPU disable with preemption 2016-02-01 23:36:38 +01:00
ftrace.h MIPS: ftrace: Fix a microMIPS build problem 2014-10-24 02:38:33 +02:00
futex.h MIPS: asm: futex: Set the appropriate ISA level for MIPS R6 2015-02-17 15:37:23 +00:00
gio_device.h MIPS: ip22-gio: Remove legacy suspend/resume support 2015-02-20 13:30:55 +01:00
gt64120.h
hardirq.h
hazards.h MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT 2016-05-13 14:02:15 +02:00
highmem.h MIPS: highmem: Turn flush_cache_kmaps into a no-op. 2016-05-13 14:01:38 +02:00
hpet.h MIPS: Loongson-3: Add RS780/SBX00 HPET support 2014-11-24 07:45:02 +01:00
hugetlb.h mm/hugetlb: remove arch_prepare/release_hugepage from arch headers 2015-06-25 17:00:35 -07:00
hw_irq.h
i8259.h MIPS: i8259: DT support 2015-06-21 21:54:29 +02:00
ide.h
idle.h cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic 2014-11-12 21:17:27 +01:00
inst.h
io.h MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT 2016-05-13 14:02:15 +02:00
irq_cpu.h MIPS: Rename mips_cpu_intc_init() -> mips_cpu_irq_of_init() 2014-11-24 07:44:52 +01:00
irq_gt641xx.h
irq_regs.h MIPS: Select CONFIG_HANDLE_DOMAIN_IRQ and make it work. 2016-05-13 14:01:40 +02:00
irq.h MIPS: Remove "weak" from get_c0_fdc_int() declaration 2015-09-03 12:07:38 +02:00
irqflags.h MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT 2016-05-13 14:02:15 +02:00
isadep.h
jazz.h
jazzdma.h
jump_label.h locking/static_keys: Add a new static_key interface 2015-08-03 11:34:15 +02:00
Kbuild MIPS: Use generic clkdev.h header 2016-05-13 14:01:58 +02:00
kdebug.h MIPS: Add uprobes support. 2015-09-03 12:08:05 +02:00
kexec.h
kgdb.h MIPS: Get rid of 'kgdb_early_setup' cruft. 2015-06-21 21:54:10 +02:00
kmap_types.h
kprobes.h
kvm_host.h MIPS: KVM: Abstract guest ASID mask 2016-05-13 14:02:19 +02:00
kvm_para.h MIPS: Add functions for hypervisor call 2014-05-30 21:01:11 +02:00
linkage.h MIPS: Remove "__weak" definition from arch-specific linkage.h 2015-09-03 12:07:39 +02:00
llsc.h MIPS: Move definitions for 32/64-bit agonstic inline assembler to new file. 2016-05-09 12:00:05 +02:00
local.h MIPS: asm: local: Set the appropriate ISA level for MIPS R6 2015-02-17 15:37:24 +00:00
m48t37.h
maar.h MIPS: Initialise MAARs on secondary CPUs 2015-09-27 14:15:26 +02:00
mc146818-time.h
mc146818rtc.h
mips_machine.h
mips_mt.h MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
mips-cm.h MIPS: CM: Fix mips_cm_max_vp_width for UP kernels 2016-05-13 14:01:48 +02:00
mips-cpc.h MIPS: CPC: Add start, stop and running CM3 CPC registers 2016-05-13 14:01:48 +02:00
mips-r2-to-r6-emul.h MIPS: traps: Correct the SIGTRAP debug ABI in do_watch' and do_trap_or_bp' 2016-04-03 12:32:09 +02:00
mipsmtregs.h MIPS: MT: define write_c0_tchalt macro 2014-05-28 16:20:22 +01:00
mipsprom.h
mipsregs.h MIPS: Add & use CP0_EntryHi ASID definitions 2016-05-13 14:02:18 +02:00
mmu_context.h MIPS: Retrieve ASID masks using function accepting struct cpuinfo_mips 2016-05-13 14:02:20 +02:00
mmu.h MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS 2015-02-12 12:30:29 +01:00
mmzone.h
module.h MIPS: asm: module: define MODULE_PROC_FAMILY for MIPS R6 2015-02-17 15:37:17 +00:00
msa.h MIPS: Introduce accessors for MSA vector registers 2015-09-03 12:07:40 +02:00
msc01_ic.h
nile4.h mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
paccess.h MIPS: Apply `.insn' to fixup labels throughout 2014-11-24 07:45:36 +01:00
page.h Revert "MIPS: Fix PAGE_MASK definition" 2016-01-23 00:28:57 +01:00
pci.h MIPS: make PCI_DMA_BUS_IS_PHYS=1 constant 2016-05-13 14:02:17 +02:00
perf_event.h
pgalloc.h mips: handle pgtable_page_ctor() fail 2013-11-15 09:32:18 +09:00
pgtable-32.h MIPS: mm: Fix MIPS32 36b physical addressing (alchemy, netlogic) 2016-05-13 15:30:25 +02:00
pgtable-64.h MIPS64: Support of at least 48 bits of SEGBITS 2016-05-13 14:02:16 +02:00
pgtable-bits.h MIPS: mm: Fix MIPS32 36b physical addressing (alchemy, netlogic) 2016-05-13 15:30:25 +02:00
pgtable.h MIPS: mm: Fix MIPS32 36b physical addressing (alchemy, netlogic) 2016-05-13 15:30:25 +02:00
pm-cps.h MIPS: pm-cps: add PM state entry code for CPS systems 2014-05-28 16:20:31 +01:00
pm.h Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
pmon.h
prefetch.h
processor.h MIPS64: Support of at least 48 bits of SEGBITS 2016-05-13 14:02:16 +02:00
prom.h MIPS: prepare for user enabling of CONFIG_OF 2015-06-21 21:54:14 +02:00
ptrace.h MIPS: Add uprobes support. 2015-09-03 12:08:05 +02:00
r4k-timer.h
r4kcache.h MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes 2015-04-10 15:41:46 +02:00
reboot.h
reg.h MIPS: asm/reg.h: Move to uapi 2014-08-02 00:06:38 +02:00
regdef.h
rtlx.h MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
seccomp.h MIPS: seccomp: Support compat with both O32 and N32 2016-05-13 14:02:01 +02:00
setup.h MIPS: Add 8250/16550 serial early printk driver 2013-10-29 21:24:36 +01:00
sgialib.h MIPS: ARC: Add declarations for a few missing ARC firmware functions. 2015-01-13 16:04:28 +01:00
sgiarcs.h MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
shmparam.h
sigcontext.h Revert "MIPS: Save/restore MSA context around signals" 2014-06-26 10:48:18 +01:00
signal.h MIPS64: signal: Fix o32 sigaction syscall 2016-05-13 14:02:16 +02:00
sim.h
smp-cps.h MIPS: smp-cps: Pull boot config retrieval out of mips_cps_boot_vpes 2016-05-13 14:01:50 +02:00
smp-ops.h MIPS: Make smp CMP, CPS and MT use the new generic IPI functions 2016-02-25 10:56:58 +01:00
smp.h MIPS: SMP: Don't increment irq_count multiple times for call function IPIs 2015-08-03 09:25:12 +02:00
sni.h
socket.h
sparsemem.h MIPS: Add NUMA support for Loongson-3 2014-07-30 21:46:19 +02:00
spinlock_types.h
spinlock.h MIPS: Select CONFIG_ARCH_USE_CMPXCHG_LOCKREF for MIPS64 2015-09-03 12:08:01 +02:00
spram.h MIPS: asm: spram: Add new symbol for MIPS scratch pad storage 2015-02-17 15:37:20 +00:00
stackframe.h MIPS: Fix FPU disable with preemption 2016-02-01 23:36:38 +01:00
stackprotector.h MIPS: initial stack protector support 2013-07-01 15:10:48 +02:00
stacktrace.h
string.h
switch_to.h MIPS: Fix watchpoint restoration 2016-05-09 12:00:02 +02:00
syscall.h MIPS: Fix buffer overflow in syscall_get_arguments() 2016-02-01 23:27:08 +01:00
termios.h
thread_info.h MIPS: Add uprobes support. 2015-09-03 12:08:05 +02:00
time.h MIPS: Remove "weak" from get_c0_compare_int() declaration 2015-09-03 12:07:38 +02:00
timex.h MIPS: Implement random_get_entropy with CP0 Random 2014-05-30 18:21:30 +02:00
tlb.h MIPS: tlb: Set the EHINV bit for TLBINVF cores when invalidating the TLB 2014-01-22 20:18:59 +01:00
tlbdebug.h MIPS: Refactor dumping of TLB registers for r3k/r4k 2015-09-03 12:07:45 +02:00
tlbflush.h
tlbmisc.h
topology.h sched/topology: Rename topology_thread_cpumask() to topology_sibling_cpumask() 2015-05-27 15:22:15 +02:00
traps.h
txx9irq.h MIPS/IRQCHIP: Move irq_chip from arch/mips to drivers/irqchip. 2015-06-21 21:52:50 +02:00
txx9pio.h
txx9tmr.h
types.h MIPS: Remove now unused definition of phys_t. 2014-11-24 22:47:31 +01:00
uaccess.h MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
uasm.h MIPS: Loongson-3: Fast TLB refill handler 2016-05-13 14:02:15 +02:00
unaligned.h
unistd.h sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL 2014-06-04 16:54:14 -07:00
uprobes.h MIPS: Add uprobes support. 2015-09-03 12:08:05 +02:00
vdso.h MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() 2015-11-11 08:36:41 +01:00
vga.h MIPS: Fix VGA_MAP_MEM macro. 2013-09-18 17:13:58 +02:00
vpe.h MIPS: MT: Remove "weak" from vpe_run() declaration 2015-08-26 15:23:40 +02:00
war.h
watch.h MIPS: Fix watchpoint restoration 2016-05-09 12:00:02 +02:00
wbflush.h