On Wed, Jan 13, 2021 at 11:06:09AM +0100, Paolo Bonzini wrote:
> On 13/01/21 10:04, Yang Weijiang wrote:
> > QEMU option -cpu max(max_features) means "Enables all features supported by
> > the accelerator in the current host", this looks true for all the features
> > except guest max physical address width, so add this patch to enable it.
> >
> > Signed-off-by: Yang Weijiang <weijiang.yang@intel.com>
> > ---
> > target/i386/cpu.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> > index 35459a38bb..b5943406f7 100644
> > --- a/target/i386/cpu.c
> > +++ b/target/i386/cpu.c
> > @@ -6673,7 +6673,7 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
> > warned = true;
> > }
> > - if (cpu->host_phys_bits) {
> > + if (cpu->host_phys_bits || cpu->max_features) {
> > /* The user asked for us to use the host physical bits */
> > cpu->phys_bits = host_phys_bits;
> > if (cpu->host_phys_bits_limit &&
> >
>
> Can you check if this works?
>
Hi, Paolo,
Yes, below change works for kvm-unit-test/access. Would you add the
patch?
Thanks!
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 35459a38bb..72a79e6019 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -4319,6 +4319,7 @@ static void max_x86_cpu_initfn(Object *obj)
> if (lmce_supported()) {
> object_property_set_bool(OBJECT(cpu), "lmce", true,
> &error_abort);
> }
> + object_property_set_bool(OBJECT(cpu), "host-phys-bits", true,
> &error_abort);
> } else {
> object_property_set_str(OBJECT(cpu), "vendor", CPUID_VENDOR_AMD,
> &error_abort);
>
>
> It should allow people to use -cpu max,host-phys-bits=false.
>
> Thanks,
>
> Paolo