[PATCH v2 09/14] s390x/s390-skeys: prepare for memory devices

David Hildenbrand posted 14 patches 1 year, 4 months ago
There is a newer version of this series
[PATCH v2 09/14] s390x/s390-skeys: prepare for memory devices
Posted by David Hildenbrand 1 year, 4 months ago
With memory devices, we will have storage keys for memory that
exceeds the initial ram size.

The TODO already states that current handling is subopimal,
but we won't worry about improving that (TCG-only) thing for now.

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
 hw/s390x/s390-skeys.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
index bf22d6863e..e4297b3b8a 100644
--- a/hw/s390x/s390-skeys.c
+++ b/hw/s390x/s390-skeys.c
@@ -11,7 +11,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/units.h"
-#include "hw/boards.h"
+#include "hw/s390x/s390-virtio-ccw.h"
 #include "hw/qdev-properties.h"
 #include "hw/s390x/storage-keys.h"
 #include "qapi/error.h"
@@ -251,9 +251,9 @@ static bool qemu_s390_enable_skeys(S390SKeysState *ss)
      *    g_once_init_enter() is good enough.
      */
     if (g_once_init_enter(&initialized)) {
-        MachineState *machine = MACHINE(qdev_get_machine());
+        S390CcwMachineState *s390ms = S390_CCW_MACHINE(qdev_get_machine());
 
-        skeys->key_count = machine->ram_size / TARGET_PAGE_SIZE;
+        skeys->key_count = s390_get_memory_limit(s390ms) / TARGET_PAGE_SIZE;
         skeys->keydata = g_malloc0(skeys->key_count);
         g_once_init_leave(&initialized, 1);
     }
-- 
2.46.1
Re: [PATCH v2 09/14] s390x/s390-skeys: prepare for memory devices
Posted by Thomas Huth 1 year, 1 month ago
On 08/10/2024 12.54, David Hildenbrand wrote:
> With memory devices, we will have storage keys for memory that
> exceeds the initial ram size.
> 
> The TODO already states that current handling is subopimal,
> but we won't worry about improving that (TCG-only) thing for now.
> 
> Acked-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>   hw/s390x/s390-skeys.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
> index bf22d6863e..e4297b3b8a 100644
> --- a/hw/s390x/s390-skeys.c
> +++ b/hw/s390x/s390-skeys.c
> @@ -11,7 +11,7 @@
>   
>   #include "qemu/osdep.h"
>   #include "qemu/units.h"
> -#include "hw/boards.h"
> +#include "hw/s390x/s390-virtio-ccw.h"
>   #include "hw/qdev-properties.h"
>   #include "hw/s390x/storage-keys.h"
>   #include "qapi/error.h"
> @@ -251,9 +251,9 @@ static bool qemu_s390_enable_skeys(S390SKeysState *ss)
>        *    g_once_init_enter() is good enough.
>        */
>       if (g_once_init_enter(&initialized)) {
> -        MachineState *machine = MACHINE(qdev_get_machine());
> +        S390CcwMachineState *s390ms = S390_CCW_MACHINE(qdev_get_machine());
>   
> -        skeys->key_count = machine->ram_size / TARGET_PAGE_SIZE;
> +        skeys->key_count = s390_get_memory_limit(s390ms) / TARGET_PAGE_SIZE;
>           skeys->keydata = g_malloc0(skeys->key_count);
>           g_once_init_leave(&initialized, 1);
>       }

Reviewed-by: Thomas Huth <thuth@redhat.com>