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

Reply via email to