qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] MIPS: remove support for trap and emulate KVM


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] MIPS: remove support for trap and emulate KVM
Date: Wed, 21 Dec 2022 09:51:52 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.0

On 18/12/22 01:06, Paolo Bonzini wrote:
This support was limited to the Malta board, drop it.
I do not have a machine that can run VZ KVM, so I am assuming
that it works for -M malta as well.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
  docs/about/deprecated.rst       |  9 -------
  docs/about/removed-features.rst |  9 +++++++
  hw/mips/malta.c                 | 44 ++++-----------------------------
  target/mips/cpu.c               |  7 +-----
  target/mips/cpu.h               |  2 --
  target/mips/kvm.c               | 11 +--------
  target/mips/sysemu/addr.c       | 17 -------------
  target/mips/sysemu/physaddr.c   | 13 ----------
  8 files changed, 16 insertions(+), 96 deletions(-)


diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index 7a565466cb3f..065a9cd10ec9 100644
--- a/target/mips/cpu.c
+++ b/target/mips/cpu.c
@@ -290,12 +290,7 @@ static void mips_cpu_reset(DeviceState *dev)
      env->tlb->tlb_in_use = env->tlb->nb_tlb;
      env->CP0_Wired = 0;
      env->CP0_GlobalNumber = (cs->cpu_index & 0xFF) << CP0GN_VPId;
-    env->CP0_EBase = (cs->cpu_index & 0x3FF);
-    if (mips_um_ksegs_enabled()) {
-        env->CP0_EBase |= 0x40000000;
-    } else {
-        env->CP0_EBase |= (int32_t)0x80000000;
-    }
+    env->CP0_EBase = (cs->cpu_index & 0x3FF) | (int32_t)0x80000000;

Pre-existing, but maybe clearer as:

       env->CP0_EBase = KSEG0_BASE | (cs->cpu_index & 0x3FF);

      if (env->CP0_Config3 & (1 << CP0C3_CMGCR)) {
          env->CP0_CMGCRBase = 0x1fbf8000 >> 4;
      }
diff --git a/target/mips/cpu.h b/target/mips/cpu.h
index 0a085643a3f1..3411cbc37825 100644
--- a/target/mips/cpu.h
+++ b/target/mips/cpu.h
@@ -1299,8 +1299,6 @@ uint64_t cpu_mips_phys_to_kseg0(void *opaque, uint64_t 
addr);
  uint64_t cpu_mips_kvm_um_phys_to_kseg0(void *opaque, uint64_t addr);

cpu_mips_kvm_um_phys_to_kseg0() is removed ...

  uint64_t cpu_mips_kseg1_to_phys(void *opaque, uint64_t addr);
  uint64_t cpu_mips_phys_to_kseg1(void *opaque, uint64_t addr);
-bool mips_um_ksegs_enabled(void);
-void mips_um_ksegs_enable(void);
#if !defined(CONFIG_USER_ONLY)

diff --git a/target/mips/sysemu/addr.c b/target/mips/sysemu/addr.c
index 86f1c129c9f4..4f025be44a1d 100644
--- a/target/mips/sysemu/addr.c
+++ b/target/mips/sysemu/addr.c
@@ -23,8 +23,6 @@
  #include "qemu/osdep.h"
  #include "cpu.h"

-uint64_t cpu_mips_kvm_um_phys_to_kseg0(void *opaque, uint64_t addr)
-{
-    return addr | 0x40000000ll;
-}

... here.



reply via email to

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