Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"

This reverts commit 3f4579252aa166641861a64f1c2883365ca126c2. It is
invalid because the macros CAC_ADDR and UNCAC_ADDR have a kernel
virtual address as an argument and also returns a kernel virtual
address. Using and physical address PHYS_OFFSET is blatantly wrong
for a macro common to multiple platforms.

Signed-off-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
Acked-by: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Florian Fainelli <florian@openwrt.org>
Patchwork: https://patchwork.linux-mips.org/patch/5528/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Leonid Yegoshin and committed by
Ralf Baechle
ed3ce16c 4287f791

+13 -9
+5 -2
arch/mips/include/asm/mach-ar7/spaces.h
··· 14 14 * This handles the memory map. 15 15 * We handle pages at KSEG0 for kernels with 32 bit address space. 16 16 */ 17 - #define PAGE_OFFSET 0x94000000UL 18 - #define PHYS_OFFSET 0x14000000UL 17 + #define PAGE_OFFSET _AC(0x94000000, UL) 18 + #define PHYS_OFFSET _AC(0x14000000, UL) 19 + 20 + #define UNCAC_BASE _AC(0xb4000000, UL) /* 0xa0000000 + PHYS_OFFSET */ 21 + #define IO_BASE UNCAC_BASE 19 22 20 23 #include <asm/mach-generic/spaces.h> 21 24
+6 -3
arch/mips/include/asm/mach-ip28/spaces.h
··· 11 11 #ifndef _ASM_MACH_IP28_SPACES_H 12 12 #define _ASM_MACH_IP28_SPACES_H 13 13 14 - #define CAC_BASE 0xa800000000000000 14 + #define CAC_BASE _AC(0xa800000000000000, UL) 15 15 16 - #define HIGHMEM_START (~0UL) 16 + #define HIGHMEM_START (~0UL) 17 17 18 - #define PHYS_OFFSET _AC(0x20000000, UL) 18 + #define PHYS_OFFSET _AC(0x20000000, UL) 19 + 20 + #define UNCAC_BASE _AC(0xc0000000, UL) /* 0xa0000000 + PHYS_OFFSET */ 21 + #define IO_BASE UNCAC_BASE 19 22 20 23 #include <asm/mach-generic/spaces.h> 21 24
+2 -4
arch/mips/include/asm/page.h
··· 205 205 #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ 206 206 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) 207 207 208 - #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE + \ 209 - PHYS_OFFSET) 210 - #define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET - \ 211 - PHYS_OFFSET) 208 + #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) 209 + #define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) 212 210 213 211 #include <asm-generic/memory_model.h> 214 212 #include <asm-generic/getorder.h>