Back to home page

OSCL-LXR

 
 

    


0001 What:           /sys/firmware/sgi_uv/
0002 Date:           September 2020
0003 Contact:        Justin Ernst <justin.ernst@hpe.com>
0004 Description:
0005                 The /sys/firmware/sgi_uv directory contains information
0006                 about the UV platform.
0007 
0008                 Under that directory are a number of read-only attributes::
0009 
0010                         archtype
0011                         hub_type
0012                         hubless
0013                         partition_id
0014                         coherence_id
0015                         uv_type
0016 
0017                 The archtype entry contains the UV architecture type that
0018                 is used to select arch-dependent addresses and features.
0019                 It can be set via the OEM_ID in the ACPI MADT table or by
0020                 UVsystab entry both passed from UV BIOS.
0021 
0022                 The hub_type entry is used to select the type of hub which is
0023                 similar to uv_type but encoded in a binary format.  Include
0024                 the file uv_hub.h to get the definitions.
0025 
0026                 The hubless entry basically is present and set only if there
0027                 is no hub.  In this case the hub_type entry is not present.
0028 
0029                 The partition_id entry contains the partition id.
0030                 UV systems can be partitioned into multiple physical
0031                 machines, which each partition running a unique copy
0032                 of the operating system. Each partition will have a unique
0033                 partition id.
0034 
0035                 The coherence_id entry contains the coherence id.
0036                 A partitioned UV system can have one or more coherence
0037                 domains. The coherence id indicates which coherence domain
0038                 this partition is in.
0039 
0040                 The uv_type entry contains the hub revision number.
0041                 This value can be used to identify the UV system version::
0042 
0043                         "0.*" = Hubless UV ('*' is subtype)
0044                         "3.0" = UV2
0045                         "5.0" = UV3
0046                         "7.0" = UV4
0047                         "7.1" = UV4a
0048                         "9.0" = UV5
0049 
0050                 The /sys/firmware/sgi_uv directory also contains two directories::
0051 
0052                         hubs/
0053                         pcibuses/
0054 
0055                 The hubs directory contains a number of hub objects, each representing
0056                 a UV Hub visible to the BIOS. Each hub object's name is appended by a
0057                 unique ordinal value (ex. /sys/firmware/sgi_uv/hubs/hub_5)
0058 
0059                 Each hub object directory contains a number of read-only attributes::
0060 
0061                         cnode
0062                         location
0063                         name
0064                         nasid
0065                         shared
0066                         this_partition
0067 
0068                 The cnode entry contains the cnode number of the corresponding hub.
0069                 If a cnode value is not applicable, the value returned will be -1.
0070 
0071                 The location entry contains the location string of the corresponding hub.
0072                 This value is used to physically identify a hub within a system.
0073 
0074                 The name entry contains the name of the corresponding hub. This name can
0075                 be two variants::
0076 
0077                         "UVHub x.x" = A 'node' ASIC, connecting a CPU to the interconnect
0078                         fabric. The 'x.x' value represents the ASIC revision.
0079                         (ex. 'UVHub 5.0')
0080 
0081                         "NLxRouter" = A 'router ASIC, only connecting other ASICs to
0082                         the interconnect fabric. The 'x' value representing
0083                         the fabric technology version. (ex. 'NL8Router')
0084 
0085                 The nasid entry contains the nasid number of the corresponding hub.
0086                 If a nasid value is not applicable, the value returned will be -1.
0087 
0088                 The shared entry contains a boolean value describing whether the
0089                 corresponding hub is shared between system partitions.
0090 
0091                 The this_partition entry contains a boolean value describing whether
0092                 the corresponding hub is local to the current partition.
0093 
0094                 Each hub object directory also contains a number of port objects,
0095                 each representing a fabric port on the corresponding hub.
0096                 A port object's name is appended by a unique ordinal value
0097                 (ex. /sys/firmware/sgi_uv/hubs/hub_5/port_3)
0098 
0099                 Each port object directory contains a number of read-only attributes::
0100 
0101                         conn_hub
0102                         conn_port
0103 
0104                 The conn_hub entry contains a value representing the unique
0105                 oridinal value of the hub on the other end of the fabric
0106                 cable plugged into the port. If the port is disconnected,
0107                 the value returned will be -1.
0108 
0109                 The conn_port entry contains a value representing the unique
0110                 oridinal value of the port on the other end of the fabric cable
0111                 plugged into the port. If the port is disconnected, the value
0112                 returned will be -1.
0113 
0114                 Ex:
0115                         A value of '3' is read from:
0116                                 /sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_hub
0117 
0118                         and a value of '6' is read from:
0119                                 /sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_port
0120 
0121                         representing that this port is connected to:
0122                                 /sys/firmware/sgi_uv/hubs/hub_3/port_6
0123 
0124                 The pcibuses directory contains a number of PCI bus objects.
0125                 Each PCI bus object's name is appended by its PCI bus address.
0126                 (ex. pcibus_0003:80)
0127 
0128                 Each pcibus object has a number of possible read-only attributes::
0129 
0130                         type
0131                         location
0132                         slot
0133                         ppb_addr
0134                         iio_stack
0135 
0136                 The type entry contains a value describing the type of IO at
0137                 the corresponding PCI bus address. Known possible values
0138                 across all UV versions are::
0139 
0140                         BASE IO
0141                         PCIe IO
0142                         PCIe SLOT
0143                         NODE IO
0144                         Riser
0145                         PPB
0146 
0147                 The location entry contains the location string of the UV Hub
0148                 of the CPU physically connected to the corresponding PCI bus.
0149 
0150                 The slot entry contains the physical slot number of the
0151                 corresponding PCI bus. This value is used to physically locate
0152                 PCI cards within a system.
0153 
0154                 The ppb_addr entry contains the PCI address string of the
0155                 bridged PCI bus. This entry is only present when the PCI bus
0156                 object type is 'PPB'.
0157 
0158                 The iio_stack entry contains a value describing the IIO stack
0159                 number that the corresponding PCI bus object is connected to.