diff mbox series

[v26,20/21] Add rx-softmmu

Message ID 20191014115757.51866-21-ysato@users.sourceforge.jp (mailing list archive)
State New, archived
Headers show
Series Add RX archtecture support | expand

Commit Message

Yoshinori Sato Oct. 14, 2019, 11:57 a.m. UTC
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Message-Id: <20190607091116.49044-17-ysato@users.sourceforge.jp>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
pick ed65c02993 target/rx: Add RX to SysEmuTarget
pick 01372568ae tests: Add rx to machine-none-test.c
[PMD: Squashed patches from Richard Henderson modifying
      qapi/common.json and tests/machine-none-test.c]
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 configure                      | 8 ++++++++
 default-configs/rx-softmmu.mak | 3 +++
 qapi/machine.json              | 3 ++-
 include/exec/poison.h          | 1 +
 include/sysemu/arch_init.h     | 1 +
 arch_init.c                    | 2 ++
 tests/machine-none-test.c      | 1 +
 hw/Kconfig                     | 1 +
 8 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 default-configs/rx-softmmu.mak

Comments

Philippe Mathieu-Daudé Dec. 13, 2019, 9:29 a.m. UTC | #1
On 10/14/19 1:57 PM, Yoshinori Sato wrote:
> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> Message-Id: <20190607091116.49044-17-ysato@users.sourceforge.jp>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> pick ed65c02993 target/rx: Add RX to SysEmuTarget
> pick 01372568ae tests: Add rx to machine-none-test.c
> [PMD: Squashed patches from Richard Henderson modifying
>        qapi/common.json and tests/machine-none-test.c]
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   configure                      | 8 ++++++++
>   default-configs/rx-softmmu.mak | 3 +++
>   qapi/machine.json              | 3 ++-
>   include/exec/poison.h          | 1 +
>   include/sysemu/arch_init.h     | 1 +
>   arch_init.c                    | 2 ++
>   tests/machine-none-test.c      | 1 +
>   hw/Kconfig                     | 1 +
>   8 files changed, 19 insertions(+), 1 deletion(-)
>   create mode 100644 default-configs/rx-softmmu.mak
> 
> diff --git a/configure b/configure
> index 08ca4bcb46..fa5d4274b6 100755
> --- a/configure
> +++ b/configure
> @@ -7521,6 +7521,11 @@ case "$target_name" in
>       mttcg=yes
>       gdb_xml_files="riscv-64bit-cpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml"
>     ;;
> +  rx)
> +    TARGET_ARCH=rx
> +    bflt="yes"
> +    target_compiler=$cross_cc_rx
> +  ;;
>     sh4|sh4eb)
>       TARGET_ARCH=sh4
>       bflt="yes"
> @@ -7702,6 +7707,9 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
>     riscv*)
>       disas_config "RISCV"
>     ;;
> +  rx)
> +    disas_config "RX"
> +  ;;
>     s390*)
>       disas_config "S390"
>     ;;
> diff --git a/default-configs/rx-softmmu.mak b/default-configs/rx-softmmu.mak
> new file mode 100644
> index 0000000000..a3eecefb11
> --- /dev/null
> +++ b/default-configs/rx-softmmu.mak
> @@ -0,0 +1,3 @@
> +# Default configuration for rx-softmmu
> +
> +CONFIG_RX_VIRT=y
> diff --git a/qapi/machine.json b/qapi/machine.json
> index ca26779f1a..4409c113c2 100644
> --- a/qapi/machine.json
> +++ b/qapi/machine.json
> @@ -21,6 +21,7 @@
>   #        is true even for "qemu-system-x86_64".
>   #
>   # ppcemb: dropped in 3.1
> +# rx: added in 4.2

Richard, if you take this series, do you mind changing 4.2 -> 5.0?

>   #
>   # Since: 3.0
>   ##
> @@ -28,7 +29,7 @@
>     'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
>                'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
>                'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
> -             'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> +             'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
>                'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
>                'x86_64', 'xtensa', 'xtensaeb' ] }
>   
> diff --git a/include/exec/poison.h b/include/exec/poison.h
> index 955eb863ab..7b9ac361dc 100644
> --- a/include/exec/poison.h
> +++ b/include/exec/poison.h
> @@ -26,6 +26,7 @@
>   #pragma GCC poison TARGET_PPC
>   #pragma GCC poison TARGET_PPC64
>   #pragma GCC poison TARGET_ABI32
> +#pragma GCC poison TARGET_RX
>   #pragma GCC poison TARGET_S390X
>   #pragma GCC poison TARGET_SH4
>   #pragma GCC poison TARGET_SPARC
> diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
> index 62c6fe4cf1..6c011acc52 100644
> --- a/include/sysemu/arch_init.h
> +++ b/include/sysemu/arch_init.h
> @@ -24,6 +24,7 @@ enum {
>       QEMU_ARCH_NIOS2 = (1 << 17),
>       QEMU_ARCH_HPPA = (1 << 18),
>       QEMU_ARCH_RISCV = (1 << 19),
> +    QEMU_ARCH_RX = (1 << 20),
>   };
>   
>   extern const uint32_t arch_type;
> diff --git a/arch_init.c b/arch_init.c
> index 0a1531124c..7a37fb2c34 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -73,6 +73,8 @@ int graphic_depth = 32;
>   #define QEMU_ARCH QEMU_ARCH_PPC
>   #elif defined(TARGET_RISCV)
>   #define QEMU_ARCH QEMU_ARCH_RISCV
> +#elif defined(TARGET_RX)
> +#define QEMU_ARCH QEMU_ARCH_RX
>   #elif defined(TARGET_S390X)
>   #define QEMU_ARCH QEMU_ARCH_S390X
>   #elif defined(TARGET_SH4)
> diff --git a/tests/machine-none-test.c b/tests/machine-none-test.c
> index 5953d31755..8bb54a6360 100644
> --- a/tests/machine-none-test.c
> +++ b/tests/machine-none-test.c
> @@ -56,6 +56,7 @@ static struct arch2cpu cpus_map[] = {
>       { "hppa", "hppa" },
>       { "riscv64", "rv64gcsu-v1.10.0" },
>       { "riscv32", "rv32gcsu-v1.9.1" },
> +    { "rx", "rx62n" },
>   };
>   
>   static const char *get_cpu_model_by_arch(const char *arch)
> diff --git a/hw/Kconfig b/hw/Kconfig
> index b45db3c813..77bbc59cc7 100644
> --- a/hw/Kconfig
> +++ b/hw/Kconfig
> @@ -54,6 +54,7 @@ source nios2/Kconfig
>   source openrisc/Kconfig
>   source ppc/Kconfig
>   source riscv/Kconfig
> +source rx/Kconfig
>   source s390x/Kconfig
>   source sh4/Kconfig
>   source sparc/Kconfig
>
diff mbox series

