[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/4] x86/viridian: drop duplicate defines from private.h and viridian.c
> -----Original Message----- > From: Wei Liu <wei.liu.xen@xxxxxxxxx> On Behalf Of Wei Liu > Sent: 20 December 2019 19:52 > To: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxxx> > Cc: Michael Kelley <mikelley@xxxxxxxxxxxxx>; Durrant, Paul > <pdurrant@xxxxxxxxxx>; Wei Liu <liuwe@xxxxxxxxxxxxx>; Paul Durrant > <paul@xxxxxxx>; Jan Beulich <jbeulich@xxxxxxxx>; Andrew Cooper > <andrew.cooper3@xxxxxxxxxx>; Wei Liu <wl@xxxxxxx>; Roger Pau Monné > <roger.pau@xxxxxxxxxx> > Subject: [PATCH 1/4] x86/viridian: drop duplicate defines from private.h > and viridian.c > > Also add HVCALL_EXT_CALL_QUERY_CAPABILITIES to hyperv-tlfs.h. > HvGetPartitionID was never used in code so just dropped it. > > No functional change intended. > > Signed-off-by: Wei Liu <liuwe@xxxxxxxxxxxxx> Reviewed-by: Paul Durrant <paul@xxxxxxx> > --- > xen/arch/x86/hvm/viridian/private.h | 66 ------------------------- > xen/arch/x86/hvm/viridian/viridian.c | 29 +++-------- > xen/include/asm-x86/guest/hyperv-tlfs.h | 1 + > 3 files changed, 8 insertions(+), 88 deletions(-) > > diff --git a/xen/arch/x86/hvm/viridian/private.h > b/xen/arch/x86/hvm/viridian/private.h > index c272c34cda..958a2814c2 100644 > --- a/xen/arch/x86/hvm/viridian/private.h > +++ b/xen/arch/x86/hvm/viridian/private.h > @@ -5,72 +5,6 @@ > > #include <asm/hvm/save.h> > > -/* Viridian MSR numbers. */ > -#define HV_X64_MSR_GUEST_OS_ID 0x40000000 > -#define HV_X64_MSR_HYPERCALL 0x40000001 > -#define HV_X64_MSR_VP_INDEX 0x40000002 > -#define HV_X64_MSR_RESET 0x40000003 > -#define HV_X64_MSR_VP_RUNTIME 0x40000010 > -#define HV_X64_MSR_TIME_REF_COUNT 0x40000020 > -#define HV_X64_MSR_REFERENCE_TSC 0x40000021 > -#define HV_X64_MSR_TSC_FREQUENCY 0x40000022 > -#define HV_X64_MSR_APIC_FREQUENCY 0x40000023 > -#define HV_X64_MSR_EOI 0x40000070 > -#define HV_X64_MSR_ICR 0x40000071 > -#define HV_X64_MSR_TPR 0x40000072 > -#define HV_X64_MSR_VP_ASSIST_PAGE 0x40000073 > -#define HV_X64_MSR_SCONTROL 0x40000080 > -#define HV_X64_MSR_SVERSION 0x40000081 > -#define HV_X64_MSR_SIEFP 0x40000082 > -#define HV_X64_MSR_SIMP 0x40000083 > -#define HV_X64_MSR_EOM 0x40000084 > -#define HV_X64_MSR_SINT0 0x40000090 > -#define HV_X64_MSR_SINT1 0x40000091 > -#define HV_X64_MSR_SINT2 0x40000092 > -#define HV_X64_MSR_SINT3 0x40000093 > -#define HV_X64_MSR_SINT4 0x40000094 > -#define HV_X64_MSR_SINT5 0x40000095 > -#define HV_X64_MSR_SINT6 0x40000096 > -#define HV_X64_MSR_SINT7 0x40000097 > -#define HV_X64_MSR_SINT8 0x40000098 > -#define HV_X64_MSR_SINT9 0x40000099 > -#define HV_X64_MSR_SINT10 0x4000009A > -#define HV_X64_MSR_SINT11 0x4000009B > -#define HV_X64_MSR_SINT12 0x4000009C > -#define HV_X64_MSR_SINT13 0x4000009D > -#define HV_X64_MSR_SINT14 0x4000009E > -#define HV_X64_MSR_SINT15 0x4000009F > -#define HV_X64_MSR_STIMER0_CONFIG 0x400000B0 > -#define HV_X64_MSR_STIMER0_COUNT 0x400000B1 > -#define HV_X64_MSR_STIMER1_CONFIG 0x400000B2 > -#define HV_X64_MSR_STIMER1_COUNT 0x400000B3 > -#define HV_X64_MSR_STIMER2_CONFIG 0x400000B4 > -#define HV_X64_MSR_STIMER2_COUNT 0x400000B5 > -#define HV_X64_MSR_STIMER3_CONFIG 0x400000B6 > -#define HV_X64_MSR_STIMER3_COUNT 0x400000B7 > -#define HV_X64_MSR_POWER_STATE_TRIGGER_C1 0x400000C1 > -#define HV_X64_MSR_POWER_STATE_TRIGGER_C2 0x400000C2 > -#define HV_X64_MSR_POWER_STATE_TRIGGER_C3 0x400000C3 > -#define HV_X64_MSR_POWER_STATE_CONFIG_C1 0x400000D1 > -#define HV_X64_MSR_POWER_STATE_CONFIG_C2 0x400000D2 > -#define HV_X64_MSR_POWER_STATE_CONFIG_C3 0x400000D3 > -#define HV_X64_MSR_STATS_PARTITION_RETAIL_PAGE 0x400000E0 > -#define HV_X64_MSR_STATS_PARTITION_INTERNAL_PAGE 0x400000E1 > -#define HV_X64_MSR_STATS_VP_RETAIL_PAGE 0x400000E2 > -#define HV_X64_MSR_STATS_VP_INTERNAL_PAGE 0x400000E3 > -#define HV_X64_MSR_GUEST_IDLE 0x400000F0 > -#define HV_X64_MSR_SYNTH_DEBUG_CONTROL 0x400000F1 > -#define HV_X64_MSR_SYNTH_DEBUG_STATUS 0x400000F2 > -#define HV_X64_MSR_SYNTH_DEBUG_SEND_BUFFER 0x400000F3 > -#define HV_X64_MSR_SYNTH_DEBUG_RECEIVE_BUFFER 0x400000F4 > -#define HV_X64_MSR_SYNTH_DEBUG_PENDING_BUFFER 0x400000F5 > -#define HV_X64_MSR_CRASH_P0 0x40000100 > -#define HV_X64_MSR_CRASH_P1 0x40000101 > -#define HV_X64_MSR_CRASH_P2 0x40000102 > -#define HV_X64_MSR_CRASH_P3 0x40000103 > -#define HV_X64_MSR_CRASH_P4 0x40000104 > -#define HV_X64_MSR_CRASH_CTL 0x40000105 > - > int viridian_synic_wrmsr(struct vcpu *v, uint32_t idx, uint64_t val); > int viridian_synic_rdmsr(const struct vcpu *v, uint32_t idx, uint64_t > *val); > > diff --git a/xen/arch/x86/hvm/viridian/viridian.c > b/xen/arch/x86/hvm/viridian/viridian.c > index 4b06b78a27..341592f054 100644 > --- a/xen/arch/x86/hvm/viridian/viridian.c > +++ b/xen/arch/x86/hvm/viridian/viridian.c > @@ -10,6 +10,7 @@ > #include <xen/hypercall.h> > #include <xen/domain_page.h> > #include <asm/guest_access.h> > +#include <asm/guest/hyperv-tlfs.h> > #include <asm/paging.h> > #include <asm/p2m.h> > #include <asm/apic.h> > @@ -19,22 +20,6 @@ > > #include "private.h" > > -/* Viridian Hypercall Status Codes. */ > -#define HV_STATUS_SUCCESS 0x0000 > -#define HV_STATUS_INVALID_HYPERCALL_CODE 0x0002 > -#define HV_STATUS_INVALID_PARAMETER 0x0005 > - > -/* Viridian Hypercall Codes. */ > -#define HvFlushVirtualAddressSpace 0x0002 > -#define HvFlushVirtualAddressList 0x0003 > -#define HvNotifyLongSpinWait 0x0008 > -#define HvSendSyntheticClusterIpi 0x000b > -#define HvGetPartitionId 0x0046 > -#define HvExtCallQueryCapabilities 0x8001 > - > -/* Viridian Hypercall Flags. */ > -#define HV_FLUSH_ALL_PROCESSORS 1 > - > /* Viridian Partition Privilege Flags */ > typedef struct { > /* Access to virtual MSRs */ > @@ -214,7 +199,7 @@ void cpuid_viridian_leaves(const struct vcpu *v, > uint32_t leaf, > /* > * This value is the recommended number of attempts to try to > * acquire a spinlock before notifying the hypervisor via the > - * HvNotifyLongSpinWait hypercall. > + * HVCALL_NOTIFY_LONG_SPIN_WAIT hypercall. > */ > res->b = viridian_spinlock_retry_count; > break; > @@ -583,7 +568,7 @@ int viridian_hypercall(struct cpu_user_regs *regs) > > switch ( input.call_code ) > { > - case HvNotifyLongSpinWait: > + case HVCALL_NOTIFY_LONG_SPIN_WAIT: > /* > * See section 14.5.1 of the specification. > */ > @@ -591,8 +576,8 @@ int viridian_hypercall(struct cpu_user_regs *regs) > status = HV_STATUS_SUCCESS; > break; > > - case HvFlushVirtualAddressSpace: > - case HvFlushVirtualAddressList: > + case HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE: > + case HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST: > { > struct { > uint64_t address_space; > @@ -632,7 +617,7 @@ int viridian_hypercall(struct cpu_user_regs *regs) > break; > } > > - case HvSendSyntheticClusterIpi: > + case HVCALL_SEND_IPI: > { > struct vcpu *v; > uint32_t vector; > @@ -695,7 +680,7 @@ int viridian_hypercall(struct cpu_user_regs *regs) > gprintk(XENLOG_WARNING, "unimplemented hypercall %04x\n", > input.call_code); > /* Fallthrough. */ > - case HvExtCallQueryCapabilities: > + case HVCALL_EXT_CALL_QUERY_CAPABILITIES: > /* > * This hypercall seems to be erroneously issued by Windows > * despite EnableExtendedHypercalls not being set in CPUID leaf > 2. > diff --git a/xen/include/asm-x86/guest/hyperv-tlfs.h b/xen/include/asm- > x86/guest/hyperv-tlfs.h > index ccd9850b27..b128807b2c 100644 > --- a/xen/include/asm-x86/guest/hyperv-tlfs.h > +++ b/xen/include/asm-x86/guest/hyperv-tlfs.h > @@ -374,6 +374,7 @@ struct hv_tsc_emulation_status { > #define HVCALL_SIGNAL_EVENT 0x005d > #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_SPACE 0x00af > #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_LIST 0x00b0 > +#define HVCALL_EXT_CALL_QUERY_CAPABILITIES 0x8001 > > #define HV_X64_MSR_VP_ASSIST_PAGE_ENABLE 0x00000001 > #define HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT 12 > -- > 2.20.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |