3 * This file is subject to the terms and conditions of the GNU General Public
4 * License. See the file "COPYING" in the main directory of this archive
9 * Copyright (C) 1995-1997,1999,2001-2003 Silicon Graphics, Inc. All rights reserved.
10 * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
12 #ifndef _ASM_IA64_SN_ARCH_H
13 #define _ASM_IA64_SN_ARCH_H
15 #include <linux/config.h>
16 #include <linux/threads.h>
17 #include <linux/mmzone.h>
18 #include <asm/sn/types.h>
20 #include <asm/sn/sn2/arch.h>
22 typedef u64 shubreg_t;
27 #define CNODE_TO_CPU_BASE(_cnode) (NODEPDA(_cnode)->node_first_cpu)
29 #define NASID_TO_COMPACT_NODEID(nasid) (nasid_to_cnodeid(nasid))
30 #define COMPACT_TO_NASID_NODEID(cnode) (cnodeid_to_nasid(cnode))
33 #define INVALID_NASID ((nasid_t)-1)
34 #define INVALID_CNODEID ((cnodeid_t)-1)
35 #define INVALID_PNODEID ((pnodeid_t)-1)
36 #define INVALID_SLAB (slabid_t)-1
37 #define INVALID_MODULE ((moduleid_t)-1)
38 #define INVALID_PARTID ((partid_t)-1)
40 extern cpuid_t cnodetocpu(cnodeid_t);
41 void sn_flush_all_caches(long addr, long bytes);
43 extern int is_fine_dirmode(void);
46 #endif /* _ASM_IA64_SN_ARCH_H */