s390x/sclp: fix missing be conversion
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> Message-Id: <20171218224616.21030-3-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
bb87943072
commit
e537112b41
@ -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) &&
|
||||
|
Loading…
Reference in New Issue
Block a user