diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-12-16 18:49:29 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-12-16 18:49:29 +0100 |
commit | da3f7ca3e85642627a8db37ba337eb5f424339f1 (patch) | |
tree | 302cf6c0d088f3fe93fad850e159b7da97c486fb /drivers | |
parent | 460146348518a1c4e810d01baf81847f8c6a1c73 (diff) | |
parent | 32e6b236d26946eb076d1450bfb8f9978f15d6b9 (diff) | |
download | blackbird-op-linux-da3f7ca3e85642627a8db37ba337eb5f424339f1.tar.gz blackbird-op-linux-da3f7ca3e85642627a8db37ba337eb5f424339f1.zip |
Merge tag 'kvm-s390-next-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
KVM: s390 features and fixes for 4.5 (kvm/next)
Some small cleanups
- use assignment instead of memcpy
- use %pK for kernel pointers
Changes regarding guest memory size
- Fix an off-by-one error in our guest memory interface (we might
use unnecessarily big page tables, e.g. 3 levels for a 2GB guest
instead of 2 levels)
- We now ask the machine about the max. supported guest address
and limit accordingly.
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/char/sclp_early.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_early.c b/drivers/s390/char/sclp_early.c index e0a1f4eec370..6804354c42bd 100644 --- a/drivers/s390/char/sclp_early.c +++ b/drivers/s390/char/sclp_early.c @@ -40,7 +40,8 @@ struct read_info_sccb { u8 fac85; /* 85 */ u8 _pad_86[91 - 86]; /* 86-90 */ u8 flags; /* 91 */ - u8 _pad_92[100 - 92]; /* 92-99 */ + u8 _pad_92[99 - 92]; /* 92-98 */ + u8 hamaxpow; /* 99 */ u32 rnsize2; /* 100-103 */ u64 rnmax2; /* 104-111 */ u8 _pad_112[116 - 112]; /* 112-115 */ @@ -120,6 +121,11 @@ static void __init sclp_facilities_detect(struct read_info_sccb *sccb) sclp.rzm <<= 20; sclp.ibc = sccb->ibc; + if (sccb->hamaxpow && sccb->hamaxpow < 64) + sclp.hamax = (1UL << sccb->hamaxpow) - 1; + else + sclp.hamax = U64_MAX; + if (!sccb->hcpua) { if (MACHINE_IS_VM) sclp.max_cores = 64; |