Skip to content

Commit

Permalink
Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
Browse files Browse the repository at this point in the history
This reverts commit 3f45792. 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 <[email protected]>
Acked-by: Steven J. Hill <[email protected]>
Cc: [email protected]
Cc: Florian Fainelli <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/5528/
Signed-off-by: Ralf Baechle <[email protected]>
  • Loading branch information
Leonid Yegoshin authored and ralfbaechle committed Jul 1, 2013
1 parent 4287f79 commit ed3ce16
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
7 changes: 5 additions & 2 deletions arch/mips/include/asm/mach-ar7/spaces.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@
* This handles the memory map.
* We handle pages at KSEG0 for kernels with 32 bit address space.
*/
#define PAGE_OFFSET 0x94000000UL
#define PHYS_OFFSET 0x14000000UL
#define PAGE_OFFSET _AC(0x94000000, UL)
#define PHYS_OFFSET _AC(0x14000000, UL)

#define UNCAC_BASE _AC(0xb4000000, UL) /* 0xa0000000 + PHYS_OFFSET */
#define IO_BASE UNCAC_BASE

#include <asm/mach-generic/spaces.h>

Expand Down
9 changes: 6 additions & 3 deletions arch/mips/include/asm/mach-ip28/spaces.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@
#ifndef _ASM_MACH_IP28_SPACES_H
#define _ASM_MACH_IP28_SPACES_H

#define CAC_BASE 0xa800000000000000
#define CAC_BASE _AC(0xa800000000000000, UL)

#define HIGHMEM_START (~0UL)
#define HIGHMEM_START (~0UL)

#define PHYS_OFFSET _AC(0x20000000, UL)
#define PHYS_OFFSET _AC(0x20000000, UL)

#define UNCAC_BASE _AC(0xc0000000, UL) /* 0xa0000000 + PHYS_OFFSET */
#define IO_BASE UNCAC_BASE

#include <asm/mach-generic/spaces.h>

Expand Down
6 changes: 2 additions & 4 deletions arch/mips/include/asm/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,8 @@ extern int __virt_addr_valid(const volatile void *kaddr);
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE + \
PHYS_OFFSET)
#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET - \
PHYS_OFFSET)
#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE)
#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET)

#include <asm-generic/memory_model.h>
#include <asm-generic/getorder.h>
Expand Down

0 comments on commit ed3ce16

Please sign in to comment.