Linux-2.6.12-rc2
[linux-2.6/kvm.git] / arch / ia64 / sn / include / tio.h
blob0139124dd54a66935124494ff4cff213f0452d89
1 /*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
6 * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved.
7 */
9 #ifndef _ASM_IA64_SN_TIO_H
10 #define _ASM_IA64_SN_TIO_H
12 #define TIO_MMR_ADDR_MOD
14 #define TIO_NODE_ID TIO_MMR_ADDR_MOD(0x0000000090060e80)
16 #define TIO_ITTE_BASE 0xb0008800 /* base of translation table entries */
17 #define TIO_ITTE(bigwin) (TIO_ITTE_BASE + 8*(bigwin))
19 #define TIO_ITTE_OFFSET_BITS 8 /* size of offset field */
20 #define TIO_ITTE_OFFSET_MASK ((1<<TIO_ITTE_OFFSET_BITS)-1)
21 #define TIO_ITTE_OFFSET_SHIFT 0
23 #define TIO_ITTE_WIDGET_BITS 2 /* size of widget field */
24 #define TIO_ITTE_WIDGET_MASK ((1<<TIO_ITTE_WIDGET_BITS)-1)
25 #define TIO_ITTE_WIDGET_SHIFT 12
26 #define TIO_ITTE_VALID_MASK 0x1
27 #define TIO_ITTE_VALID_SHIFT 16
30 #define TIO_ITTE_PUT(nasid, bigwin, widget, addr, valid) \
31 REMOTE_HUB_S((nasid), TIO_ITTE(bigwin), \
32 (((((addr) >> TIO_BWIN_SIZE_BITS) & \
33 TIO_ITTE_OFFSET_MASK) << TIO_ITTE_OFFSET_SHIFT) | \
34 (((widget) & TIO_ITTE_WIDGET_MASK) << TIO_ITTE_WIDGET_SHIFT)) | \
35 (( (valid) & TIO_ITTE_VALID_MASK) << TIO_ITTE_VALID_SHIFT))
37 #endif /* _ASM_IA64_SN_TIO_H */