0001
0002
0003
0004
0005
0006 #ifndef __ASM_SN_MAPPED_KERNEL_H
0007 #define __ASM_SN_MAPPED_KERNEL_H
0008
0009 #include <linux/mmzone.h>
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #include <asm/addrspace.h>
0027
0028 #define REP_BASE CAC_BASE
0029
0030 #ifdef CONFIG_MAPPED_KERNEL
0031
0032 #define MAPPED_ADDR_RO_TO_PHYS(x) (x - REP_BASE)
0033 #define MAPPED_ADDR_RW_TO_PHYS(x) (x - REP_BASE - 16777216)
0034
0035 #define MAPPED_KERN_RO_PHYSBASE(n) (hub_data(n)->kern_vars.kv_ro_baseaddr)
0036 #define MAPPED_KERN_RW_PHYSBASE(n) (hub_data(n)->kern_vars.kv_rw_baseaddr)
0037
0038 #define MAPPED_KERN_RO_TO_PHYS(x) \
0039 ((unsigned long)MAPPED_ADDR_RO_TO_PHYS(x) | \
0040 MAPPED_KERN_RO_PHYSBASE(get_nasid()))
0041 #define MAPPED_KERN_RW_TO_PHYS(x) \
0042 ((unsigned long)MAPPED_ADDR_RW_TO_PHYS(x) | \
0043 MAPPED_KERN_RW_PHYSBASE(get_nasid()))
0044
0045 #else
0046
0047 #define MAPPED_KERN_RO_TO_PHYS(x) (x - REP_BASE)
0048 #define MAPPED_KERN_RW_TO_PHYS(x) (x - REP_BASE)
0049
0050 #endif
0051
0052 #define MAPPED_KERN_RO_TO_K0(x) PHYS_TO_K0(MAPPED_KERN_RO_TO_PHYS(x))
0053 #define MAPPED_KERN_RW_TO_K0(x) PHYS_TO_K0(MAPPED_KERN_RW_TO_PHYS(x))
0054
0055 #endif