- bugfixes in ccw bios
- gen15a is called z15 - officially require a 3.15 kernel or later for kvm -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJdiHHIAAoJEBF7vIC1phx8Fm4P/2Kle4HZwWzgpz+w+4DC5FR/ mFajE5Jp2Msa0IiW5SBr3cHuWb4VY+qJcpzZzt9/3LMtBkpoo76oIq3prW7Szj4e RCyJF0d6tFhmMuOUlMiTA9whIBzFS1lG8pN0MlkPb6zKadCzz8Bn8PqXNyETCYQ6 XgAJmH4kkKk8njzK363MD3sDoF2g+XJjmv7CwQ0Bm7UBKadApN40GUuitGDutFWv y6pVwk0iBYkbyWnske9vnRERpjTAETS9OQBc2wKf9g1vt8GAfsDY+f8eRCXI4yXt mOz+NtdeY3mueDo3OR4UD3ZnJXLpNMmpFNCwDVCcNXvOgoPcte4lNdi1XUbb1wYb YlVda8lZfwEfCF9LtI/fXS4nBD+SnE5upnSuBm40N0mpkOxszafjE+w9j8LTvH7T nZsgltwac+SfO19wKZmcSieXSD6RzNmG2hcued7gP149w5/ssI9VF5CWpZNK+ySt yZWv2JxWMX+Fx4Yt1vAtOqIQoqPQg7yx76+8PV2kf+JDU46m3R7H4GbMN6SD8Jm7 /QmPSdeVgmiEwG42bhucwCENaxF5FXRzUv9SY4RrcO6A9oz8EP2EtF9LJIVoEEsp GDU66yiUhGNj+ORxPz7ADGLuhwMFmurFji7pwLJFXLkaqTn3bNl0GozVSWrjeizp /4u7pugdDl3anw8MOzzx =ALS2 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20190923' into staging - bugfixes in ccw bios - gen15a is called z15 - officially require a 3.15 kernel or later for kvm # gpg: Signature made Mon 23 Sep 2019 08:18:32 BST # gpg: using RSA key 117BBC80B5A61C7C # gpg: Good signature from "Christian Borntraeger (IBM) <borntraeger@de.ibm.com>" [full] # Primary key fingerprint: F922 9381 A334 08F9 DBAB FBCA 117B BC80 B5A6 1C7C * remotes/borntraeger/tags/s390x-20190923: s390x/cpumodel: Add the z15 name to the description of gen15a s390x/kvm: Officially require at least kernel 3.15 pc-bios/s390-ccw: Rebuild the s390-netboot.img firmware image pc-bios/s390-ccw/net: fix a possible memory leak in get_uuid() pc-bios/s390-ccw: Do not pre-initialize empty array Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
8400efa51a
|
@ -589,12 +589,6 @@ static void kvm_s390_flic_realize(DeviceState *dev, Error **errp)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
flic_state->fd = -1;
|
flic_state->fd = -1;
|
||||||
if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
|
|
||||||
error_setg_errno(&errp_local, errno, "KVM is missing capability"
|
|
||||||
" KVM_CAP_DEVICE_CTRL");
|
|
||||||
trace_flic_no_device_api(errno);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
cd.type = KVM_DEV_TYPE_FLIC;
|
cd.type = KVM_DEV_TYPE_FLIC;
|
||||||
ret = kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd);
|
ret = kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd);
|
||||||
|
|
|
@ -75,7 +75,6 @@ xics_ics_simple_eoi(int nr) "ics_eoi: irq 0x%x"
|
||||||
|
|
||||||
# s390_flic_kvm.c
|
# s390_flic_kvm.c
|
||||||
flic_create_device(int err) "flic: create device failed %d"
|
flic_create_device(int err) "flic: create device failed %d"
|
||||||
flic_no_device_api(int err) "flic: no Device Contral API support %d"
|
|
||||||
flic_reset_failed(int err) "flic: reset failed %d"
|
flic_reset_failed(int err) "flic: reset failed %d"
|
||||||
|
|
||||||
# s390_flic.c
|
# s390_flic.c
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
|
char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
|
||||||
static SubChannelId blk_schid = { .one = 1 };
|
static SubChannelId blk_schid = { .one = 1 };
|
||||||
static char loadparm_str[LOADPARM_LEN + 1] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
static char loadparm_str[LOADPARM_LEN + 1];
|
||||||
QemuIplParameters qipl;
|
QemuIplParameters qipl;
|
||||||
IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
|
IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
|
||||||
static bool have_iplb;
|
static bool have_iplb;
|
||||||
|
|
|
@ -269,6 +269,7 @@ static const char *get_uuid(void)
|
||||||
: "d" (r0), "d" (r1), [addr] "a" (buf)
|
: "d" (r0), "d" (r1), [addr] "a" (buf)
|
||||||
: "cc", "memory");
|
: "cc", "memory");
|
||||||
if (cc) {
|
if (cc) {
|
||||||
|
free(mem);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -84,7 +84,7 @@ static S390CPUDef s390_cpu_defs[] = {
|
||||||
CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
|
CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
|
||||||
CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
|
CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
|
||||||
CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
|
CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
|
||||||
CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "gen15a", "IBM 8561 GA1"),
|
CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "gen15a", "IBM z15 GA1"),
|
||||||
CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "gen15b", "IBM 8562 GA1"),
|
CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "gen15b", "IBM 8562 GA1"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -316,6 +316,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
|
||||||
MachineClass *mc = MACHINE_GET_CLASS(ms);
|
MachineClass *mc = MACHINE_GET_CLASS(ms);
|
||||||
|
|
||||||
mc->default_cpu_type = S390_CPU_TYPE_NAME("host");
|
mc->default_cpu_type = S390_CPU_TYPE_NAME("host");
|
||||||
|
|
||||||
|
if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
|
||||||
|
error_report("KVM is missing capability KVM_CAP_DEVICE_CTRL - "
|
||||||
|
"please use kernel 3.15 or newer");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS);
|
cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS);
|
||||||
cap_async_pf = kvm_check_extension(s, KVM_CAP_ASYNC_PF);
|
cap_async_pf = kvm_check_extension(s, KVM_CAP_ASYNC_PF);
|
||||||
cap_mem_op = kvm_check_extension(s, KVM_CAP_S390_MEM_OP);
|
cap_mem_op = kvm_check_extension(s, KVM_CAP_S390_MEM_OP);
|
||||||
|
|
Loading…
Reference in a new issue