A generic NVM Subsystem with support for multiple NVMe controllers
conf_object, log_object, component, component_connector
- 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.
-
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 all I/O controllers, 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.
-
n_io_controllers
-
Optional attribute;
read/write access; type:
i
The number of NVMe IO controllers in the NVM Subsystem. Default value is 1. May not be higher than 64.
-
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.
-
pcie_link_width
-
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.
-
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
simics-nvme-comp