kvm-s390.c (a4a4f1916abbbc3148d79a37cf3fe4f3f6c604d9) | kvm-s390.c (53df84f8de312586e1c05a8f496f614ca814eeff) |
---|---|
1/* 2 * hosting zSeries kernel virtual machines 3 * 4 * Copyright IBM Corp. 2008, 2009 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License (version 2 only) 8 * as published by the Free Software Foundation. --- 96 unchanged lines hidden (view full) --- 105 { "diagnose_44", VCPU_STAT(diagnose_44) }, 106 { "diagnose_9c", VCPU_STAT(diagnose_9c) }, 107 { NULL } 108}; 109 110/* upper facilities limit for kvm */ 111unsigned long kvm_s390_fac_list_mask[] = { 112 0xffe6fffbfcfdfc40UL, | 1/* 2 * hosting zSeries kernel virtual machines 3 * 4 * Copyright IBM Corp. 2008, 2009 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License (version 2 only) 8 * as published by the Free Software Foundation. --- 96 unchanged lines hidden (view full) --- 105 { "diagnose_44", VCPU_STAT(diagnose_44) }, 106 { "diagnose_9c", VCPU_STAT(diagnose_9c) }, 107 { NULL } 108}; 109 110/* upper facilities limit for kvm */ 111unsigned long kvm_s390_fac_list_mask[] = { 112 0xffe6fffbfcfdfc40UL, |
113 0x005c800000000000UL, | 113 0x005e800000000000UL, |
114}; 115 116unsigned long kvm_s390_fac_list_mask_size(void) 117{ 118 BUILD_BUG_ON(ARRAY_SIZE(kvm_s390_fac_list_mask) > S390_ARCH_FAC_MASK_SIZE_U64); 119 return ARRAY_SIZE(kvm_s390_fac_list_mask); 120} 121 --- 1186 unchanged lines hidden (view full) --- 1308int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) 1309{ 1310 int rc = 0; 1311 1312 atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH | 1313 CPUSTAT_SM | 1314 CPUSTAT_STOPPED); 1315 | 114}; 115 116unsigned long kvm_s390_fac_list_mask_size(void) 117{ 118 BUILD_BUG_ON(ARRAY_SIZE(kvm_s390_fac_list_mask) > S390_ARCH_FAC_MASK_SIZE_U64); 119 return ARRAY_SIZE(kvm_s390_fac_list_mask); 120} 121 --- 1186 unchanged lines hidden (view full) --- 1308int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) 1309{ 1310 int rc = 0; 1311 1312 atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH | 1313 CPUSTAT_SM | 1314 CPUSTAT_STOPPED); 1315 |
1316 if (test_kvm_facility(vcpu->kvm, 8)) | 1316 if (test_kvm_facility(vcpu->kvm, 78)) 1317 atomic_set_mask(CPUSTAT_GED2, &vcpu->arch.sie_block->cpuflags); 1318 else if (test_kvm_facility(vcpu->kvm, 8)) |
1317 atomic_set_mask(CPUSTAT_GED, &vcpu->arch.sie_block->cpuflags); 1318 1319 kvm_s390_vcpu_setup_model(vcpu); 1320 1321 vcpu->arch.sie_block->ecb = 6; 1322 if (test_kvm_facility(vcpu->kvm, 50) && test_kvm_facility(vcpu->kvm, 73)) 1323 vcpu->arch.sie_block->ecb |= 0x10; 1324 --- 1309 unchanged lines hidden --- | 1319 atomic_set_mask(CPUSTAT_GED, &vcpu->arch.sie_block->cpuflags); 1320 1321 kvm_s390_vcpu_setup_model(vcpu); 1322 1323 vcpu->arch.sie_block->ecb = 6; 1324 if (test_kvm_facility(vcpu->kvm, 50) && test_kvm_facility(vcpu->kvm, 73)) 1325 vcpu->arch.sie_block->ecb |= 0x10; 1326 --- 1309 unchanged lines hidden --- |