* [PATCH 0/2] ast2600: Disable NEON and VFPv4-D32
@ 2022-09-28 16:47 Cédric Le Goater
2022-09-28 16:47 ` [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available Cédric Le Goater
2022-09-28 16:47 ` [PATCH 2/2] ast2600: Drop NEON from the CPU features Cédric Le Goater
0 siblings, 2 replies; 13+ messages in thread
From: Cédric Le Goater @ 2022-09-28 16:47 UTC (permalink / raw)
To: qemu-arm, qemu-devel
Cc: Peter Maydell, Richard Henderson, Joel Stanley, Andrew Jeffery,
Cédric Le Goater
Hello,
Currently, the CPU features exposed to the AST2600 QEMU machines are :
half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
vfpd32 lpae evtstrm
But, the features of the Cortex A7 CPU on the Aspeed AST2600 A3 SoC
are :
half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls vfpv4 idiva idivt
lpae evtstrm
NEON support should be dropped and, in that case, QEMU should
advertise a VFPv4 unit with 16 double-precision registers, and not 32
registers.
This problem was raised by a buildroot rootfs compiled with vfpv4.
Boot went fine under QEMU but on real HW, user space binaries had
issues with output. Compiling buildroot with vfpv4d16 fixed it and
I didn't dig further. Nevertheless, it would be nice to catch such
issues with QEMU.
Thanks,
C.
Cédric Le Goater (2):
target/arm: Disable VFPv4-D32 when NEON is not available
ast2600: Drop NEON from the CPU features
hw/arm/aspeed_ast2600.c | 2 ++
target/arm/cpu.c | 4 ++++
2 files changed, 6 insertions(+)
--
2.37.3
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-28 16:47 [PATCH 0/2] ast2600: Disable NEON and VFPv4-D32 Cédric Le Goater
@ 2022-09-28 16:47 ` Cédric Le Goater
2022-09-28 17:21 ` Richard Henderson
` (2 more replies)
2022-09-28 16:47 ` [PATCH 2/2] ast2600: Drop NEON from the CPU features Cédric Le Goater
1 sibling, 3 replies; 13+ messages in thread
From: Cédric Le Goater @ 2022-09-28 16:47 UTC (permalink / raw)
To: qemu-arm, qemu-devel
Cc: Peter Maydell, Richard Henderson, Joel Stanley, Andrew Jeffery,
Cédric Le Goater
As the Cortex A7 MPCore Technical reference says :
"When FPU option is selected without NEON, the FPU is VFPv4-D16 and
uses 16 double-precision registers. When the FPU is implemented with
NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
This register bank is shared with NEON."
Modify the mvfr0 register value of the cortex A7 to advertise only 16
registers when NEON is not available, and not 32 registers.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
target/arm/cpu.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index 7ec3281da9aa..01dc74c32add 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -1684,6 +1684,10 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
cpu->isar.id_isar6 = u;
if (!arm_feature(env, ARM_FEATURE_M)) {
+ u = cpu->isar.mvfr0;
+ u = FIELD_DP32(u, MVFR0, SIMDREG, 1); /* 16 registers */
+ cpu->isar.mvfr0 = u;
+
u = cpu->isar.mvfr1;
u = FIELD_DP32(u, MVFR1, SIMDLS, 0);
u = FIELD_DP32(u, MVFR1, SIMDINT, 0);
--
2.37.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] ast2600: Drop NEON from the CPU features
2022-09-28 16:47 [PATCH 0/2] ast2600: Disable NEON and VFPv4-D32 Cédric Le Goater
2022-09-28 16:47 ` [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available Cédric Le Goater
@ 2022-09-28 16:47 ` Cédric Le Goater
2022-09-29 2:09 ` Joel Stanley
1 sibling, 1 reply; 13+ messages in thread
From: Cédric Le Goater @ 2022-09-28 16:47 UTC (permalink / raw)
To: qemu-arm, qemu-devel
Cc: Peter Maydell, Richard Henderson, Joel Stanley, Andrew Jeffery,
Cédric Le Goater
Currently, the CPU features exposed to the AST2600 QEMU machines are :
half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
vfpd32 lpae evtstrm
But, the features of the Cortex A7 CPU on the Aspeed AST2600 A3 SoC
are :
half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls vfpv4 idiva idivt
lpae evtstrm
Drop NEON support in the Aspeed AST2600 SoC.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/arm/aspeed_ast2600.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
index dcdc9bc54456..af987fd418ec 100644
--- a/hw/arm/aspeed_ast2600.c
+++ b/hw/arm/aspeed_ast2600.c
@@ -330,6 +330,8 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
object_property_set_int(OBJECT(&s->cpu[i]), "cntfrq", 1125000000,
&error_abort);
+ object_property_set_bool(OBJECT(&s->cpu[i]), "neon", false,
+ &error_abort);
object_property_set_link(OBJECT(&s->cpu[i]), "memory",
OBJECT(s->memory), &error_abort);
--
2.37.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-28 16:47 ` [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available Cédric Le Goater
@ 2022-09-28 17:21 ` Richard Henderson
2022-09-28 23:00 ` Joel Stanley
2022-09-29 11:44 ` Peter Maydell
2 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2022-09-28 17:21 UTC (permalink / raw)
To: Cédric Le Goater, qemu-arm, qemu-devel
Cc: Peter Maydell, Joel Stanley, Andrew Jeffery
On 9/28/22 09:47, Cédric Le Goater wrote:
> As the Cortex A7 MPCore Technical reference says :
>
> "When FPU option is selected without NEON, the FPU is VFPv4-D16 and
> uses 16 double-precision registers. When the FPU is implemented with
> NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
> This register bank is shared with NEON."
>
> Modify the mvfr0 register value of the cortex A7 to advertise only 16
> registers when NEON is not available, and not 32 registers.
Looks like A5 has the same language, while A15 says that NEON cannot be enabled without
VFP (which is the same as all aarch64 cores). I guess this is a decent compromise.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-28 16:47 ` [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available Cédric Le Goater
2022-09-28 17:21 ` Richard Henderson
@ 2022-09-28 23:00 ` Joel Stanley
2022-09-29 7:20 ` Cédric Le Goater
2022-09-29 11:44 ` Peter Maydell
2 siblings, 1 reply; 13+ messages in thread
From: Joel Stanley @ 2022-09-28 23:00 UTC (permalink / raw)
To: Cédric Le Goater
Cc: qemu-arm, qemu-devel, Peter Maydell, Richard Henderson, Andrew Jeffery
On Wed, 28 Sept 2022 at 16:47, Cédric Le Goater <clg@kaod.org> wrote:
>
> As the Cortex A7 MPCore Technical reference says :
>
> "When FPU option is selected without NEON, the FPU is VFPv4-D16 and
> uses 16 double-precision registers. When the FPU is implemented with
> NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
> This register bank is shared with NEON."
>
> Modify the mvfr0 register value of the cortex A7 to advertise only 16
> registers when NEON is not available, and not 32 registers.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> target/arm/cpu.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
> index 7ec3281da9aa..01dc74c32add 100644
> --- a/target/arm/cpu.c
> +++ b/target/arm/cpu.c
> @@ -1684,6 +1684,10 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
> cpu->isar.id_isar6 = u;
>
> if (!arm_feature(env, ARM_FEATURE_M)) {
Can you explain why the test is put behind the !ARM_FEATURE_M check?
Reviewed-by: Joel Stanley <joel@jms.id.au>
> + u = cpu->isar.mvfr0;
> + u = FIELD_DP32(u, MVFR0, SIMDREG, 1); /* 16 registers */
> + cpu->isar.mvfr0 = u;
> +
> u = cpu->isar.mvfr1;
> u = FIELD_DP32(u, MVFR1, SIMDLS, 0);
> u = FIELD_DP32(u, MVFR1, SIMDINT, 0);
> --
> 2.37.3
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/2] ast2600: Drop NEON from the CPU features
2022-09-28 16:47 ` [PATCH 2/2] ast2600: Drop NEON from the CPU features Cédric Le Goater
@ 2022-09-29 2:09 ` Joel Stanley
0 siblings, 0 replies; 13+ messages in thread
From: Joel Stanley @ 2022-09-29 2:09 UTC (permalink / raw)
To: Cédric Le Goater
Cc: qemu-arm, qemu-devel, Peter Maydell, Richard Henderson, Andrew Jeffery
On Wed, 28 Sept 2022 at 16:47, Cédric Le Goater <clg@kaod.org> wrote:
>
> Currently, the CPU features exposed to the AST2600 QEMU machines are :
>
> half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
> vfpd32 lpae evtstrm
>
> But, the features of the Cortex A7 CPU on the Aspeed AST2600 A3 SoC
> are :
>
> half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls vfpv4 idiva idivt
> lpae evtstrm
>
> Drop NEON support in the Aspeed AST2600 SoC.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-28 23:00 ` Joel Stanley
@ 2022-09-29 7:20 ` Cédric Le Goater
2022-09-29 11:48 ` Peter Maydell
0 siblings, 1 reply; 13+ messages in thread
From: Cédric Le Goater @ 2022-09-29 7:20 UTC (permalink / raw)
To: Joel Stanley
Cc: qemu-arm, qemu-devel, Peter Maydell, Richard Henderson, Andrew Jeffery
On 9/29/22 01:00, Joel Stanley wrote:
> On Wed, 28 Sept 2022 at 16:47, Cédric Le Goater <clg@kaod.org> wrote:
>>
>> As the Cortex A7 MPCore Technical reference says :
>>
>> "When FPU option is selected without NEON, the FPU is VFPv4-D16 and
>> uses 16 double-precision registers. When the FPU is implemented with
>> NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
>> This register bank is shared with NEON."
>>
>> Modify the mvfr0 register value of the cortex A7 to advertise only 16
>> registers when NEON is not available, and not 32 registers.
>>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>
>
>
>> ---
>> target/arm/cpu.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
>> index 7ec3281da9aa..01dc74c32add 100644
>> --- a/target/arm/cpu.c
>> +++ b/target/arm/cpu.c
>> @@ -1684,6 +1684,10 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
>> cpu->isar.id_isar6 = u;
>>
>> if (!arm_feature(env, ARM_FEATURE_M)) {
>
> Can you explain why the test is put behind the !ARM_FEATURE_M check?
Do you mean the setting of MVFR0 ?
because it was close to the code clearing the SIMD bits (NEON)
of MVFR1 and it seemed more in sync with the specs :
"When FPU option is selected without NEON, the FPU is VFPv4-D16 and
uses 16 double-precision registers. When the FPU is implemented with
NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
This register bank is shared with NEON."
(That said, M processors don't have NEON, so this part of the code
should never be reached )
It could be done outside of this test also because SIMDREG = 1 is
a valid value for M processors and the code path :
if (!cpu->has_neon && !cpu->has_vfp) {
will set MVFR0 to 0 later on if needed.
M55 seems to be a special case though :
cpu->isar.mvfr1 = 0x12100211
these are the FPU and MVE bits.
C.
>
> Reviewed-by: Joel Stanley <joel@jms.id.au>
>
>> + u = cpu->isar.mvfr0;
>> + u = FIELD_DP32(u, MVFR0, SIMDREG, 1); /* 16 registers */
>> + cpu->isar.mvfr0 = u;
>> +
>> u = cpu->isar.mvfr1;
>> u = FIELD_DP32(u, MVFR1, SIMDLS, 0);
>> u = FIELD_DP32(u, MVFR1, SIMDINT, 0);
>> --
>> 2.37.3
>>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-28 16:47 ` [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available Cédric Le Goater
2022-09-28 17:21 ` Richard Henderson
2022-09-28 23:00 ` Joel Stanley
@ 2022-09-29 11:44 ` Peter Maydell
2022-09-29 15:22 ` Richard Henderson
2022-09-30 14:59 ` Cédric Le Goater
2 siblings, 2 replies; 13+ messages in thread
From: Peter Maydell @ 2022-09-29 11:44 UTC (permalink / raw)
To: Cédric Le Goater
Cc: qemu-arm, qemu-devel, Richard Henderson, Joel Stanley, Andrew Jeffery
On Wed, 28 Sept 2022 at 17:47, Cédric Le Goater <clg@kaod.org> wrote:
>
> As the Cortex A7 MPCore Technical reference says :
>
> "When FPU option is selected without NEON, the FPU is VFPv4-D16 and
> uses 16 double-precision registers. When the FPU is implemented with
> NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
> This register bank is shared with NEON."
>
> Modify the mvfr0 register value of the cortex A7 to advertise only 16
> registers when NEON is not available, and not 32 registers.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> target/arm/cpu.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
> index 7ec3281da9aa..01dc74c32add 100644
> --- a/target/arm/cpu.c
> +++ b/target/arm/cpu.c
> @@ -1684,6 +1684,10 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
> cpu->isar.id_isar6 = u;
>
> if (!arm_feature(env, ARM_FEATURE_M)) {
> + u = cpu->isar.mvfr0;
> + u = FIELD_DP32(u, MVFR0, SIMDREG, 1); /* 16 registers */
> + cpu->isar.mvfr0 = u;
> +
Architecturally, Neon implies that you must have 32 dp registers,
but not having Neon does not imply that you must only have 16.
In particular, the Cortex-A15 always implements VFPv4-D32
whether Neon is enabled or not.
If you want to be able to turn off D32 and restrict to 16
registers, I think you need to add a separate property to
control that.
thanks
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-29 7:20 ` Cédric Le Goater
@ 2022-09-29 11:48 ` Peter Maydell
0 siblings, 0 replies; 13+ messages in thread
From: Peter Maydell @ 2022-09-29 11:48 UTC (permalink / raw)
To: Cédric Le Goater
Cc: Joel Stanley, qemu-arm, qemu-devel, Richard Henderson, Andrew Jeffery
On Thu, 29 Sept 2022 at 08:20, Cédric Le Goater <clg@kaod.org> wrote:
>
> On 9/29/22 01:00, Joel Stanley wrote:
> > On Wed, 28 Sept 2022 at 16:47, Cédric Le Goater <clg@kaod.org> wrote:
> >> @@ -1684,6 +1684,10 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
> >> cpu->isar.id_isar6 = u;
> >>
> >> if (!arm_feature(env, ARM_FEATURE_M)) {
> >
> > Can you explain why the test is put behind the !ARM_FEATURE_M check?
>
> Do you mean the setting of MVFR0 ?
>
> because it was close to the code clearing the SIMD bits (NEON)
> of MVFR1 and it seemed more in sync with the specs :
>
> "When FPU option is selected without NEON, the FPU is VFPv4-D16 and
> uses 16 double-precision registers. When the FPU is implemented with
> NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
> This register bank is shared with NEON."
>
> (That said, M processors don't have NEON, so this part of the code
> should never be reached )
They don't have Neon, but that means that cpu->has_neon is
false, so this part of the code *will* be reached. The reason
this sub-part of the "disable Neon" handling is inside
a not-M check is because M-profile has a different assignment
for some of the MVFR1 fields (check the comments in the FIELD
definitions in cpu.h), and zeroing things out based on the
A-profile meanings would be wrong.
thanks
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-29 11:44 ` Peter Maydell
@ 2022-09-29 15:22 ` Richard Henderson
2022-09-29 15:29 ` Peter Maydell
2022-09-30 14:59 ` Cédric Le Goater
1 sibling, 1 reply; 13+ messages in thread
From: Richard Henderson @ 2022-09-29 15:22 UTC (permalink / raw)
To: Peter Maydell, Cédric Le Goater
Cc: qemu-arm, qemu-devel, Joel Stanley, Andrew Jeffery
On 9/29/22 04:44, Peter Maydell wrote:
> Architecturally, Neon implies that you must have 32 dp registers,
> but not having Neon does not imply that you must only have 16.
> In particular, the Cortex-A15 always implements VFPv4-D32
> whether Neon is enabled or not.
A15 requires VFP == NEON in its configuration.
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-29 15:22 ` Richard Henderson
@ 2022-09-29 15:29 ` Peter Maydell
0 siblings, 0 replies; 13+ messages in thread
From: Peter Maydell @ 2022-09-29 15:29 UTC (permalink / raw)
To: Richard Henderson
Cc: Cédric Le Goater, qemu-arm, qemu-devel, Joel Stanley,
Andrew Jeffery
On Thu, 29 Sept 2022 at 16:22, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 9/29/22 04:44, Peter Maydell wrote:
> > Architecturally, Neon implies that you must have 32 dp registers,
> > but not having Neon does not imply that you must only have 16.
> > In particular, the Cortex-A15 always implements VFPv4-D32
> > whether Neon is enabled or not.
>
> A15 requires VFP == NEON in its configuration.
No, it requires that if you have Neon then you have VFP;
but it allows all of:
* no VFP or Neon
* VFP, no Neon
* VFP and Neon
https://developer.arm.com/documentation/ddi0438/i/neon-and-vfp-unit/about-neon-and-vfp-unit
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-29 11:44 ` Peter Maydell
2022-09-29 15:22 ` Richard Henderson
@ 2022-09-30 14:59 ` Cédric Le Goater
2022-09-30 15:10 ` Peter Maydell
1 sibling, 1 reply; 13+ messages in thread
From: Cédric Le Goater @ 2022-09-30 14:59 UTC (permalink / raw)
To: Peter Maydell
Cc: qemu-arm, qemu-devel, Richard Henderson, Joel Stanley, Andrew Jeffery
On 9/29/22 13:44, Peter Maydell wrote:
> On Wed, 28 Sept 2022 at 17:47, Cédric Le Goater <clg@kaod.org> wrote:
>>
>> As the Cortex A7 MPCore Technical reference says :
>>
>> "When FPU option is selected without NEON, the FPU is VFPv4-D16 and
>> uses 16 double-precision registers. When the FPU is implemented with
>> NEON, the FPU is VFPv4-D32 and uses 32 double-precision registers.
>> This register bank is shared with NEON."
>>
>> Modify the mvfr0 register value of the cortex A7 to advertise only 16
>> registers when NEON is not available, and not 32 registers.
>>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> target/arm/cpu.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
>> index 7ec3281da9aa..01dc74c32add 100644
>> --- a/target/arm/cpu.c
>> +++ b/target/arm/cpu.c
>> @@ -1684,6 +1684,10 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
>> cpu->isar.id_isar6 = u;
>>
>> if (!arm_feature(env, ARM_FEATURE_M)) {
>> + u = cpu->isar.mvfr0;
>> + u = FIELD_DP32(u, MVFR0, SIMDREG, 1); /* 16 registers */
>> + cpu->isar.mvfr0 = u;
>> +
>
> Architecturally, Neon implies that you must have 32 dp registers,
> but not having Neon does not imply that you must only have 16.
> In particular, the Cortex-A15 always implements VFPv4-D32
> whether Neon is enabled or not.
>
> If you want to be able to turn off D32 and restrict to 16
> registers, I think you need to add a separate property to
> control that.
Something like "vfp-d16" ?
Thanks,
C.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available
2022-09-30 14:59 ` Cédric Le Goater
@ 2022-09-30 15:10 ` Peter Maydell
0 siblings, 0 replies; 13+ messages in thread
From: Peter Maydell @ 2022-09-30 15:10 UTC (permalink / raw)
To: Cédric Le Goater
Cc: qemu-arm, qemu-devel, Richard Henderson, Joel Stanley, Andrew Jeffery
On Fri, 30 Sept 2022 at 15:59, Cédric Le Goater <clg@kaod.org> wrote:
>
> On 9/29/22 13:44, Peter Maydell wrote:
> > If you want to be able to turn off D32 and restrict to 16
> > registers, I think you need to add a separate property to
> > control that.
>
> Something like "vfp-d16" ?
That ends up being a sort of negative-polarity feature.
Maybe "vfp-d32" for "have 32 dregs", with 'no' meaning "only 16" ?
thanks
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-09-30 15:13 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-28 16:47 [PATCH 0/2] ast2600: Disable NEON and VFPv4-D32 Cédric Le Goater
2022-09-28 16:47 ` [PATCH 1/2] target/arm: Disable VFPv4-D32 when NEON is not available Cédric Le Goater
2022-09-28 17:21 ` Richard Henderson
2022-09-28 23:00 ` Joel Stanley
2022-09-29 7:20 ` Cédric Le Goater
2022-09-29 11:48 ` Peter Maydell
2022-09-29 11:44 ` Peter Maydell
2022-09-29 15:22 ` Richard Henderson
2022-09-29 15:29 ` Peter Maydell
2022-09-30 14:59 ` Cédric Le Goater
2022-09-30 15:10 ` Peter Maydell
2022-09-28 16:47 ` [PATCH 2/2] ast2600: Drop NEON from the CPU features Cédric Le Goater
2022-09-29 2:09 ` Joel Stanley
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.