p->extd.e1d &= ~CPUID_COMMON_1D_FEATURES;
+ /* Most of Power/RAS hidden from guests. */
+ p->extd.raw[0x7].a = p->extd.raw[0x7].b = p->extd.raw[0x7].c = 0;
+
switch ( p->x86_vendor )
{
case X86_VENDOR_INTEL:
p->extd.vendor_edx = 0;
p->extd.raw[0x1].a = p->extd.raw[0x1].b = 0;
+
+ p->extd.raw[0x5] = EMPTY_LEAF;
+ p->extd.raw[0x6].a = p->extd.raw[0x6].b = p->extd.raw[0x6].d = 0;
break;
case X86_VENDOR_AMD:
res->a = (res->a & ~0xff) | 3;
break;
- case 0x80000007:
- res->d = p->extd.e7d;
- break;
-
case 0x80000008:
res->a = paddr_bits | (vaddr_bits << 8);
res->b = p->extd.e8b;
case 0x2 ... 0x3:
case 0x7 ... 0x9:
case 0xc ... XSTATE_CPUID:
- case 0x80000000 ... 0x80000004:
+ case 0x80000000 ... 0x80000007:
ASSERT_UNREACHABLE();
/* Now handled in guest_cpuid(). */
}
res->a = (res->a & ~0xff) | 3;
break;
- case 0x80000007:
- res->d = p->extd.e7d;
- break;
-
case 0x80000008:
res->a &= 0xff;
tmp = d->arch.paging.gfn_bits + PAGE_SHIFT;
case 0x2 ... 0x3:
case 0x7 ... 0x9:
case 0xc ... XSTATE_CPUID:
- case 0x80000000 ... 0x80000004:
+ case 0x80000000 ... 0x80000007:
ASSERT_UNREACHABLE();
/* Now handled in guest_cpuid(). */
}
default:
goto legacy;
- case 0x80000000 ... 0x80000004:
+ case 0x80000000 ... 0x80000007:
*res = p->extd.raw[leaf & 0xffff];
break;
}