Commit e3fd586d authored by Cornelia Huck's avatar Cornelia Huck
Browse files

s390x/cpumodel: allow zpci features in qemu model



AEN and AIS can be provided unconditionally, ZPCI should be turned on
manually.

With -cpu qemu,zpci=on, the guest kernel can now successfully detect
virtio-pci devices under tcg.

Also fixup the order of the MSA_EXT_{3,4} flags while at it.

Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
parent f6c232ce
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include "qapi/qmp/qbool.h"
#ifndef CONFIG_USER_ONLY
#include "sysemu/arch_init.h"
#include "hw/pci/pci.h"
#endif

#define CPUDEF_INIT(_type, _gen, _ec_ga, _mha_pow, _hmfai, _name, _desc) \
@@ -1271,6 +1272,11 @@ static void register_types(void)

    /* init all bitmaps from gnerated data initially */
    s390_init_feat_bitmap(qemu_max_cpu_feat_init, qemu_max_cpu_feat);
#ifndef CONFIG_USER_ONLY
    if (!pci_available) {
        clear_bit(S390_FEAT_ZPCI, qemu_max_cpu_feat);
    }
#endif
    for (i = 0; i < ARRAY_SIZE(s390_cpu_defs); i++) {
        s390_init_feat_bitmap(s390_cpu_defs[i].base_init,
                              s390_cpu_defs[i].base_feat);
+5 −1
Original line number Diff line number Diff line
@@ -572,8 +572,10 @@ static uint16_t qemu_LATEST[] = {
    S390_FEAT_STFLE_49,
    S390_FEAT_LOCAL_TLB_CLEARING,
    S390_FEAT_INTERLOCKED_ACCESS_2,
    S390_FEAT_MSA_EXT_4,
    S390_FEAT_ADAPTER_EVENT_NOTIFICATION,
    S390_FEAT_ADAPTER_INT_SUPPRESSION,
    S390_FEAT_MSA_EXT_3,
    S390_FEAT_MSA_EXT_4,
};

/* add all new definitions before this point */
@@ -582,6 +584,8 @@ static uint16_t qemu_MAX[] = {
    S390_FEAT_STFLE_53,
    /* generates a dependency warning, leave it out for now */
    S390_FEAT_MSA_EXT_5,
    /* only with CONFIG_PCI */
    S390_FEAT_ZPCI,
};

/****** END FEATURE DEFS ******/