signal_link simple_memory_module
Simics Reference Manual  /  4 Components  / 

simics_nvme_comp

Description

A generic NVMe device over PCIe with support for multiple namespaces. Namespaces can be added with the add_namespace command.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

SN
Optional attribute; read/write access; type: s
The serial number of the NVMe device. Default value is "SIMICS_NVME". With multiple NVMe devices in one system, it is recommended to set a unique serial number for each device.
auto_attach_namespaces
Optional attribute; read/write access; type: b
If set to True, namespaces added with the add-namespace command will automatically attached to the I/O controller upon instantiation.
bandwidth
Optional attribute; read/write access; type: i
The read/write speed of the NVMe disk, provided in MB/s. 0 means instant read/write:s, which is the default value
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
disk_size
Required attribute; read/write access; type: i
The size of the underlying storage for the NVMe drive. The combined size of the namespaces added with the add_namespace command must not exceed this value.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_size
Optional attribute; read/write access; type: b
If set to True, adding a namespace will increase the disk size if needed. This only works before instantiation.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pcie_gen_speed
Optional attribute; read/write access; type: i
Based on the value of this parameter, the NVMe PCIe I/O controller will be configured to advertise its maximum supported link and speed. It will advertise the highest supported link speed for the given PCIe generation . Note that this does not set the PCIe version of the NVMe device, as the version of this device is fixed at 6. The value of this parameter must be between 1 and 6. Default value is 5.
Optional attribute; read/write access; type: i
The maximum link width that the NVMe PCIe I/O controller will advertise. Valid values are 1, 2, 4, 8, or 16. Default value is 8.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
rpmb_data_area_size
Optional attribute; read/write access; type: i
The size of the RPMB data area in 128 KiB blocks. Default value is 1. Must be a value between 1 (128 KiB) and 255 (32 MiB).
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b
Set to TRUE for top-level components, i.e. the root of a hierarchy.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

simics-nvme-comp
signal_link simple_memory_module