|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/7] x86/viridian: get rid of the magic numbers in CPUID leaves 1 and 2
>>> On 17.03.17 at 10:57, <paul.durrant@xxxxxxxxxx> wrote:
> --- a/xen/arch/x86/hvm/viridian.c
> +++ b/xen/arch/x86/hvm/viridian.c
> @@ -119,14 +119,16 @@ void cpuid_viridian_leaves(const struct vcpu *v,
> uint32_t leaf,
> switch ( leaf )
> {
> case 0:
> + /* See section 2.4.1 of the specification */
> res->a = 0x40000006; /* Maximum leaf */
> - res->b = 0x7263694d; /* Magic numbers */
> - res->c = 0x666F736F;
> - res->d = 0x76482074;
> + res->b = *(uint32_t *)"Micr";
> + res->c = *(uint32_t *)"osof";
> + res->d = *(uint32_t *)"t Hv";
> break;
>
> case 1:
> - res->a = 0x31237648; /* Version number */
> + /* See section 2.4.2 of the specification */
> + res->a = *(uint32_t *)"Hv#1";
> break;
You're the maintainer of the code, so I can't really reject this, but
(ugly) casts don't seem any better to me, the more that they cast
away constness. Would
memcpy(&res->a, "Hv#1", 4);
etc be acceptable to you?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |