qemu-arm
[Top][All Lists]
Advanced

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

Re: [RFC PATCH 07/16] target/arm/kvm: Select RME VM type for the scratch


From: Richard Henderson
Subject: Re: [RFC PATCH 07/16] target/arm/kvm: Select RME VM type for the scratch VM
Date: Fri, 27 Jan 2023 12:39:17 -1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 1/27/23 05:07, Jean-Philippe Brucker wrote:
Although the VM type does not affect values probed from the scratch vCPU
at the moment, it could later. Ensure we specify the right type when
creating the temporary VM.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
---
Does the PA size need changing as well?
---
  target/arm/kvm.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index fcddead4fe..d8655d9041 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -70,6 +70,7 @@ bool kvm_arm_create_scratch_host_vcpu(const uint32_t 
*cpus_to_try,
  {
      int ret = 0, kvmfd = -1, vmfd = -1, cpufd = -1;
      int max_vm_pa_size;
+    int vm_type;
kvmfd = qemu_open_old("/dev/kvm", O_RDWR);
      if (kvmfd < 0) {
@@ -79,8 +80,10 @@ bool kvm_arm_create_scratch_host_vcpu(const uint32_t 
*cpus_to_try,
      if (max_vm_pa_size < 0) {
          max_vm_pa_size = 0;
      }
+
+    vm_type = kvm_arm_rme_vm_type(MACHINE(qdev_get_machine()));
      do {
-        vmfd = ioctl(kvmfd, KVM_CREATE_VM, max_vm_pa_size);
+        vmfd = ioctl(kvmfd, KVM_CREATE_VM, vm_type | max_vm_pa_size);

Given the restrictions on register transfer for RME guests, this seems incorrect. We won't be able to probe what we wanted at all.


r~




reply via email to

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