mbox series

[0/2] target/riscv: Only build qemu-system-riscv$$ on rv$$ host

Message ID 20230627143235.29947-1-philmd@linaro.org
Headers show
Series target/riscv: Only build qemu-system-riscv$$ on rv$$ host | expand

Message

Philippe Mathieu-Daudé June 27, 2023, 2:32 p.m. UTC
Per Anup Patel in [*]:

 > Currently, we only support running rv64 guest on rv64 host
 > and rv32 guest on rv32 host.
 >
 > In the future, we might support running rv32 guest on rv64
 > host but as of now we don't see a strong push for it.

Therefore, when only using the KVM accelerator it is pointless
to build qemu-system-riscv32 on a rv64 host (or qemu-system-riscv64
on a rv32 host). Restrict meson to only build the correct binary,
avoiding to waste ressources building unusable code.

[*] https://lore.kernel.org/qemu-devel/CAAhSdy2JeRHeeoEc1XKQhPO3aDz4YKeyQsPT4S8yKJcYTA+AiQ@mail.gmail.com/

Based-on: <20230626232007.8933-1-philmd@linaro.org>
"target/riscv: Allow building without TCG (KVM-only so far)"
https://lore.kernel.org/qemu-devel/20230626232007.8933-1-philmd@linaro.org/

Philippe Mathieu-Daudé (2):
  target/riscv: Only unify 'riscv32/64' -> 'riscv' for host cpu in meson
  target/riscv: Only build KVM guest with same wordsize as host

 meson.build | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

Comments

Richard Henderson June 28, 2023, 7:48 a.m. UTC | #1
On 6/27/23 16:32, Philippe Mathieu-Daudé wrote:
> Per Anup Patel in [*]:
> 
>   > Currently, we only support running rv64 guest on rv64 host
>   > and rv32 guest on rv32 host.
>   >
>   > In the future, we might support running rv32 guest on rv64
>   > host but as of now we don't see a strong push for it.
> 
> Therefore, when only using the KVM accelerator it is pointless
> to build qemu-system-riscv32 on a rv64 host (or qemu-system-riscv64
> on a rv32 host). Restrict meson to only build the correct binary,
> avoiding to waste ressources building unusable code.
> 
> [*] https://lore.kernel.org/qemu-devel/CAAhSdy2JeRHeeoEc1XKQhPO3aDz4YKeyQsPT4S8yKJcYTA+AiQ@mail.gmail.com/
> 
> Based-on: <20230626232007.8933-1-philmd@linaro.org>
> "target/riscv: Allow building without TCG (KVM-only so far)"
> https://lore.kernel.org/qemu-devel/20230626232007.8933-1-philmd@linaro.org/
> 
> Philippe Mathieu-Daudé (2):
>    target/riscv: Only unify 'riscv32/64' -> 'riscv' for host cpu in meson
>    target/riscv: Only build KVM guest with same wordsize as host
> 
>   meson.build | 15 +++++++--------
>   1 file changed, 7 insertions(+), 8 deletions(-)
> 

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
Philippe Mathieu-Daudé June 28, 2023, 7:55 a.m. UTC | #2
On 27/6/23 16:32, Philippe Mathieu-Daudé wrote:
> Per Anup Patel in [*]:
> 
>   > Currently, we only support running rv64 guest on rv64 host
>   > and rv32 guest on rv32 host.
>   >
>   > In the future, we might support running rv32 guest on rv64
>   > host but as of now we don't see a strong push for it.
> 
> Therefore, when only using the KVM accelerator it is pointless
> to build qemu-system-riscv32 on a rv64 host (or qemu-system-riscv64
> on a rv32 host). Restrict meson to only build the correct binary,
> avoiding to waste ressources building unusable code.
> 
> [*] https://lore.kernel.org/qemu-devel/CAAhSdy2JeRHeeoEc1XKQhPO3aDz4YKeyQsPT4S8yKJcYTA+AiQ@mail.gmail.com/
> 
> Based-on: <20230626232007.8933-1-philmd@linaro.org>
> "target/riscv: Allow building without TCG (KVM-only so far)"
> https://lore.kernel.org/qemu-devel/20230626232007.8933-1-philmd@linaro.org/

Alistair: I just noticed there is no strict dependency with the
other series (aimed for 8.2), so this can get merged for 8.1.
Alistair Francis July 3, 2023, 2:24 a.m. UTC | #3
On Wed, Jun 28, 2023 at 12:33 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Per Anup Patel in [*]:
>
>  > Currently, we only support running rv64 guest on rv64 host
>  > and rv32 guest on rv32 host.
>  >
>  > In the future, we might support running rv32 guest on rv64
>  > host but as of now we don't see a strong push for it.
>
> Therefore, when only using the KVM accelerator it is pointless
> to build qemu-system-riscv32 on a rv64 host (or qemu-system-riscv64
> on a rv32 host). Restrict meson to only build the correct binary,
> avoiding to waste ressources building unusable code.
>
> [*] https://lore.kernel.org/qemu-devel/CAAhSdy2JeRHeeoEc1XKQhPO3aDz4YKeyQsPT4S8yKJcYTA+AiQ@mail.gmail.com/
>
> Based-on: <20230626232007.8933-1-philmd@linaro.org>
> "target/riscv: Allow building without TCG (KVM-only so far)"
> https://lore.kernel.org/qemu-devel/20230626232007.8933-1-philmd@linaro.org/
>
> Philippe Mathieu-Daudé (2):
>   target/riscv: Only unify 'riscv32/64' -> 'riscv' for host cpu in meson
>   target/riscv: Only build KVM guest with same wordsize as host

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

>
>  meson.build | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
>
> --
> 2.38.1
>
>
Alistair Francis July 3, 2023, 2:26 a.m. UTC | #4
On Wed, Jun 28, 2023 at 12:33 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Per Anup Patel in [*]:
>
>  > Currently, we only support running rv64 guest on rv64 host
>  > and rv32 guest on rv32 host.
>  >
>  > In the future, we might support running rv32 guest on rv64
>  > host but as of now we don't see a strong push for it.
>
> Therefore, when only using the KVM accelerator it is pointless
> to build qemu-system-riscv32 on a rv64 host (or qemu-system-riscv64
> on a rv32 host). Restrict meson to only build the correct binary,
> avoiding to waste ressources building unusable code.
>
> [*] https://lore.kernel.org/qemu-devel/CAAhSdy2JeRHeeoEc1XKQhPO3aDz4YKeyQsPT4S8yKJcYTA+AiQ@mail.gmail.com/
>
> Based-on: <20230626232007.8933-1-philmd@linaro.org>
> "target/riscv: Allow building without TCG (KVM-only so far)"
> https://lore.kernel.org/qemu-devel/20230626232007.8933-1-philmd@linaro.org/
>
> Philippe Mathieu-Daudé (2):
>   target/riscv: Only unify 'riscv32/64' -> 'riscv' for host cpu in meson
>   target/riscv: Only build KVM guest with same wordsize as host

Thanks!

Applied to riscv-to-apply.next

Alistair

>
>  meson.build | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
>
> --
> 2.38.1
>
>