qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 8/8] s390: Fix the storage increment size calcul


From: Jeng-fang Wang
Subject: Re: [Qemu-devel] [PATCH 8/8] s390: Fix the storage increment size calculation
Date: Tue, 12 Jun 2012 10:57:01 -0400

Yes, you can refer to AR10040-03-POK, Service-Call Logical Processor Architecture for S/390 and z/Architecture, Figure 2-6 Minimum storage increment and subincrement size.  :)

Nick




Inactive hide details for Alexander Graf ---06/12/2012 07:53:43 AM---On 06/06/2012 02:05 PM, Jens Freimann wrote: > From: Nick Alexander Graf ---06/12/2012 07:53:43 AM---On 06/06/2012 02:05 PM, Jens Freimann wrote: > From: Nick Wang<address@hidden>

From: Alexander Graf <address@hidden>
To: Jens Freimann <address@hidden>
Cc: Jens Freimann <address@hidden>, Cornelia Huck <address@hidden>, qemu-devel <address@hidden>, Heinz Graalfs <address@hidden>, Jeng-fang Wang/Poughkeepsie/address@hidden
Date: 06/12/2012 07:53 AM
Subject: Re: [PATCH 8/8] s390: Fix the storage increment size calculation





On 06/06/2012 02:05 PM, Jens Freimann wrote:
> From: Nick Wang<address@hidden>
>
> To comply with the SCLP architecture, the number of storage
> increments should be 512 or fewer. The increment size is a
> multiple of 1M and is a power of 2.
>
> Signed-off-by: Nick Wang<address@hidden>
> Signed-off-by: Jens Freimann<address@hidden>

Any references to documentation for this one? :)


Alex

> ---
>   hw/s390-sclp.c   |    2 +-
>   hw/s390-virtio.c |    6 +++---
>   2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/s390-sclp.c b/hw/s390-sclp.c
> index 8f45773..3e91f93 100644
> --- a/hw/s390-sclp.c
> +++ b/hw/s390-sclp.c
> @@ -32,7 +32,7 @@ int sclp_read_info(CPUS390XState *env, struct sccb *sccb)
>   {
>       int shift = 0;
>
> -    while ((ram_size>>  (20 + shift))>  65535) {
> +    while ((ram_size>>  (20 + shift))>  512) {
>           shift++;
>       }
>       sccb->c.read_info.rnmax = cpu_to_be16(ram_size>>  (20 + shift));
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index 0babf27..9578d15 100644
> --- a/hw/s390-virtio.c
> +++ b/hw/s390-virtio.c
> @@ -175,9 +175,9 @@ static void s390_init(ram_addr_t my_ram_size,
>       int i;
>       DeviceState *dev;
>
> -    /* s390x ram size detection needs a 16bit multiplier + an increment. So
> -       guests>  64GB can be specified in 2MB steps etc. */
> -    while ((my_ram_size>>  (20 + shift))>  65535) {
> +    /* The storage increment size is a multiple of 1M and is a power of 2.
> +     * The number of storage increments must be 512 or fewer. */
> +    while ((my_ram_size>>  (20 + shift))>  512) {
>           shift++;
>       }
>       my_ram_size = my_ram_size>>  (20 + shift)<<  (20 + shift);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]