Revision 91138037 target-s390x/kvm.c

b/target-s390x/kvm.c
93 93

  
94 94
static int cap_sync_regs;
95 95

  
96
static void *legacy_s390_alloc(ram_addr_t size);
97

  
96 98
int kvm_arch_init(KVMState *s)
97 99
{
98 100
    cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS);
101
    if (!kvm_check_extension(s, KVM_CAP_S390_GMAP)
102
        || !kvm_check_extension(s, KVM_CAP_S390_COW)) {
103
        phys_mem_set_alloc(legacy_s390_alloc);
104
    }
99 105
    return 0;
100 106
}
101 107

  
......
333 339
    return mem;
334 340
}
335 341

  
336
void *kvm_arch_ram_alloc(ram_addr_t size)
337
{
338
    /* Can we use the standard allocation ? */
339
    if (kvm_check_extension(kvm_state, KVM_CAP_S390_GMAP) &&
340
        kvm_check_extension(kvm_state, KVM_CAP_S390_COW)) {
341
        return NULL;
342
    } else {
343
        return legacy_s390_alloc(size);
344
    }
345
}
346

  
347 342
int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint *bp)
348 343
{
349 344
    static const uint8_t diag_501[] = {0x83, 0x24, 0x05, 0x01};

Also available in: Unified diff