mirror of https://gitee.com/openkylin/qemu.git
hw/i386/vmport: Add support for CMD_GET_VCPU_INFO
Command currently returns that it is unimplemented by setting the reserved-bit in it's return value. Following patches will return various useful vCPU information to guest. Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com> Signed-off-by: Liran Alon <liran.alon@oracle.com> Message-Id: <20200312165431.82118-13-liran.alon@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
aaacf1c15a
commit
acacd3550b
|
@ -54,6 +54,13 @@
|
|||
#define VMPORT_COMPAT_CMDS_V2 \
|
||||
(1 << VMPORT_COMPAT_CMDS_V2_BIT)
|
||||
|
||||
/* vCPU features reported by CMD_GET_VCPU_INFO */
|
||||
#define VCPU_INFO_SLC64_BIT 0
|
||||
#define VCPU_INFO_SYNC_VTSCS_BIT 1
|
||||
#define VCPU_INFO_HV_REPLAY_OK_BIT 2
|
||||
#define VCPU_INFO_LEGACY_X2APIC_BIT 3
|
||||
#define VCPU_INFO_RESERVED_BIT 31
|
||||
|
||||
#define VMPORT(obj) OBJECT_CHECK(VMPortState, (obj), TYPE_VMPORT)
|
||||
|
||||
typedef struct VMPortState {
|
||||
|
@ -167,6 +174,11 @@ static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr)
|
|||
return ram_size;
|
||||
}
|
||||
|
||||
static uint32_t vmport_cmd_get_vcpu_info(void *opaque, uint32_t addr)
|
||||
{
|
||||
return 1 << VCPU_INFO_RESERVED_BIT;
|
||||
}
|
||||
|
||||
static const MemoryRegionOps vmport_ops = {
|
||||
.read = vmport_ioport_read,
|
||||
.write = vmport_ioport_write,
|
||||
|
@ -192,6 +204,8 @@ static void vmport_realizefn(DeviceState *dev, Error **errp)
|
|||
vmport_register(VMPORT_CMD_GETRAMSIZE, vmport_cmd_ram_size, NULL);
|
||||
if (s->compat_flags & VMPORT_COMPAT_CMDS_V2) {
|
||||
vmport_register(VMPORT_CMD_GETBIOSUUID, vmport_cmd_get_bios_uuid, NULL);
|
||||
vmport_register(VMPORT_CMD_GET_VCPU_INFO, vmport_cmd_get_vcpu_info,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ typedef enum {
|
|||
VMPORT_CMD_VMMOUSE_DATA = 39,
|
||||
VMPORT_CMD_VMMOUSE_STATUS = 40,
|
||||
VMPORT_CMD_VMMOUSE_COMMAND = 41,
|
||||
VMPORT_CMD_GET_VCPU_INFO = 68,
|
||||
VMPORT_ENTRIES
|
||||
} VMPortCommand;
|
||||
|
||||
|
|
Loading…
Reference in New Issue