diff mbox series

[v8,03/37] target/mips: Amend CP0 MemoryMapID register implementation

Message ID 1566216496-17375-4-git-send-email-aleksandar.markovic@rt-rk.com
State New
Headers show
Series target/mips: Misc patches for 4.2 | expand

Commit Message

Aleksandar Markovic Aug. 19, 2019, 12:07 p.m. UTC
From: Yongbok Kim <yongbok.kim@mips.com>

Add migration support and fix preprocessor constant name for
MemoryMapID register.

Signed-off-by: Yongbok Kim <yongbok.kim@mips.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/cpu.h     | 2 +-
 target/mips/machine.c | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Aleksandar Rikalo Aug. 19, 2019, 2:39 p.m. UTC | #1
> From: Aleksandar Markovic <aleksandar.markovic@rt-rk.com>
> Sent: Monday, August 19, 2019 2:07 PM
> To: qemu-devel@nongnu.org <qemu-devel@nongnu.org>
> Cc: philmd@redhat.com <philmd@redhat.com>; Aleksandar Markovic <amarkovic@wavecomp.com>; Aleksandar Rikalo <arikalo@wavecomp.com>
> Subject: [EXTERNAL][PATCH v8 03/37] target/mips: Amend CP0 MemoryMapID register implementation
>
> From: Yongbok Kim <yongbok.kim@mips.com>
>
> Add migration support and fix preprocessor constant name for
> MemoryMapID register.
>
> Signed-off-by: Yongbok Kim <yongbok.kim@mips.com>
> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
> ---
>  target/mips/cpu.h     | 2 +-
>  target/mips/machine.c | 7 +++++--
>  2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/target/mips/cpu.h b/target/mips/cpu.h
> index 6406ba8..eda8350 100644
> --- a/target/mips/cpu.h
> +++ b/target/mips/cpu.h
> @@ -290,7 +290,7 @@ typedef struct mips_def_t mips_def_t;
>  #define CP0_REG04__CONTEXT         0
>  #define CP0_REG04__USERLOCAL       2
>  #define CP0_REG04__DBGCONTEXTID    4
> -#define CP0_REG00__MMID            5
> +#define CP0_REG04__MEMORYMAPID     5
>  /* CP0 Register 05 */
>  #define CP0_REG05__PAGEMASK        0
>  #define CP0_REG05__PAGEGRAIN       1
> diff --git a/target/mips/machine.c b/target/mips/machine.c
> index c3e52f8..e23b767 100644
> --- a/target/mips/machine.c
> +++ b/target/mips/machine.c
> @@ -137,6 +137,7 @@ static int get_tlb(QEMUFile *f, void *pv, size_t size,
>      qemu_get_betls(f, &v->VPN);
>      qemu_get_be32s(f, &v->PageMask);
>      qemu_get_be16s(f, &v->ASID);
> +    qemu_get_be32s(f, &v->MMID);
>      qemu_get_be16s(f, &flags);
>      v->G = (flags >> 10) & 1;
>      v->C0 = (flags >> 7) & 3;
> @@ -162,6 +163,7 @@ static int put_tlb(QEMUFile *f, void *pv, size_t size,
>      r4k_tlb_t *v = pv;
>
>      uint16_t asid = v->ASID;
> +    uint32_t mmid = v->MMID;
>      uint16_t flags = ((v->EHINV << 15) |
>                        (v->RI1 << 14) |
>                        (v->RI0 << 13) |
> @@ -178,6 +180,7 @@ static int put_tlb(QEMUFile *f, void *pv, size_t size,
>      qemu_put_betls(f, &v->VPN);
>      qemu_put_be32s(f, &v->PageMask);
>      qemu_put_be16s(f, &asid);
> +    qemu_put_be32s(f, &mmid);
>      qemu_put_be16s(f, &flags);
>      qemu_put_be64s(f, &v->PFN[0]);
>      qemu_put_be64s(f, &v->PFN[1]);
> @@ -199,8 +202,8 @@ const VMStateInfo vmstate_info_tlb = {
>
>  const VMStateDescription vmstate_tlb = {
>      .name = "cpu/tlb",
> -    .version_id = 2,
> -    .minimum_version_id = 2,
> +    .version_id = 3,
> +    .minimum_version_id = 3,
>      .fields = (VMStateField[]) {
>          VMSTATE_UINT32(nb_tlb, CPUMIPSTLBContext),
>          VMSTATE_UINT32(tlb_in_use, CPUMIPSTLBContext),
> --
> 2.7.4
>

Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com>
diff mbox series

Patch

diff --git a/target/mips/cpu.h b/target/mips/cpu.h
index 6406ba8..eda8350 100644
--- a/target/mips/cpu.h
+++ b/target/mips/cpu.h
@@ -290,7 +290,7 @@  typedef struct mips_def_t mips_def_t;
 #define CP0_REG04__CONTEXT         0
 #define CP0_REG04__USERLOCAL       2
 #define CP0_REG04__DBGCONTEXTID    4
-#define CP0_REG00__MMID            5
+#define CP0_REG04__MEMORYMAPID     5
 /* CP0 Register 05 */
 #define CP0_REG05__PAGEMASK        0
 #define CP0_REG05__PAGEGRAIN       1
diff --git a/target/mips/machine.c b/target/mips/machine.c
index c3e52f8..e23b767 100644
--- a/target/mips/machine.c
+++ b/target/mips/machine.c
@@ -137,6 +137,7 @@  static int get_tlb(QEMUFile *f, void *pv, size_t size,
     qemu_get_betls(f, &v->VPN);
     qemu_get_be32s(f, &v->PageMask);
     qemu_get_be16s(f, &v->ASID);
+    qemu_get_be32s(f, &v->MMID);
     qemu_get_be16s(f, &flags);
     v->G = (flags >> 10) & 1;
     v->C0 = (flags >> 7) & 3;
@@ -162,6 +163,7 @@  static int put_tlb(QEMUFile *f, void *pv, size_t size,
     r4k_tlb_t *v = pv;
 
     uint16_t asid = v->ASID;
+    uint32_t mmid = v->MMID;
     uint16_t flags = ((v->EHINV << 15) |
                       (v->RI1 << 14) |
                       (v->RI0 << 13) |
@@ -178,6 +180,7 @@  static int put_tlb(QEMUFile *f, void *pv, size_t size,
     qemu_put_betls(f, &v->VPN);
     qemu_put_be32s(f, &v->PageMask);
     qemu_put_be16s(f, &asid);
+    qemu_put_be32s(f, &mmid);
     qemu_put_be16s(f, &flags);
     qemu_put_be64s(f, &v->PFN[0]);
     qemu_put_be64s(f, &v->PFN[1]);
@@ -199,8 +202,8 @@  const VMStateInfo vmstate_info_tlb = {
 
 const VMStateDescription vmstate_tlb = {
     .name = "cpu/tlb",
-    .version_id = 2,
-    .minimum_version_id = 2,
+    .version_id = 3,
+    .minimum_version_id = 3,
     .fields = (VMStateField[]) {
         VMSTATE_UINT32(nb_tlb, CPUMIPSTLBContext),
         VMSTATE_UINT32(tlb_in_use, CPUMIPSTLBContext),