[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 12/16] hw/i386/vmport: Add support for CMD_GET_VCPU_INFO
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v3 12/16] hw/i386/vmport: Add support for CMD_GET_VCPU_INFO |
Date: |
Thu, 12 Mar 2020 20:09:10 -0400 |
On Thu, Mar 12, 2020 at 06:54:27PM +0200, Liran Alon wrote:
> 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 <address@hidden>
> Signed-off-by: Liran Alon <address@hidden>
> ---
> hw/i386/vmport.c | 14 ++++++++++++++
> include/hw/i386/vmport.h | 1 +
> 2 files changed, 15 insertions(+)
>
> diff --git a/hw/i386/vmport.c b/hw/i386/vmport.c
> index 7e57eda4b526..2ce78aaf7b4c 100644
> --- a/hw/i386/vmport.c
> +++ b/hw/i386/vmport.c
> @@ -55,6 +55,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 {
Prefix with VMPORT_ please, and add comments.
> @@ -199,6 +206,11 @@ static uint32_t vmport_cmd_time_full(void *opaque,
> uint32_t addr)
> return VMPORT_MAGIC;
> }
>
> +static uint32_t vmport_cmd_get_vcpu_info(void *opaque, uint32_t addr)
> +{
> + return 1 << VCPU_INFO_RESERVED_BIT;
> +}
> +
> /* vmmouse helpers */
> void vmmouse_get_data(uint32_t *data)
> {
> @@ -247,6 +259,8 @@ static void vmport_realizefn(DeviceState *dev, Error
> **errp)
> vmport_register(VMPORT_CMD_GETBIOSUUID, vmport_cmd_get_bios_uuid,
> NULL);
> vmport_register(VMPORT_CMD_GETTIME, vmport_cmd_time, NULL);
> vmport_register(VMPORT_CMD_GETTIMEFULL, vmport_cmd_time_full, NULL);
> + vmport_register(VMPORT_CMD_GET_VCPU_INFO, vmport_cmd_get_vcpu_info,
> + NULL);
> }
> }
>
> diff --git a/include/hw/i386/vmport.h b/include/hw/i386/vmport.h
> index 5d19963ed417..34cc050b1ffa 100644
> --- a/include/hw/i386/vmport.h
> +++ b/include/hw/i386/vmport.h
> @@ -13,6 +13,7 @@ typedef enum {
> VMPORT_CMD_VMMOUSE_STATUS = 40,
> VMPORT_CMD_VMMOUSE_COMMAND = 41,
> VMPORT_CMD_GETTIMEFULL = 46,
> + VMPORT_CMD_GET_VCPU_INFO = 68,
> VMPORT_ENTRIES
> } VMPortCommand;
>
> --
> 2.20.1
[PATCH v3 09/16] hw/i386/vmport: Add support for CMD_GETBIOSUUID, Liran Alon, 2020/03/12
[PATCH v3 11/16] hw/i386/vmport: Add support for CMD_GETTIMEFULL, Liran Alon, 2020/03/12
[PATCH v3 12/16] hw/i386/vmport: Add support for CMD_GET_VCPU_INFO, Liran Alon, 2020/03/12
- Re: [PATCH v3 12/16] hw/i386/vmport: Add support for CMD_GET_VCPU_INFO,
Michael S. Tsirkin <=
[PATCH v3 13/16] hw/i386/vmport: Allow x2apic without IR, Liran Alon, 2020/03/12
[PATCH v3 14/16] i386/cpu: Store LAPIC bus frequency in CPU structure, Liran Alon, 2020/03/12
[PATCH v3 16/16] hw/i386/vmport: Assert vmport initialized before registering commands, Liran Alon, 2020/03/12
[PATCH v3 15/16] hw/i386/vmport: Add support for CMD_GETHZ, Liran Alon, 2020/03/12