[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] KVM-PR is broken with current QEMU
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] KVM-PR is broken with current QEMU |
Date: |
Wed, 21 Sep 2016 09:45:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 20.09.2016 23:45, Benjamin Herrenschmidt wrote:
> On Tue, 2016-09-20 at 13:44 +0200, Thomas Huth wrote:
>>
>> Seems like KVM PR is using the "degraded" ISA variants (without the
>> 1TB
>> segments), but the new POWERPC_MMU_64K flag has not been added to
>> those.
>> Has this been done on purpose, or was this just by accident?
>> I can make KVM PR working again with the following patch:
>>
>> diff --git a/target-ppc/cpu-qom.h b/target-ppc/cpu-qom.h
>> index 2864105..36694cb 100644
>> --- a/target-ppc/cpu-qom.h
>> +++ b/target-ppc/cpu-qom.h
>> @@ -81,6 +81,7 @@ enum powerpc_mmu_t {
>> | POWERPC_MMU_AMR | 0x00000003,
>> /* Architecture 2.06 "degraded" (no 1T segments) */
>> POWERPC_MMU_2_06a = POWERPC_MMU_64 | POWERPC_MMU_AMR
>> + | POWERPC_MMU_64K
>> | 0x00000003,
>> /* Architecture 2.07 variant */
>> POWERPC_MMU_2_07 = POWERPC_MMU_64 | POWERPC_MMU_1TSEG
>> @@ -88,6 +89,7 @@ enum powerpc_mmu_t {
>> | POWERPC_MMU_AMR | 0x00000004,
>> /* Architecture 2.07 "degraded" (no 1T segments) */
>> POWERPC_MMU_2_07a = POWERPC_MMU_64 | POWERPC_MMU_AMR
>> + | POWERPC_MMU_64K
>> | 0x00000004,
>> };
>>
>> However, not sure whether this is the right fix ... Cédric, Ben, any
>> ideas?
>
> Oh I thought I had removed the degraded variants ... Definitely looks
> like an accident. I *think* PR KVM supports 64K pages, no ? If not,
> then we shouldn't enable the flag.. somebody needs to check the kernel.
I've now added some debug printf statements to kvm_fixup_page_sizes() in
QEMU, and it seems that at least my current downstream kernel does not
report support for 64K page sizes. So the right fix is likely to disable
the POWERPC_MMU_64K bit there in env->mmu_model if the kernel does not
report support for 64K pages. I'll try to come up with a patch...
But actually, now I wonder why my kernel does not support this page
size. There was a kernel patch from Paul (a4a0f2524acc2c6 - "KVM: PPC:
Book3S PR: Allow guest to use 64k pages") which added this page size to
KVM-PR, so IMHO it should work ... Seem like I need to do some more
debugging here...
Thomas
- [Qemu-devel] KVM-PR is broken with current QEMU, Thomas Huth, 2016/09/20
- Re: [Qemu-devel] KVM-PR is broken with current QEMU, Cédric Le Goater, 2016/09/20
- Re: [Qemu-devel] [Qemu-ppc] KVM-PR is broken with current QEMU, Cédric Le Goater, 2016/09/20
- Re: [Qemu-devel] [Qemu-ppc] KVM-PR is broken with current QEMU, Thomas Huth, 2016/09/20
- Re: [Qemu-devel] [Qemu-ppc] KVM-PR is broken with current QEMU, Cédric Le Goater, 2016/09/20
- Re: [Qemu-devel] [Qemu-ppc] KVM-PR is broken with current QEMU, Thomas Huth, 2016/09/21
- Re: [Qemu-devel] [Qemu-ppc] KVM-PR is broken with current QEMU, David Gibson, 2016/09/22
- Re: [Qemu-devel] [Qemu-ppc] KVM-PR is broken with current QEMU, Thomas Huth, 2016/09/22
Re: [Qemu-devel] KVM-PR is broken with current QEMU, Benjamin Herrenschmidt, 2016/09/20