[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/11] hw/s390x/sclp: update LOADPARM in SCP Info
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PATCH 03/11] hw/s390x/sclp: update LOADPARM in SCP Info |
Date: |
Tue, 25 Apr 2017 12:46:25 +0200 |
From: Farhan Ali <address@hidden>
LOADPARM has two copies:
1. in SCP Information Block
2. in IPL Information Parameter Block
So, update SCLP intrinsics now. We always store LOADPARM in SCP
information block even if we don't have a valid IPL Information
Parameter Block.
Initial patch from Eugene (jno) Dvurechenski.
Signed-off-by: Eugene (jno) Dvurechenski <address@hidden>
Signed-off-by: Farhan Ali <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/sclp.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index e741da1141..b4f6dd58dd 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -23,6 +23,7 @@
#include "hw/s390x/sclp.h"
#include "hw/s390x/event-facility.h"
#include "hw/s390x/s390-pci-bus.h"
+#include "hw/s390x/ipl.h"
static inline SCLPDevice *get_sclp_device(void)
{
@@ -57,6 +58,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
int cpu_count = 0;
int rnsize, rnmax;
int slots = MIN(machine->ram_slots, s390_get_memslot_count(kvm_state));
+ IplParameterBlock *ipib = s390_ipl_get_iplb();
CPU_FOREACH(cpu) {
cpu_count++;
@@ -129,6 +131,13 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
read_info->rnmax2 = cpu_to_be64(rnmax);
}
+ if (ipib && ipib->flags & DIAG308_FLAGS_LP_VALID) {
+ memcpy(&read_info->loadparm, &ipib->loadparm,
+ sizeof(read_info->loadparm));
+ } else {
+ s390_ipl_set_loadparm(read_info->loadparm);
+ }
+
sccb->h.response_code = cpu_to_be16(SCLP_RC_NORMAL_READ_COMPLETION);
}
--
2.11.0
- [Qemu-devel] [PATCH 00/11] s390x: support for LOADPARM, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 01/11] hw/s390x: provide loadparm property for the machine, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 04/11] util/qemu-config: Add loadparm to qemu machine_opts, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 02/11] hw/s390x/ipl: enable LOADPARM in IPIB for a boot device, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 03/11] hw/s390x/sclp: update LOADPARM in SCP Info,
Cornelia Huck <=
- [Qemu-devel] [PATCH 05/11] pc-bios/s390-ccw: Make ebcdic/ascii conversion public, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 07/11] pc-bios/s390-ccw: provide a function to interpret LOADPARM value, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 06/11] pc-bios/s390-ccw: get LOADPARM stored in SCP Read Info, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 08/11] pc-bios/s390-ccw: provide entry selection on LOADPARM for SCSI disk, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 09/11] pc-bios/s390-ccw: add boot entry selection for ECKD DASD, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 10/11] pc-bios/s390-ccw: add boot entry selection to El Torito routine, Cornelia Huck, 2017/04/25
- [Qemu-devel] [PATCH 11/11] pc-bios/s390-ccw.img: update image, Cornelia Huck, 2017/04/25