[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Patch v2 13/29] s390x/sclp: factor out preparation of cpu
From: |
David Hildenbrand |
Subject: |
[Qemu-devel] [Patch v2 13/29] s390x/sclp: factor out preparation of cpu entries |
Date: |
Mon, 8 Aug 2016 17:32:42 +0200 |
Let's factor out the common code of "read cpu info" and "read scp
info". This will make the introduction of new cpu entry fields easier.
Acked-by: Cornelia Huck <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
---
hw/s390x/sclp.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index fca37f5..15d7114 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -29,6 +29,16 @@ static inline SCLPDevice *get_sclp_device(void)
return SCLP(object_resolve_path_type("", TYPE_SCLP, NULL));
}
+static void prepare_cpu_entries(SCLPDevice *sclp, CPUEntry *entry, int count)
+{
+ int i;
+
+ for (i = 0; i < count; i++) {
+ entry[i].address = i;
+ entry[i].type = 0;
+ }
+}
+
/* Provide information about the configuration, CPUs and storage */
static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
{
@@ -37,7 +47,6 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
sclpMemoryHotplugDev *mhd = get_sclp_memory_hotplug_dev();
CPUState *cpu;
int cpu_count = 0;
- int i = 0;
int rnsize, rnmax;
int slots = MIN(machine->ram_slots, s390_get_memslot_count(kvm_state));
@@ -50,10 +59,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries));
read_info->highest_cpu = cpu_to_be16(max_cpus);
- for (i = 0; i < cpu_count; i++) {
- read_info->entries[i].address = i;
- read_info->entries[i].type = 0;
- }
+ prepare_cpu_entries(sclp, read_info->entries, cpu_count);
read_info->facilities = cpu_to_be64(SCLP_HAS_CPU_INFO |
SCLP_HAS_PCI_RECONFIG);
@@ -304,7 +310,6 @@ static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB *sccb)
ReadCpuInfo *cpu_info = (ReadCpuInfo *) sccb;
CPUState *cpu;
int cpu_count = 0;
- int i = 0;
CPU_FOREACH(cpu) {
cpu_count++;
@@ -318,10 +323,7 @@ static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB
*sccb)
cpu_info->offset_standby = cpu_to_be16(cpu_info->offset_configured
+ cpu_info->nr_configured*sizeof(CPUEntry));
- for (i = 0; i < cpu_count; i++) {
- cpu_info->entries[i].address = i;
- cpu_info->entries[i].type = 0;
- }
+ prepare_cpu_entries(sclp, cpu_info->entries, cpu_count);
sccb->h.response_code = cpu_to_be16(SCLP_RC_NORMAL_READ_COMPLETION);
}
--
2.6.6
- [Qemu-devel] [Patch v2 24/29] qmp: add QMP interface "query-cpu-model-expansion", (continued)
- [Qemu-devel] [Patch v2 24/29] qmp: add QMP interface "query-cpu-model-expansion", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 29/29] s390x/cpumodel: implement QMP interface "query-cpu-model-baseline", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 08/29] s390x/cpumodel: register defined CPU models as subclasses, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 20/29] s390x/kvm: allow runtime-instrumentation for "none" machine, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 28/29] s390x/cpumodel: implement QMP interface "query-cpu-model-comparison", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 23/29] s390x/kvm: let the CPU model control CMM(A), David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 27/29] s390x/cpumodel: implement QMP interface "query-cpu-model-expansion", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 14/29] s390x/sclp: introduce sclp feature blocks, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 16/29] s390x/sclp: propagate the ibc val(lowest and unblocked ibc), David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 19/29] linux-headers: update against kvm/next, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 13/29] s390x/sclp: factor out preparation of cpu entries,
David Hildenbrand <=
- [Qemu-devel] [Patch v2 09/29] s390x/cpumodel: store the CPU model in the CPU instance, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 21/29] s390x/kvm: implement CPU model support, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 22/29] s390x/kvm: disable host model for existing compat machines, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 25/29] qmp: add QMP interface "query-cpu-model-comparison", David Hildenbrand, 2016/08/08
- Re: [Qemu-devel] [Patch v2 00/29] s390x CPU models: exposing features, no-reply, 2016/08/08
- Message not available
- Message not available
- Re: [Qemu-devel] [Patch v2 00/29] s390x CPU models: exposing features, David Hildenbrand, 2016/08/15