Patch

diff --git a/configure b/configure
index 08ca4bcb46..fa5d4274b6 100755
--- a/configure
+++ b/configure
@@ -7521,6 +7521,11 @@  case "$target_name" in
     mttcg=yes
     gdb_xml_files="riscv-64bit-cpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml"
   ;;
+  rx)
+    TARGET_ARCH=rx
+    bflt="yes"
+    target_compiler=$cross_cc_rx
+  ;;
   sh4|sh4eb)
     TARGET_ARCH=sh4
     bflt="yes"
@@ -7702,6 +7707,9 @@  for i in $ARCH $TARGET_BASE_ARCH ; do
   riscv*)
     disas_config "RISCV"
   ;;
+  rx)
+    disas_config "RX"
+  ;;
   s390*)
     disas_config "S390"
   ;;
diff --git a/default-configs/rx-softmmu.mak b/default-configs/rx-softmmu.mak
new file mode 100644
index 0000000000..a3eecefb11
--- /dev/null
+++ b/default-configs/rx-softmmu.mak
@@ -0,0 +1,3 @@ 
+# Default configuration for rx-softmmu
+
+CONFIG_RX_VIRT=y
diff --git a/qapi/machine.json b/qapi/machine.json
index ca26779f1a..4409c113c2 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -21,6 +21,7 @@ 
 #        is true even for "qemu-system-x86_64".
 #
 # ppcemb: dropped in 3.1
+# rx: added in 4.2
 #
 # Since: 3.0
 ##
@@ -28,7 +29,7 @@ 
   'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
              'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
              'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
-             'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
+             'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
              'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
              'x86_64', 'xtensa', 'xtensaeb' ] }
 
diff --git a/include/exec/poison.h b/include/exec/poison.h
index 955eb863ab..7b9ac361dc 100644
--- a/include/exec/poison.h
+++ b/include/exec/poison.h
@@ -26,6 +26,7 @@ 
 #pragma GCC poison TARGET_PPC
 #pragma GCC poison TARGET_PPC64
 #pragma GCC poison TARGET_ABI32
+#pragma GCC poison TARGET_RX
 #pragma GCC poison TARGET_S390X
 #pragma GCC poison TARGET_SH4
 #pragma GCC poison TARGET_SPARC
diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
index 62c6fe4cf1..6c011acc52 100644
--- a/include/sysemu/arch_init.h
+++ b/include/sysemu/arch_init.h
@@ -24,6 +24,7 @@  enum {
     QEMU_ARCH_NIOS2 = (1 << 17),
     QEMU_ARCH_HPPA = (1 << 18),
     QEMU_ARCH_RISCV = (1 << 19),
+    QEMU_ARCH_RX = (1 << 20),
 };
 
 extern const uint32_t arch_type;
diff --git a/arch_init.c b/arch_init.c
index 0a1531124c..7a37fb2c34 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -73,6 +73,8 @@  int graphic_depth = 32;
 #define QEMU_ARCH QEMU_ARCH_PPC
 #elif defined(TARGET_RISCV)
 #define QEMU_ARCH QEMU_ARCH_RISCV
+#elif defined(TARGET_RX)
+#define QEMU_ARCH QEMU_ARCH_RX
 #elif defined(TARGET_S390X)
 #define QEMU_ARCH QEMU_ARCH_S390X
 #elif defined(TARGET_SH4)
diff --git a/tests/machine-none-test.c b/tests/machine-none-test.c
index 5953d31755..8bb54a6360 100644
--- a/tests/machine-none-test.c
+++ b/tests/machine-none-test.c
@@ -56,6 +56,7 @@  static struct arch2cpu cpus_map[] = {
     { "hppa", "hppa" },
     { "riscv64", "rv64gcsu-v1.10.0" },
     { "riscv32", "rv32gcsu-v1.9.1" },
+    { "rx", "rx62n" },
 };
 
 static const char *get_cpu_model_by_arch(const char *arch)
diff --git a/hw/Kconfig b/hw/Kconfig
index b45db3c813..77bbc59cc7 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -54,6 +54,7 @@  source nios2/Kconfig
 source openrisc/Kconfig
 source ppc/Kconfig
 source riscv/Kconfig
+source rx/Kconfig
 source s390x/Kconfig
 source sh4/Kconfig
 source sparc/Kconfig