// Copyright (c) 2018, Intel Corporation.
// SPDX-License-Identifier: BSD-3-Clause

ifdef::manpage[]
ipmctl-show-topology(1)
=======================
endif::manpage[]

NAME
----
ipmctl-show-topology - Shows the topology of the memory installed

SYNOPSIS
--------
[listing]
ipmctl show [OPTIONS] -topology [TARGETS]

DESCRIPTION
-----------
Shows the topology of the memory installed in the host server. Use the command
ipmctl-show-device to view more detailed information about a PMem module.

OPTIONS
-------
-a::
-all::
  Shows all attributes.

-h::
-help::
  Displays help for the command.

-ddrt::
  Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl.

-smbus::
  Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl.

NOTE: The -ddrt and -smbus options are mutually exclusive and may not be used together.

ifdef::os_build[]
-o (text|nvmxml)::
-output (text|nvmxml)::
  Changes the output format. One of: "text" (default) or "nvmxml".
endif::os_build[]

-u (B|MB|MiB|GB|GiB|TB| TiB)::
-units (B|MB|MiB|GB|GiB|TB| TiB)::
  Changes the units that capacities are displayed in for this command. One of:
  bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB),
  terabytes (TB) or tebibytes (TiB).

TARGETS
-------
-dimm [DimmIDs]::
  Restricts output to specific PMem modules by optionally supplying the PMem module target and one or
  more comma-separated PMem module identifiers. The default is to display all PMem modules.

-socket [SocketIDs]::
  Restricts output to the PMem modules installed on specific sockets by supplying the
  socket target and one or more comma-separated socket identifiers. The default
  is to display all sockets.

NOTE: If ACPI PMTT table is not present, then DDR4 memory will not be
displayed in the filtered socket list.

EXAMPLES
--------
Displays the system memory topology.
[listing]
ipmctl show -topology

RETURN DATA
-----------
Displays a table with the attributes listed below for each memory PMem module installed
in the host server.

MemoryType::
  (Default) The DIMM type. One of:
  - Unknown
  - DDR4
  - Logical Non-volatile Device

Capacity::
  (Default) The raw capacity of the PMem module as reported in the SMBIOS Type 17
  table.

DimmID::
  (Default) The DIMM identifier. For DRAM DIMMs, the DimmID is "N/A".

PhysicalID::
  (Default) The PMem module physical identifier (i.e., SMBIOS Type 17 handle).

DeviceLocator::
  (Default) The string that identifies the physically-labeled socket or board
  position where the PMem module is located.

SocketID::
  The processor socket identifier (i.e., NUMA node) where the PMem module is installed.

DieID::
  The processor die identifier where the PMem module is installed.

MemControllerID::
  The associated memory controller identifier.

ChannelID::
  The associated channel. For DRAM DIMMs, the channel identifier is "N/A".

ChannelPos::
  The PMem module position in the channel.

NodeControllerID::
  The node controller identifier.

BankLabel::
  The string that identifies the physically-labeled bank where the PMem module is
  located.
