123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- What: /sys/firmware/sgi_uv/
- Date: September 2020
- Contact: Justin Ernst <[email protected]>
- Description:
- The /sys/firmware/sgi_uv directory contains information
- about the UV platform.
- Under that directory are a number of read-only attributes::
- archtype
- hub_type
- hubless
- partition_id
- coherence_id
- uv_type
- The archtype entry contains the UV architecture type that
- is used to select arch-dependent addresses and features.
- It can be set via the OEM_ID in the ACPI MADT table or by
- UVsystab entry both passed from UV BIOS.
- The hub_type entry is used to select the type of hub which is
- similar to uv_type but encoded in a binary format. Include
- the file uv_hub.h to get the definitions.
- The hubless entry basically is present and set only if there
- is no hub. In this case the hub_type entry is not present.
- The partition_id entry contains the partition id.
- UV systems can be partitioned into multiple physical
- machines, which each partition running a unique copy
- of the operating system. Each partition will have a unique
- partition id.
- The coherence_id entry contains the coherence id.
- A partitioned UV system can have one or more coherence
- domains. The coherence id indicates which coherence domain
- this partition is in.
- The uv_type entry contains the hub revision number.
- This value can be used to identify the UV system version::
- "0.*" = Hubless UV ('*' is subtype)
- "3.0" = UV2
- "5.0" = UV3
- "7.0" = UV4
- "7.1" = UV4a
- "9.0" = UV5
- The /sys/firmware/sgi_uv directory also contains two directories::
- hubs/
- pcibuses/
- The hubs directory contains a number of hub objects, each representing
- a UV Hub visible to the BIOS. Each hub object's name is appended by a
- unique ordinal value (ex. /sys/firmware/sgi_uv/hubs/hub_5)
- Each hub object directory contains a number of read-only attributes::
- cnode
- location
- name
- nasid
- shared
- this_partition
- The cnode entry contains the cnode number of the corresponding hub.
- If a cnode value is not applicable, the value returned will be -1.
- The location entry contains the location string of the corresponding hub.
- This value is used to physically identify a hub within a system.
- The name entry contains the name of the corresponding hub. This name can
- be two variants::
- "UVHub x.x" = A 'node' ASIC, connecting a CPU to the interconnect
- fabric. The 'x.x' value represents the ASIC revision.
- (ex. 'UVHub 5.0')
- "NLxRouter" = A 'router ASIC, only connecting other ASICs to
- the interconnect fabric. The 'x' value representing
- the fabric technology version. (ex. 'NL8Router')
- The nasid entry contains the nasid number of the corresponding hub.
- If a nasid value is not applicable, the value returned will be -1.
- The shared entry contains a boolean value describing whether the
- corresponding hub is shared between system partitions.
- The this_partition entry contains a boolean value describing whether
- the corresponding hub is local to the current partition.
- Each hub object directory also contains a number of port objects,
- each representing a fabric port on the corresponding hub.
- A port object's name is appended by a unique ordinal value
- (ex. /sys/firmware/sgi_uv/hubs/hub_5/port_3)
- Each port object directory contains a number of read-only attributes::
- conn_hub
- conn_port
- The conn_hub entry contains a value representing the unique
- oridinal value of the hub on the other end of the fabric
- cable plugged into the port. If the port is disconnected,
- the value returned will be -1.
- The conn_port entry contains a value representing the unique
- oridinal value of the port on the other end of the fabric cable
- plugged into the port. If the port is disconnected, the value
- returned will be -1.
- Ex:
- A value of '3' is read from:
- /sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_hub
- and a value of '6' is read from:
- /sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_port
- representing that this port is connected to:
- /sys/firmware/sgi_uv/hubs/hub_3/port_6
- The pcibuses directory contains a number of PCI bus objects.
- Each PCI bus object's name is appended by its PCI bus address.
- (ex. pcibus_0003:80)
- Each pcibus object has a number of possible read-only attributes::
- type
- location
- slot
- ppb_addr
- iio_stack
- The type entry contains a value describing the type of IO at
- the corresponding PCI bus address. Known possible values
- across all UV versions are::
- BASE IO
- PCIe IO
- PCIe SLOT
- NODE IO
- Riser
- PPB
- The location entry contains the location string of the UV Hub
- of the CPU physically connected to the corresponding PCI bus.
- The slot entry contains the physical slot number of the
- corresponding PCI bus. This value is used to physically locate
- PCI cards within a system.
- The ppb_addr entry contains the PCI address string of the
- bridged PCI bus. This entry is only present when the PCI bus
- object type is 'PPB'.
- The iio_stack entry contains a value describing the IIO stack
- number that the corresponding PCI bus object is connected to.
|