On 16/12/16 13:43, Haozhong Zhang wrote: > +static uint8_t get_cpu_paddr_bits(void) > +{ > + uint8_t paddr_bits = 36; > + uint32_t eax; > + > + eax = cpuid_eax(0x80000000); > + if ( (eax >> 16) == 0x8000 && eax >= 0x80000008 ) > + { > + eax = cpuid_eax(0x80000008); > + paddr_bits = eax & 0xff; > + if ( paddr_bits > 52 ) > + paddr_bits = 52; > + } > + > + return paddr_bits;
This is useful core functionality (and I can't believe I haven't published a test which needs it yet). Please extend collect_cpuid() and make maxphysaddr and maxvirtaddr available globally along with the other vendor/family/feature information, although I'd drop the clipping at 52 bits. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel