* [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes
@ 2013-03-19 11:21 Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 1/3] QAPI: Add ARMEB target-type Fabien Chouteau
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Fabien Chouteau @ 2013-03-19 11:21 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, paul, afaerber
v2:
- I drop the the CPSR.E/SCTLR.E/SCTLR.IE patch. The issue is still too
complex for me to submit a good patch.
- Fix the GDB byte order for 64bits registers
Fabien Chouteau (3):
QAPI: Add ARMEB target-type
Add default config for armeb-softmmu
target-arm: Fix VFP register byte order in GDB remote
default-configs/armeb-softmmu.mak | 3 +++
qapi-schema.json | 9 +++++----
target-arm/helper.c | 23 ++++++++++++++++-------
3 files changed, 24 insertions(+), 11 deletions(-)
create mode 100644 default-configs/armeb-softmmu.mak
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH V2 1/3] QAPI: Add ARMEB target-type
2013-03-19 11:21 [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Fabien Chouteau
@ 2013-03-19 11:21 ` Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 2/3] Add default config for armeb-softmmu Fabien Chouteau
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Fabien Chouteau @ 2013-03-19 11:21 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, paul, afaerber
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>
---
qapi-schema.json | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/qapi-schema.json b/qapi-schema.json
index 28b070f..0615715 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2993,10 +2993,11 @@
# Since: 1.2.0
##
{ 'enum': 'TargetType',
- 'data': [ 'alpha', 'arm', 'cris', 'i386', 'lm32', 'm68k', 'microblazeel',
- 'microblaze', 'mips64el', 'mips64', 'mipsel', 'mips', 'or32',
- 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4', 'sparc64',
- 'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] }
+ 'data': [ 'alpha', 'arm', 'armeb','cris', 'i386', 'lm32', 'm68k',
+ 'microblazeel', 'microblaze', 'mips64el', 'mips64', 'mipsel',
+ 'mips', 'or32', 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb',
+ 'sh4', 'sparc64', 'sparc', 'unicore32', 'x86_64', 'xtensaeb',
+ 'xtensa' ] }
##
# @TargetInfo:
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH V2 2/3] Add default config for armeb-softmmu
2013-03-19 11:21 [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 1/3] QAPI: Add ARMEB target-type Fabien Chouteau
@ 2013-03-19 11:21 ` Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 3/3] target-arm: Fix VFP register byte order in GDB remote Fabien Chouteau
2013-03-19 11:30 ` [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Peter Maydell
3 siblings, 0 replies; 8+ messages in thread
From: Fabien Chouteau @ 2013-03-19 11:21 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, paul, afaerber
Just create one that includes arm-softmmu.mak.
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>
---
default-configs/armeb-softmmu.mak | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 default-configs/armeb-softmmu.mak
diff --git a/default-configs/armeb-softmmu.mak b/default-configs/armeb-softmmu.mak
new file mode 100644
index 0000000..17670c0
--- /dev/null
+++ b/default-configs/armeb-softmmu.mak
@@ -0,0 +1,3 @@
+# Default configuration for armeb-softmmu
+
+include arm-softmmu.mak
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH V2 3/3] target-arm: Fix VFP register byte order in GDB remote
2013-03-19 11:21 [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 1/3] QAPI: Add ARMEB target-type Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 2/3] Add default config for armeb-softmmu Fabien Chouteau
@ 2013-03-19 11:21 ` Fabien Chouteau
2013-03-19 11:30 ` [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Peter Maydell
3 siblings, 0 replies; 8+ messages in thread
From: Fabien Chouteau @ 2013-03-19 11:21 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, paul, afaerber
>From GDB Remote Serial Protocol doc:
"The bytes with the register are transmitted in target byte order."
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>
---
target-arm/helper.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/target-arm/helper.c b/target-arm/helper.c
index e97e1a5..1ba25e1 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -16,18 +16,22 @@ static int vfp_gdb_get_reg(CPUARMState *env, uint8_t *buf, int reg)
{
int nregs;
- /* VFP data registers are always little-endian. */
nregs = arm_feature(env, ARM_FEATURE_VFP3) ? 32 : 16;
if (reg < nregs) {
- stfq_le_p(buf, env->vfp.regs[reg]);
+ stfq_p(buf, env->vfp.regs[reg]);
return 8;
}
if (arm_feature(env, ARM_FEATURE_NEON)) {
/* Aliases for Q regs. */
nregs += 16;
if (reg < nregs) {
- stfq_le_p(buf, env->vfp.regs[(reg - 32) * 2]);
- stfq_le_p(buf + 8, env->vfp.regs[(reg - 32) * 2 + 1]);
+#ifdef TARGET_WORDS_BIGENDIAN
+ stfq_p(buf, env->vfp.regs[(reg - 32) * 2 + 1]);
+ stfq_p(buf + 8, env->vfp.regs[(reg - 32) * 2]);
+#else
+ stfq_p(buf, env->vfp.regs[(reg - 32) * 2]);
+ stfq_p(buf + 8, env->vfp.regs[(reg - 32) * 2 + 1]);
+#endif /* TARGET_WORDS_BIGENDIAN */
return 16;
}
}
@@ -45,14 +49,19 @@ static int vfp_gdb_set_reg(CPUARMState *env, uint8_t *buf, int reg)
nregs = arm_feature(env, ARM_FEATURE_VFP3) ? 32 : 16;
if (reg < nregs) {
- env->vfp.regs[reg] = ldfq_le_p(buf);
+ env->vfp.regs[reg] = ldfq_p(buf);
return 8;
}
if (arm_feature(env, ARM_FEATURE_NEON)) {
nregs += 16;
if (reg < nregs) {
- env->vfp.regs[(reg - 32) * 2] = ldfq_le_p(buf);
- env->vfp.regs[(reg - 32) * 2 + 1] = ldfq_le_p(buf + 8);
+#ifdef TARGET_WORDS_BIGENDIAN
+ env->vfp.regs[(reg - 32) * 2 + 1] = ldfq_p(buf);
+ env->vfp.regs[(reg - 32) * 2] = ldfq_p(buf + 8);
+#else
+ env->vfp.regs[(reg - 32) * 2] = ldfq_p(buf);
+ env->vfp.regs[(reg - 32) * 2 + 1] = ldfq_p(buf + 8);
+#endif /* TARGET_WORDS_BIGENDIAN */
return 16;
}
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes
2013-03-19 11:21 [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Fabien Chouteau
` (2 preceding siblings ...)
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 3/3] target-arm: Fix VFP register byte order in GDB remote Fabien Chouteau
@ 2013-03-19 11:30 ` Peter Maydell
2013-03-19 18:25 ` Richard Henderson
2013-03-20 9:28 ` Fabien Chouteau
3 siblings, 2 replies; 8+ messages in thread
From: Peter Maydell @ 2013-03-19 11:30 UTC (permalink / raw)
To: Fabien Chouteau; +Cc: qemu-devel, afaerber, paul
On 19 March 2013 11:21, Fabien Chouteau <chouteau@adacore.com> wrote:
> v2:
> - I drop the the CPSR.E/SCTLR.E/SCTLR.IE patch. The issue is still too
> complex for me to submit a good patch.
>
> - Fix the GDB byte order for 64bits registers
>
> Fabien Chouteau (3):
> QAPI: Add ARMEB target-type
> Add default config for armeb-softmmu
Hi Fabien. I'm afraid I don't want to take these two unless they
come attached to an actual cpu and board model that use them.
Otherwise they're really just half-a-feature, I think.
(As an aside, perhaps we should generate the list in qapi-schema.json
automatically rather than hardcoding every target name? dunno)
> target-arm: Fix VFP register byte order in GDB remote
This one could go in (assuming it passes code review, I
haven't looked too closely yet), because it's just fixing
generic bigendian support.
thanks
-- PMM
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes
2013-03-19 11:30 ` [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Peter Maydell
@ 2013-03-19 18:25 ` Richard Henderson
2013-03-20 9:28 ` Fabien Chouteau
1 sibling, 0 replies; 8+ messages in thread
From: Richard Henderson @ 2013-03-19 18:25 UTC (permalink / raw)
To: Peter Maydell; +Cc: paul, qemu-devel, Fabien Chouteau, afaerber
On 03/19/2013 04:30 AM, Peter Maydell wrote:
> (As an aside, perhaps we should generate the list in qapi-schema.json
> automatically rather than hardcoding every target name? dunno)
Definitely. It took me quite a while to find this when updating my
spu target emulator a while back.
r~
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes
2013-03-19 11:30 ` [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Peter Maydell
2013-03-19 18:25 ` Richard Henderson
@ 2013-03-20 9:28 ` Fabien Chouteau
2013-03-20 10:53 ` Peter Maydell
1 sibling, 1 reply; 8+ messages in thread
From: Fabien Chouteau @ 2013-03-20 9:28 UTC (permalink / raw)
To: Peter Maydell; +Cc: paul, qemu-devel, afaerber
On 03/19/2013 12:30 PM, Peter Maydell wrote:
> On 19 March 2013 11:21, Fabien Chouteau <chouteau@adacore.com> wrote:
>> v2:
>> - I drop the the CPSR.E/SCTLR.E/SCTLR.IE patch. The issue is still too
>> complex for me to submit a good patch.
>>
>> - Fix the GDB byte order for 64bits registers
>>
>> Fabien Chouteau (3):
>> QAPI: Add ARMEB target-type
>> Add default config for armeb-softmmu
>
> Hi Fabien. I'm afraid I don't want to take these two unless they
> come attached to an actual cpu and board model that use them.
> Otherwise they're really just half-a-feature, I think.
>
Well these patches are very small, but I think it can help people to get
started. I submitted them because I thought it was a regression to not
be able to build qemu-system-armeb.
Regards,
--
Fabien Chouteau
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes
2013-03-20 9:28 ` Fabien Chouteau
@ 2013-03-20 10:53 ` Peter Maydell
0 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2013-03-20 10:53 UTC (permalink / raw)
To: Fabien Chouteau; +Cc: paul, qemu-devel, afaerber
On 20 March 2013 09:28, Fabien Chouteau <chouteau@adacore.com> wrote:
> On 03/19/2013 12:30 PM, Peter Maydell wrote:
>> On 19 March 2013 11:21, Fabien Chouteau <chouteau@adacore.com> wrote:
>>> Fabien Chouteau (3):
>>> QAPI: Add ARMEB target-type
>>> Add default config for armeb-softmmu
>>
>> Hi Fabien. I'm afraid I don't want to take these two unless they
>> come attached to an actual cpu and board model that use them.
>> Otherwise they're really just half-a-feature, I think.
>>
>
> Well these patches are very small, but I think it can help people to get
> started. I submitted them because I thought it was a regression to not
> be able to build qemu-system-armeb.
No, we deliberately don't build qemu-system-armeb because we
don't have any implemented machines which are big-endian ARM.
When the first machine is added to QEMU the patch set adding
that support should turn on building of qemu-system-armeb
(which would then support just that one machine type).
thanks
-- PMM
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-03-20 10:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-19 11:21 [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 1/3] QAPI: Add ARMEB target-type Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 2/3] Add default config for armeb-softmmu Fabien Chouteau
2013-03-19 11:21 ` [Qemu-devel] [PATCH V2 3/3] target-arm: Fix VFP register byte order in GDB remote Fabien Chouteau
2013-03-19 11:30 ` [Qemu-devel] [PATCH V2 0/3] ARM: Misc ARM big-endian bug fixes Peter Maydell
2013-03-19 18:25 ` Richard Henderson
2013-03-20 9:28 ` Fabien Chouteau
2013-03-20 10:53 ` Peter Maydell
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.