arch.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $Id: arch.h,v 1.1 2002/02/28 17:31:25 marcelo Exp $
  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.  * Copyright (C) 1992 - 1997, 2000-2002 Silicon Graphics, Inc. All rights reserved.
  8.  */
  9. #ifndef _ASM_IA64_SN_SN2_ARCH_H
  10. #define _ASM_IA64_SN_SN2_ARCH_H
  11. #include <asm/types.h>
  12. #define CPUS_PER_NODE           4       /* CPUs on a single hub */
  13. #define CPUS_PER_SUBNODE        4       /* CPUs on a single hub PI */
  14. /*
  15.  * This is the maximum number of NASIDS that can be present in a system.
  16.  * (Highest NASID plus one.)
  17.  */
  18. #define MAX_NASIDS              2048
  19. /*
  20.  * This is the maximum number of nodes that can be part of a kernel.
  21.  * Effectively, it's the maximum number of compact node ids (cnodeid_t).
  22.  * This is not necessarily the same as MAX_NASIDS.
  23.  */
  24. #define MAX_COMPACT_NODES       128
  25. /*
  26.  * MAX_REGIONS refers to the maximum number of hardware partitioned regions.
  27.  */
  28. #define MAX_REGIONS 64
  29. #define MAX_NONPREMIUM_REGIONS  16
  30. #define MAX_PREMIUM_REGIONS     MAX_REGIONS
  31. /*
  32.  * MAX_PARITIONS refers to the maximum number of logically defined 
  33.  * partitions the system can support.
  34.  */
  35. #define MAX_PARTITIONS MAX_REGIONS
  36. #define NASID_MASK_BYTES ((MAX_NASIDS + 7) / 8)
  37. /*
  38.  * 1 FSB per SHUB, with up to 4 cpus per FSB.
  39.  */
  40. #define NUM_SUBNODES 1
  41. #define SUBNODE_SHFT 0
  42. #define SUBNODE_MASK (0x0 << SUBNODE_SHFT)
  43. #define LOCALCPU_SHFT 0
  44. #define LOCALCPU_MASK (0x3 << LOCALCPU_SHFT)
  45. #define SUBNODE(slice) (((slice) & SUBNODE_MASK) >> SUBNODE_SHFT)
  46. #define LOCALCPU(slice) (((slice) & LOCALCPU_MASK) >> LOCALCPU_SHFT)
  47. #define TO_SLICE(subn, local) (((subn) << SUBNODE_SHFT) | 
  48.  ((local) << LOCALCPU_SHFT))
  49. typedef u64 mmr_t;
  50. #endif /* _ASM_IA64_SN_SN2_ARCH_H */