[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/hvm: Extend HVM cpuid leaf with vcpu id
> -----Original Message----- > From: Andrew Cooper > Sent: 06 November 2014 15:14 > To: Paul Durrant; xen-devel@xxxxxxxxxxxxx > Cc: Keir (Xen.org); Jan Beulich > Subject: Re: [Xen-devel] [PATCH] x86/hvm: Extend HVM cpuid leaf with vcpu > id > > On 06/11/14 15:07, Paul Durrant wrote: > > To perform certain hypercalls HVM guests need to use Xen's idea of > > vcpu id, which may well not match the guest OS idea of CPU id. > > This patch adds vcpu id to the HVM cpuid leaf allowing the guest > > to build a mapping. > > > > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > > Cc: Keir Fraser <keir@xxxxxxx> > > Cc: Jan Beulich <jbeulich@xxxxxxxx> > > --- > > xen/arch/x86/hvm/hvm.c | 4 ++++ > > xen/include/public/arch-x86/cpuid.h | 5 +++-- > > 2 files changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c > > index 78f519d..d9a5706 100644 > > --- a/xen/arch/x86/hvm/hvm.c > > +++ b/xen/arch/x86/hvm/hvm.c > > @@ -4189,6 +4189,10 @@ void hvm_hypervisor_cpuid_leaf(uint32_t > sub_idx, > > * foreign pages) has valid IOMMU entries. > > */ > > *eax |= XEN_HVM_CPUID_IOMMU_MAPPINGS; > > + > > + /* Indicate presence of vcpu id and set it in ebx */ > > + *eax |= XEN_HVM_CPUID_VCPU_ID_PRESENT; > > + *ebx = current->vcpu_id; > > } > > } > > > > diff --git a/xen/include/public/arch-x86/cpuid.h b/xen/include/public/arch- > x86/cpuid.h > > index 6005dfe..8ccb6e1 100644 > > --- a/xen/include/public/arch-x86/cpuid.h > > +++ b/xen/include/public/arch-x86/cpuid.h > > @@ -76,13 +76,14 @@ > > /* > > * Leaf 5 (0x40000x04) > > * HVM-specific features > > + * EAX: Features > > + * EBX: VCPU ID > > Probably want "iff EAX & VCPU_ID_PRESENT" in this comment. > Yes, I guess. > > */ > > - > > -/* EAX Features */ > > Spurious delete? > Nope - it moved up into the above block. > > #define XEN_HVM_CPUID_APIC_ACCESS_VIRT (1u << 0) /* Virtualized > APIC registers */ > > #define XEN_HVM_CPUID_X2APIC_VIRT (1u << 1) /* Virtualized x2APIC > accesses */ > > /* Memory mapped from other domains has valid IOMMU entries */ > > #define XEN_HVM_CPUID_IOMMU_MAPPINGS (1u << 2) > > +#define XEN_HVM_CPUID_VCPU_ID_PRESENT (1u << 3) /* vcpu is > present in EBX */ > > vcpu id? Yes. Typo. Paul > > ~Andrew > > > > > #define XEN_CPUID_MAX_NUM_LEAVES 4 > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |