Skip to content

cluster / qemu ​

7 operations.

GET /cluster/qemu ​

ts
proxmox.cluster.qemu.$get()

Cluster-wide QEMU index

Returns an array of object.

GET /cluster/qemu/cpu-flags ​

ts
proxmox.cluster.qemu["cpu-flags"].$get()

List of available CPU flags. Currently only implemented for x86_64, returns an empty list for aarch64.

Returns an array of object.

ParameterTypeRequiredNotes
accelkvm | tcgAcceleration type to check node compatibility for. — default "kvm"
archx86_64 | aarch64Virtual processor architecture. Defaults to the host architecture.

GET /cluster/qemu/custom-cpu-models ​

ts
proxmox.cluster.qemu["custom-cpu-models"].$get()

List all custom CPU model definitions visible to the user.

Returns an array of object.

POST /cluster/qemu/custom-cpu-models ​

ts
proxmox.cluster.qemu["custom-cpu-models"].$post()

Add a custom CPU model definition.

Returns nothing.

ParameterTypeRequiredNotes
cputypestringyesName for the custom CPU model. The 'custom-' prefix is optional. — format pve-configid, ≤ 40 chars
flagsstringList of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. There is a special 'nested-virt' shorthand which controls nested virtualization for the current CPU ('svm' for AMD and 'vmx' for Intel). Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: aes, amd-no-ssb, amd-ssbd, hv-evmcs, hv-tlbflush, ibpb, md-clear, nested-virt, pcid, pdpe1gb, spec-ctrl, ssbd, virt-ssbd
guest-phys-bitsnumberNumber of physical address bits available to the guest. — min 32, max 64
hiddenbooleanDo not identify as a KVM virtual machine. Only affects vCPUs with x86-64 architecture. — default 0
hv-vendor-idstringThe Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.
levelnumberMaximum input value for the basic CPUID leaves the guest can query - that is the vendor (leaf 0), family/model/stepping and feature bits (leaf 1), cache and topology info (leaves 4 and B), and so on. Higher-numbered leaves are hidden. Setting '30' is a common workaround for Hyper-V boot failures on Windows guests running on recent Intel hosts. Only applies when the vCPU architecture is x86_64. — min 0, max 4294967295
phys-bitsstringThe physical memory address bits that are reported to the guest OS. Should be smaller or equal to the host's. Set to 'host' to use value from host CPU, but note that doing so will break live migration to CPUs with other values. — format pve-phys-bits
reported-model486 | a64fx | athlon | Broadwell | Broadwell-IBRS | Broadwell-noTSX | Broadwell-noTSX-IBRS | Cascadelake-Server | … (103 more)yesCPU model and vendor to report to the guest. Must be a QEMU/KVM supported model. Only valid for custom CPU model definitions, default models will always report themselves to the guest OS. — default "kvm64"

GET /cluster/qemu/custom-cpu-models/{cputype} ​

ts
proxmox.cluster.qemu["custom-cpu-models"].$(cputype).$get()

Retrieve details about a specific custom CPU model.

Returns object.

ParameterTypeRequiredNotes
cputypestringyesName of the CPU model to query. The 'custom-' prefix is optional.

PUT /cluster/qemu/custom-cpu-models/{cputype} ​

ts
proxmox.cluster.qemu["custom-cpu-models"].$(cputype).$put()

Update a custom CPU model definition.

Returns nothing.

ParameterTypeRequiredNotes
cputypestringyesName for the custom CPU model. The 'custom-' prefix is optional. — format pve-configid, ≤ 40 chars
deletestringA list of properties to delete. — format pve-configid-list
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
flagsstringList of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. There is a special 'nested-virt' shorthand which controls nested virtualization for the current CPU ('svm' for AMD and 'vmx' for Intel). Custom CPU models can specify any flag supported by QEMU/KVM, VM-specific flags must be from the following set for security reasons: aes, amd-no-ssb, amd-ssbd, hv-evmcs, hv-tlbflush, ibpb, md-clear, nested-virt, pcid, pdpe1gb, spec-ctrl, ssbd, virt-ssbd
guest-phys-bitsnumberNumber of physical address bits available to the guest. — min 32, max 64
hiddenbooleanDo not identify as a KVM virtual machine. Only affects vCPUs with x86-64 architecture. — default 0
hv-vendor-idstringThe Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.
levelnumberMaximum input value for the basic CPUID leaves the guest can query - that is the vendor (leaf 0), family/model/stepping and feature bits (leaf 1), cache and topology info (leaves 4 and B), and so on. Higher-numbered leaves are hidden. Setting '30' is a common workaround for Hyper-V boot failures on Windows guests running on recent Intel hosts. Only applies when the vCPU architecture is x86_64. — min 0, max 4294967295
phys-bitsstringThe physical memory address bits that are reported to the guest OS. Should be smaller or equal to the host's. Set to 'host' to use value from host CPU, but note that doing so will break live migration to CPUs with other values. — format pve-phys-bits
reported-model486 | a64fx | athlon | Broadwell | Broadwell-IBRS | Broadwell-noTSX | Broadwell-noTSX-IBRS | Cascadelake-Server | … (103 more)CPU model and vendor to report to the guest. Must be a QEMU/KVM supported model. Only valid for custom CPU model definitions, default models will always report themselves to the guest OS. — default "kvm64"

DELETE /cluster/qemu/custom-cpu-models/{cputype} ​

ts
proxmox.cluster.qemu["custom-cpu-models"].$(cputype).$delete()

Delete a custom CPU model definition.

Returns nothing.

ParameterTypeRequiredNotes
cputypestringyesThe custom model to delete. The 'custom-' prefix is optional.