Any comments?
It's really a bug and can cause the qemu to segmentfault.
Thanks,
Michael
-Original Message-
From: 仇大玉
Sent: 2021年1月28日 13:16
To: qemu-block@nongnu.org; qemu-de...@nongnu.org
Cc: kw...@redhat.com; mre...@redhat.com; js...@redhat.com; 08005...@163.com
Subject: RE: [PATCH v4
On 1/31/21 1:36 PM, Philippe Mathieu-Daudé wrote:
> On 1/31/21 12:13 PM, Philippe Mathieu-Daudé wrote:
>> Add a target-specific Kconfig.
>>
>> Target foo now has CONFIG_FOO defined.
>>
>> Two architecture have a particularity, ARM and MIPS:
>> their 64-bit version include the 32-bit subset.
>>
>> S
On 1/31/21 3:18 PM, Claudio Fontana wrote:
> On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
>> Modules are registered early with type_register_static().
>>
>> We would like to call tcg_enabled() when registering QOM types,
>
>
> Hi Philippe,
>
> could this not be controlled by meson at this
On 1/31/21 3:40 PM, Claudio Fontana wrote:
> On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
>> Cover from Samuel Ortiz from (part 1) [1]:
>>
>> This patchset allows for building and running ARM targets with TCG
>> disabled. [...]
>>
>> The rationale behind this work comes from the NEMU pr
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> Cover from Samuel Ortiz from (part 1) [1]:
>
> This patchset allows for building and running ARM targets with TCG
> disabled. [...]
>
> The rationale behind this work comes from the NEMU project where
> we're trying to only support x86
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> KVM requires the target cpu to be at least ARMv8 architecture
> (support on ARMv7 has been dropped in commit 82bf7ae84ce:
> "target/arm: Remove KVM support for 32-bit Arm hosts").
>
> Beside, KVM only supports A-profile, thus won't be able to ru
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> KVM requires the target cpu to be at least ARMv8 architecture
> (support on ARMv7 has been dropped in commit 82bf7ae84ce:
> "target/arm: Remove KVM support for 32-bit Arm hosts").
>
> Beside, KVM only supports A-profile, thus won't be able to ru
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> KVM requires the target cpu to be at least ARMv8 architecture
> (support on ARMv7 has been dropped in commit 82bf7ae84ce:
> "target/arm: Remove KVM support for 32-bit Arm hosts").
>
> Only enable the following ARMv6 CPUs when TCG is available:
>
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> KVM requires the target cpu to be at least ARMv8 architecture
> (support on ARMv7 has been dropped in commit 82bf7ae84ce:
> "target/arm: Remove KVM support for 32-bit Arm hosts").
>
> Only enable the following ARMv5 CPUs when TCG is available:
>
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> KVM requires the target cpu to be at least ARMv8 architecture
> (support on ARMv7 has been dropped in commit 82bf7ae84ce:
> "target/arm: Remove KVM support for 32-bit Arm hosts").
>
> Only enable the following ARMv4 CPUs when TCG is available:
>
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> Fixes when building with --disable-tcg on ARM:
>
> In file included from target/arm/helper.c:16:
> include/exec/helper-proto.h:42:10: fatal error: tcg-runtime.h: No such file
> or directory
> 42 | #include "tcg-runtime.h"
> |
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> Modules are registered early with type_register_static().
>
> We would like to call tcg_enabled() when registering QOM types,
Hi Philippe,
could this not be controlled by meson at this stage?
On X86, I register the tcg-specific types in tcg/*
On 1/29/21 8:59 PM, Paolo Bonzini wrote:
> On 29/01/21 20:44, Philippe Mathieu-Daudé wrote:
>> hw/ide/ioport.c has a strong dependency on hw/isa/isa-bus.c:
>>
>> /usr/bin/ld: libcommon.fa.p/hw_ide_ioport.c.o: in function
>> `ide_init_ioport':
>> /usr/bin/ld: hw/ide/ioport.c:61: undefined refe
On 1/31/21 12:50 PM, Philippe Mathieu-Daudé wrote:
> KVM requires the target cpu to be at least ARMv8 architecture
> (support on ARMv7 has been dropped in commit 82bf7ae84ce:
> "target/arm: Remove KVM support for 32-bit Arm hosts").
>
> Beside, KVM only supports A-profile, thus won't be able to ru
On 1/31/21 12:13 PM, Philippe Mathieu-Daudé wrote:
> Add a target-specific Kconfig.
>
> Target foo now has CONFIG_FOO defined.
>
> Two architecture have a particularity, ARM and MIPS:
> their 64-bit version include the 32-bit subset.
>
> Signed-off-by: Philippe Mathieu-Daudé
> ---
...
> diff -
On Sun, Jan 31, 2021 at 12:51 PM Philippe Mathieu-Daudé wrote:
>
> From: Philippe Mathieu-Daudé
>
> Add a job to build QEMU on Aarch64 with TCG disabled, so
> this configuration won't bitrot over time.
>
> We explicitly modify default-configs/aarch64-softmmu.mak to
> only select the 'virt' and 'S
From: Philippe Mathieu-Daudé
Add a job to build QEMU on Aarch64 with TCG disabled, so
this configuration won't bitrot over time.
We explicitly modify default-configs/aarch64-softmmu.mak to
only select the 'virt' and 'SBSA-REF' machines.
Signed-off-by: Philippe Mathieu-Daudé
---
Job ran for 7 m
From: Samuel Ortiz
We can now safely turn all TCG dependent build off when CONFIG_TCG is
off. This allows building ARM binaries with --disable-tcg.
Signed-off-by: Samuel Ortiz
[PMD: Heavily rebased during more than 2 years then finally rewritten]
Reviewed-by: Richard Henderson
Signed-off-by: P
From: Philippe Mathieu-Daudé
Reorder the rules to make this file easier to modify.
No logical change introduced in this commit.
Reviewed-by: Richard Henderson
Signed-off-by: Philippe Mathieu-Daudé
---
target/arm/meson.build | 19 ---
1 file changed, 12 insertions(+), 7 deletio
KVM requires the target cpu to be at least ARMv8 architecture
(support on ARMv7 has been dropped in commit 82bf7ae84ce:
"target/arm: Remove KVM support for 32-bit Arm hosts").
Beside, KVM only supports A-profile, thus won't be able to run
M-profile cpus.
Only enable the following ARMv7 M-Profile
KVM requires the target cpu to be at least ARMv8 architecture
(support on ARMv7 has been dropped in commit 82bf7ae84ce:
"target/arm: Remove KVM support for 32-bit Arm hosts").
Only enable the following ARMv4 CPUs when TCG is available:
- StrongARM (SA1100/1110)
- OMAP1510 (TI925T)
The follow
From: Thomas Huth
We've already got the CONFIG_ARM_V7M switch, but it currently can
not be disabled yet. The m_helper.c code should not be compiled
into the binary if the switch is not enabled. We also have to
provide some stubs in a separate file to make sure that we still
can link the other cod
KVM requires the target cpu to be at least ARMv8 architecture
(support on ARMv7 has been dropped in commit 82bf7ae84ce:
"target/arm: Remove KVM support for 32-bit Arm hosts").
Beside, KVM only supports A-profile, thus won't be able to run
R-profile cpus.
Only enable the following ARMv7 R-Profile
KVM requires the target cpu to be at least ARMv8 architecture
(support on ARMv7 has been dropped in commit 82bf7ae84ce:
"target/arm: Remove KVM support for 32-bit Arm hosts").
Only enable the following ARMv6 CPUs when TCG is available:
- ARM1136
- ARM1176
- ARM11MPCore
- Cortex-M0
The fo
KVM requires the target cpu to be at least ARMv8 architecture
(support on ARMv7 has been dropped in commit 82bf7ae84ce:
"target/arm: Remove KVM support for 32-bit Arm hosts").
Only enable the following ARMv5 CPUs when TCG is available:
- ARM926
- ARM946
- ARM1026
- XScale (PXA250/255/260/
Fixes when building with --disable-tcg on ARM:
In file included from target/arm/helper.c:16:
include/exec/helper-proto.h:42:10: fatal error: tcg-runtime.h: No such file
or directory
42 | #include "tcg-runtime.h"
| ^~~
Signed-off-by: Philippe Mathieu-Daudé
-
Modules are registered early with type_register_static().
We would like to call tcg_enabled() when registering QOM types,
but tcg_enabled() returns tcg_allowed which is a runtime property
initialized later (See commit 2f181fbd5a9 which introduced the
MachineInitPhase in "hw/qdev-core.h" representi
Cover from Samuel Ortiz from (part 1) [1]:
This patchset allows for building and running ARM targets with TCG
disabled. [...]
The rationale behind this work comes from the NEMU project where
we're trying to only support x86 and ARM 64-bit architectures,
without including the TCG code ba
вс, 31 янв. 2021 г., 12:13 Philippe Mathieu-Daudé :
> Add a target-specific Kconfig.
>
> Target foo now has CONFIG_FOO defined.
>
> Two architecture have a particularity, ARM and MIPS:
> their 64-bit version include the 32-bit subset.
>
> Signed-off-by: Philippe Mathieu-Daudé
>
For SPARC part:
A
Commit 56b5170c87e ("semihosting: Move ARM semihosting code to
shared directories") selected ARM_COMPATIBLE_SEMIHOSTING which
already selects SEMIHOSTING. No need to select it again.
Signed-off-by: Philippe Mathieu-Daudé
---
default-configs/devices/arm-softmmu.mak | 1 -
default-configs/devi
V7M is an architecture feature, move its declaration to target/arm/.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/arm/Kconfig | 4
target/arm/Kconfig | 4
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 09298881f2f..f3ecb73a3d8 1
SEV is an architecture feature, move its declaration to target/i386/.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/i386/Kconfig | 4
target/i386/Kconfig | 4
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 7f91f30877f..3d67c172
SEMIHOSTING is an architecture feature, move its declaration to
each target/ARCH/.
Signed-off-by: Philippe Mathieu-Daudé
---
default-configs/devices/lm32-softmmu.mak| 2 --
default-configs/devices/m68k-softmmu.mak| 2 --
default-configs/devices/mips-softmmu-common.mak | 3 ---
de
We want to be able to use the 'LM32' config for architecture
specific features. As CONFIG_LM32 is only used to select
peripherals, rename it CONFIG_LM32_PERIPHERALS.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/char/meson.build | 4 ++--
hw/intc/meson.build | 2 +-
hw/lm32/Kconfig | 4 ++-
We want to be able to use the 'LM32' config for architecture
specific features. Introduce CONFIG_LM32_EVR to select the
lm32-evr / lm32-uclinux boards.
Signed-off-by: Philippe Mathieu-Daudé
---
default-configs/devices/lm32-softmmu.mak | 2 +-
hw/lm32/Kconfig | 6 +-
Add a target-specific Kconfig.
Target foo now has CONFIG_FOO defined.
Two architecture have a particularity, ARM and MIPS:
their 64-bit version include the 32-bit subset.
Signed-off-by: Philippe Mathieu-Daudé
---
I suppose X86_64 should also select I386?
No clue about PPC/RISCV.
---
meson.buil
The Milkymist board requires more than the PTIMER. Directly
select the LM32_PERIPHERALS. This fixes:
/usr/bin/ld:
libqemu-lm32-softmmu.fa.p/target_lm32_gdbstub.c.o: in function
`lm32_cpu_gdb_read_register':
target/lm32/gdbstub.c:46: undefined reference to `lm32_pic_get_im'
target/lm32/gdb
ARM_COMPATIBLE_SEMIHOSTING is an architecture feature, move its
declaration to each target/ARCH/.
Note, we do not modify the linux-user targets, as user-mode builds
don't use Kconfig.
Signed-off-by: Philippe Mathieu-Daudé
---
default-configs/devices/arm-softmmu.mak | 1 -
default-configs/de
We want to be able to use the 'SH4' config for architecture
specific features. As CONFIG_SH4 is only used to select
peripherals, rename it CONFIG_SH4_PERIPHERALS.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/block/meson.build | 2 +-
hw/char/meson.build | 2 +-
hw/intc/meson.build | 2 +-
hw/s
Hi,
This series add a Kconfig file to each target, allowing
to select target-specific features there, instead of from
the hardware Kconfig.
This simplifies managing multi-arch features such semihosting.
Series organization:
1/ Some targets use the architecture symbol to select boards and
periph
40 matches
Mail list logo