1 /* $Id$ 2 * 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 5 * for more details. 6 * 7 * SGI specific setup. 8 * 9 * Copyright (C) 1995-1997,1999,2001-2003 Silicon Graphics, Inc. All rights reserved. 10 * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) 11 */ 12 #ifndef _ASM_IA64_SN_ARCH_H 13 #define _ASM_IA64_SN_ARCH_H 14 15 #include <linux/config.h> 16 #include <linux/threads.h> 17 #include <linux/mmzone.h> 18 #include <asm/sn/types.h> 19 20 #include <asm/sn/sn2/arch.h> 21 22 typedef u64 shubreg_t; 23 typedef u64 hubreg_t; 24 typedef u64 mmr_t; 25 typedef u64 nic_t; 26 27 #define CNODE_TO_CPU_BASE(_cnode) (NODEPDA(_cnode)->node_first_cpu) 28 29 #define NASID_TO_COMPACT_NODEID(nasid) (nasid_to_cnodeid(nasid)) 30 #define COMPACT_TO_NASID_NODEID(cnode) (cnodeid_to_nasid(cnode)) 31 32 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) 39 40 extern cpuid_t cnodetocpu(cnodeid_t); 41 void sn_flush_all_caches(long addr, long bytes); 42 43 extern int is_fine_dirmode(void); 44 45 46 #endif /* _ASM_IA64_SN_ARCH_H */ 47