tio.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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.
  5. *
  6. * Copyright (C) 2000-2005 Silicon Graphics, Inc. All rights reserved.
  7. */
  8. #ifndef _ASM_IA64_SN_TIO_H
  9. #define _ASM_IA64_SN_TIO_H
  10. #define TIO_MMR_ADDR_MOD
  11. #define TIO_NODE_ID TIO_MMR_ADDR_MOD(0x0000000090060e80)
  12. #define TIO_ITTE_BASE 0xb0008800 /* base of translation table entries */
  13. #define TIO_ITTE(bigwin) (TIO_ITTE_BASE + 8*(bigwin))
  14. #define TIO_ITTE_OFFSET_BITS 8 /* size of offset field */
  15. #define TIO_ITTE_OFFSET_MASK ((1<<TIO_ITTE_OFFSET_BITS)-1)
  16. #define TIO_ITTE_OFFSET_SHIFT 0
  17. #define TIO_ITTE_WIDGET_BITS 2 /* size of widget field */
  18. #define TIO_ITTE_WIDGET_MASK ((1<<TIO_ITTE_WIDGET_BITS)-1)
  19. #define TIO_ITTE_WIDGET_SHIFT 12
  20. #define TIO_ITTE_VALID_MASK 0x1
  21. #define TIO_ITTE_VALID_SHIFT 16
  22. #define TIO_ITTE_WIDGET(itte) \
  23. (((itte) >> TIO_ITTE_WIDGET_SHIFT) & TIO_ITTE_WIDGET_MASK)
  24. #define TIO_ITTE_VALID(itte) \
  25. (((itte) >> TIO_ITTE_VALID_SHIFT) & TIO_ITTE_VALID_MASK)
  26. #define TIO_ITTE_PUT(nasid, bigwin, widget, addr, valid) \
  27. REMOTE_HUB_S((nasid), TIO_ITTE(bigwin), \
  28. (((((addr) >> TIO_BWIN_SIZE_BITS) & \
  29. TIO_ITTE_OFFSET_MASK) << TIO_ITTE_OFFSET_SHIFT) | \
  30. (((widget) & TIO_ITTE_WIDGET_MASK) << TIO_ITTE_WIDGET_SHIFT)) | \
  31. (( (valid) & TIO_ITTE_VALID_MASK) << TIO_ITTE_VALID_SHIFT))
  32. #endif /* _ASM_IA64_SN_TIO_H */