def supports_hpet(self) -> bool:
return self.is_x86_variant()
+ def supports_cxl(self) -> bool:
+ return self.is_x86_variant() or self.is_arm_variant()
+
def can_kvm(self) -> bool:
return self == Architecture.native() or (
Architecture.native() == Architecture.x86_64 and self == Architecture.x86
ram: int
maxmem: int
kvm: ConfigFeature
+ cxl: bool
vsock: ConfigFeature
vsock_cid: int
tpm: ConfigFeature
compat_names=("QemuKvm",),
scope=SettingScope.main,
),
+ ConfigSetting(
+ dest="cxl",
+ name="CXL",
+ metavar="BOOLEAN",
+ section="Runtime",
+ parse=config_parse_boolean,
+ help="Enable CXL device support",
+ scope=SettingScope.main,
+ ),
ConfigSetting(
dest="vsock",
name="VSock",
RAM: {format_bytes(config.ram)}
MaxMem: {format_bytes_or_none(config.maxmem)}
KVM: {config.kvm}
+ CXL: {config.cxl}
VSock: {config.vsock}
VSock Connection ID: {VsockCID.format(config.vsock_cid)}
TPM: {config.tpm}
machine += f",smm={'on' if firmware == Firmware.uefi_secure_boot else 'off'}"
if shm:
machine += ",memory-backend=mem"
+ if config.cxl and config.architecture.supports_cxl():
+ machine += ",cxl=on"
if config.architecture.supports_hpet():
machine += ",hpet=off"
: Configures whether KVM acceleration should be used when booting a virtual machine. Takes a
boolean value or `auto`. Defaults to `auto`.
+`CXL=`, `--cxl=`
+: Configures whether CXL devices are enabled for a given machine. Only valid if the architecture
+ supports cxl. Takes a boolean value. Defaults to `false`.
+
`VSock=`, `--vsock=`
: Configures whether to provision a vsock when booting a virtual machine. Takes
a boolean value or `auto`. Defaults to `auto`.
"BuildSubdirectory": "abc/abc",
"CDROM": false,
"CPUs": 2,
+ "CXL": false,
"CacheDirectory": "/is/this/the/cachedir",
"CacheKey": "qed",
"CacheOnly": "always",
key=None,
keymap="wow, so much keymap",
kvm=ConfigFeature.auto,
+ cxl=False,
linux=None,
local_mirror=None,
locale_messages="",