1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2010 Loongson Inc. & Lemote Inc. & 4*4882a593Smuzhiyun * Institute of Computing Technology 5*4882a593Smuzhiyun * Author: Xiang Gao, gaoxiang@ict.ac.cn 6*4882a593Smuzhiyun * Huacai Chen, chenhc@lemote.com 7*4882a593Smuzhiyun * Xiaofu Meng, Shuangshuang Zhang 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun #ifndef _ASM_MACH_LOONGSON64_MMZONE_H 10*4882a593Smuzhiyun #define _ASM_MACH_LOONGSON64_MMZONE_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define NODE_ADDRSPACE_SHIFT 44 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #define pa_to_nid(addr) (((addr) & 0xf00000000000) >> NODE_ADDRSPACE_SHIFT) 15*4882a593Smuzhiyun #define nid_to_addrbase(nid) ((unsigned long)(nid) << NODE_ADDRSPACE_SHIFT) 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun extern struct pglist_data *__node_data[]; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define NODE_DATA(n) (__node_data[n]) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun extern void setup_zero_pages(void); 22*4882a593Smuzhiyun extern void __init prom_init_numa_memory(void); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #endif /* _ASM_MACH_MMZONE_H */ 25