On 7/13/26 11:52 AM, Claudio Imbrenda wrote: > Allow mapping guest with 2G hugepages on hosts that support it. > > Signed-off-by: Claudio Imbrenda <[email protected]> > --- > target/s390x/kvm/kvm.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c > index 72031a5714..23fa714b69 100644 > --- a/target/s390x/kvm/kvm.c > +++ b/target/s390x/kvm/kvm.c > @@ -298,13 +298,13 @@ void kvm_s390_set_max_pagesize(uint64_t pagesize, Error > **errp) > return; > } > > - if (pagesize != 1 * MiB) { > + if ((pagesize == 2 * GiB) && > + kvm_vm_enable_cap(kvm_state, KVM_CAP_S390_HPAGE_2G, 0)) { > error_setg(errp, "Memory backing with 2G pages was specified, " > "but KVM does not support this memory backing"); > return; > - } > - > - if (kvm_vm_enable_cap(kvm_state, KVM_CAP_S390_HPAGE_1M, 0)) { > + } else if ((pagesize == MiB) && > + kvm_vm_enable_cap(kvm_state, KVM_CAP_S390_HPAGE_1M, 0)) { > error_setg(errp, "Memory backing with 1M pages was specified, " > "but KVM does not support this memory backing"); > return;
Just double-checking -- If you successfully take the 2G path here you will still set cap_hpage_1m = 1; I suspect it's intentional to fence diag 308? But then IMO s/kvm_s390_get_hpage_1m/kvm_s390_get_hpage/ and s/ cap_hpage_1m/ cap_hpage_any/ or something like that
