sysfs-firmware-sgi_uv 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. What: /sys/firmware/sgi_uv/
  2. Date: September 2020
  3. Contact: Justin Ernst <[email protected]>
  4. Description:
  5. The /sys/firmware/sgi_uv directory contains information
  6. about the UV platform.
  7. Under that directory are a number of read-only attributes::
  8. archtype
  9. hub_type
  10. hubless
  11. partition_id
  12. coherence_id
  13. uv_type
  14. The archtype entry contains the UV architecture type that
  15. is used to select arch-dependent addresses and features.
  16. It can be set via the OEM_ID in the ACPI MADT table or by
  17. UVsystab entry both passed from UV BIOS.
  18. The hub_type entry is used to select the type of hub which is
  19. similar to uv_type but encoded in a binary format. Include
  20. the file uv_hub.h to get the definitions.
  21. The hubless entry basically is present and set only if there
  22. is no hub. In this case the hub_type entry is not present.
  23. The partition_id entry contains the partition id.
  24. UV systems can be partitioned into multiple physical
  25. machines, which each partition running a unique copy
  26. of the operating system. Each partition will have a unique
  27. partition id.
  28. The coherence_id entry contains the coherence id.
  29. A partitioned UV system can have one or more coherence
  30. domains. The coherence id indicates which coherence domain
  31. this partition is in.
  32. The uv_type entry contains the hub revision number.
  33. This value can be used to identify the UV system version::
  34. "0.*" = Hubless UV ('*' is subtype)
  35. "3.0" = UV2
  36. "5.0" = UV3
  37. "7.0" = UV4
  38. "7.1" = UV4a
  39. "9.0" = UV5
  40. The /sys/firmware/sgi_uv directory also contains two directories::
  41. hubs/
  42. pcibuses/
  43. The hubs directory contains a number of hub objects, each representing
  44. a UV Hub visible to the BIOS. Each hub object's name is appended by a
  45. unique ordinal value (ex. /sys/firmware/sgi_uv/hubs/hub_5)
  46. Each hub object directory contains a number of read-only attributes::
  47. cnode
  48. location
  49. name
  50. nasid
  51. shared
  52. this_partition
  53. The cnode entry contains the cnode number of the corresponding hub.
  54. If a cnode value is not applicable, the value returned will be -1.
  55. The location entry contains the location string of the corresponding hub.
  56. This value is used to physically identify a hub within a system.
  57. The name entry contains the name of the corresponding hub. This name can
  58. be two variants::
  59. "UVHub x.x" = A 'node' ASIC, connecting a CPU to the interconnect
  60. fabric. The 'x.x' value represents the ASIC revision.
  61. (ex. 'UVHub 5.0')
  62. "NLxRouter" = A 'router ASIC, only connecting other ASICs to
  63. the interconnect fabric. The 'x' value representing
  64. the fabric technology version. (ex. 'NL8Router')
  65. The nasid entry contains the nasid number of the corresponding hub.
  66. If a nasid value is not applicable, the value returned will be -1.
  67. The shared entry contains a boolean value describing whether the
  68. corresponding hub is shared between system partitions.
  69. The this_partition entry contains a boolean value describing whether
  70. the corresponding hub is local to the current partition.
  71. Each hub object directory also contains a number of port objects,
  72. each representing a fabric port on the corresponding hub.
  73. A port object's name is appended by a unique ordinal value
  74. (ex. /sys/firmware/sgi_uv/hubs/hub_5/port_3)
  75. Each port object directory contains a number of read-only attributes::
  76. conn_hub
  77. conn_port
  78. The conn_hub entry contains a value representing the unique
  79. oridinal value of the hub on the other end of the fabric
  80. cable plugged into the port. If the port is disconnected,
  81. the value returned will be -1.
  82. The conn_port entry contains a value representing the unique
  83. oridinal value of the port on the other end of the fabric cable
  84. plugged into the port. If the port is disconnected, the value
  85. returned will be -1.
  86. Ex:
  87. A value of '3' is read from:
  88. /sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_hub
  89. and a value of '6' is read from:
  90. /sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_port
  91. representing that this port is connected to:
  92. /sys/firmware/sgi_uv/hubs/hub_3/port_6
  93. The pcibuses directory contains a number of PCI bus objects.
  94. Each PCI bus object's name is appended by its PCI bus address.
  95. (ex. pcibus_0003:80)
  96. Each pcibus object has a number of possible read-only attributes::
  97. type
  98. location
  99. slot
  100. ppb_addr
  101. iio_stack
  102. The type entry contains a value describing the type of IO at
  103. the corresponding PCI bus address. Known possible values
  104. across all UV versions are::
  105. BASE IO
  106. PCIe IO
  107. PCIe SLOT
  108. NODE IO
  109. Riser
  110. PPB
  111. The location entry contains the location string of the UV Hub
  112. of the CPU physically connected to the corresponding PCI bus.
  113. The slot entry contains the physical slot number of the
  114. corresponding PCI bus. This value is used to physically locate
  115. PCI cards within a system.
  116. The ppb_addr entry contains the PCI address string of the
  117. bridged PCI bus. This entry is only present when the PCI bus
  118. object type is 'PPB'.
  119. The iio_stack entry contains a value describing the IIO stack
  120. number that the corresponding PCI bus object is connected to.