Message ID | 20171218224616.21030-3-david@redhat.com |
---|---|
State | New |
Headers | show |
Series | s390x/tcg: TEST PROTECTION and memory hotplug | expand |
On 18.12.2017 23:46, David Hildenbrand wrote: > Linux crashes right now if maxmem > mem is specified on the command line. > > On s390x, the guest can hotplug memory itself right now - very weird - > and e.g. Fedora 27 will simply add all memory it can when booting. > > So now, we have at least the same behavior on TCG and KVM. > > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > hw/s390x/sclp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c > index 9be0cb80ad..829c13bcf2 100644 > --- a/hw/s390x/sclp.c > +++ b/hw/s390x/sclp.c > @@ -233,7 +233,7 @@ static void assign_storage(SCLPDevice *sclp, SCCB *sccb) > sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND); > return; > } > - assign_addr = (assign_info->rn - 1) * mhd->rzm; > + assign_addr = (be16_to_cpu(assign_info->rn) - 1) * mhd->rzm; > > if ((assign_addr % MEM_SECTION_SIZE == 0) && > (assign_addr >= mhd->padded_ram_size)) { > @@ -292,7 +292,7 @@ static void unassign_storage(SCLPDevice *sclp, SCCB *sccb) > sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND); > return; > } > - unassign_addr = (assign_info->rn - 1) * mhd->rzm; > + unassign_addr = (be16_to_cpu(assign_info->rn) - 1) * mhd->rzm; > > /* if the addr is a multiple of 256 MB */ > if ((unassign_addr % MEM_SECTION_SIZE == 0) && > Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index 9be0cb80ad..829c13bcf2 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -233,7 +233,7 @@ static void assign_storage(SCLPDevice *sclp, SCCB *sccb) sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND); return; } - assign_addr = (assign_info->rn - 1) * mhd->rzm; + assign_addr = (be16_to_cpu(assign_info->rn) - 1) * mhd->rzm; if ((assign_addr % MEM_SECTION_SIZE == 0) && (assign_addr >= mhd->padded_ram_size)) { @@ -292,7 +292,7 @@ static void unassign_storage(SCLPDevice *sclp, SCCB *sccb) sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND); return; } - unassign_addr = (assign_info->rn - 1) * mhd->rzm; + unassign_addr = (be16_to_cpu(assign_info->rn) - 1) * mhd->rzm; /* if the addr is a multiple of 256 MB */ if ((unassign_addr % MEM_SECTION_SIZE == 0) &&
Linux crashes right now if maxmem > mem is specified on the command line. On s390x, the guest can hotplug memory itself right now - very weird - and e.g. Fedora 27 will simply add all memory it can when booting. So now, we have at least the same behavior on TCG and KVM. Signed-off-by: David Hildenbrand <david@redhat.com> --- hw/s390x/sclp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)