* [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup
@ 2021-04-23 16:54 Richard Henderson
2021-04-23 16:54 ` [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11 Richard Henderson
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Richard Henderson @ 2021-04-23 16:54 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm
The bug fix is patch 2, the rest is a bit of tidy-up.
r~
Richard Henderson (4):
linux-user/arm: Split out emulate_arm_fpa11
linux-user/arm: Do not emulate fpa11 in thumb mode
linux-user/arm: Do not fill in si_code for fpa11 exceptions
linux-user/arm: Simplify accumulating and raising fpa11 exceptions
linux-user/arm/cpu_loop.c | 125 ++++++++++++++++++++------------------
1 file changed, 66 insertions(+), 59 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
@ 2021-04-23 16:54 ` Richard Henderson
2021-04-23 17:14 ` Peter Maydell
2021-04-23 16:54 ` [PATCH 2/4] linux-user/arm: Do not emulate fpa11 in thumb mode Richard Henderson
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Richard Henderson @ 2021-04-23 16:54 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm
Pull out the fpa11 emulation to a helper function.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
linux-user/arm/cpu_loop.c | 153 +++++++++++++++++++++++---------------
1 file changed, 94 insertions(+), 59 deletions(-)
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index 989d03cd89..106909c7d8 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -224,6 +224,92 @@ static bool insn_is_linux_bkpt(uint32_t opcode, bool is_thumb)
}
}
+static bool emulate_arm_fpa11(CPUARMState *env, uint32_t opcode)
+{
+ TaskState *ts = env_cpu(env)->opaque;
+ int rc = EmulateAll(opcode, &ts->fpa, env);
+
+ if (rc == 0) {
+ /* Illegal instruction */
+ return false;
+ }
+ if (rc > 0) {
+ /* Everything ok. */
+ env->regs[15] += 4;
+ return true;
+ }
+
+ /* FP exception */
+ int arm_fpe = 0;
+
+ /* Translate softfloat flags to FPSR flags */
+ if (-rc & float_flag_invalid) {
+ arm_fpe |= BIT_IOC;
+ }
+ if (-rc & float_flag_divbyzero) {
+ arm_fpe |= BIT_DZC;
+ }
+ if (-rc & float_flag_overflow) {
+ arm_fpe |= BIT_OFC;
+ }
+ if (-rc & float_flag_underflow) {
+ arm_fpe |= BIT_UFC;
+ }
+ if (-rc & float_flag_inexact) {
+ arm_fpe |= BIT_IXC;
+ }
+
+ /* Exception enabled? */
+ FPSR fpsr = ts->fpa.fpsr;
+ if (fpsr & (arm_fpe << 16)) {
+ target_siginfo_t info;
+
+ info.si_signo = TARGET_SIGFPE;
+ info.si_errno = 0;
+
+ /* ordered by priority, least first */
+ if (arm_fpe & BIT_IXC) {
+ info.si_code = TARGET_FPE_FLTRES;
+ }
+ if (arm_fpe & BIT_UFC) {
+ info.si_code = TARGET_FPE_FLTUND;
+ }
+ if (arm_fpe & BIT_OFC) {
+ info.si_code = TARGET_FPE_FLTOVF;
+ }
+ if (arm_fpe & BIT_DZC) {
+ info.si_code = TARGET_FPE_FLTDIV;
+ }
+ if (arm_fpe & BIT_IOC) {
+ info.si_code = TARGET_FPE_FLTINV;
+ }
+
+ info._sifields._sigfault._addr = env->regs[15];
+ queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
+ } else {
+ env->regs[15] += 4;
+ }
+
+ /* Accumulate unenabled exceptions */
+ if ((!(fpsr & BIT_IXE)) && (arm_fpe & BIT_IXC)) {
+ fpsr |= BIT_IXC;
+ }
+ if ((!(fpsr & BIT_UFE)) && (arm_fpe & BIT_UFC)) {
+ fpsr |= BIT_UFC;
+ }
+ if ((!(fpsr & BIT_OFE)) && (arm_fpe & BIT_OFC)) {
+ fpsr |= BIT_OFC;
+ }
+ if ((!(fpsr & BIT_DZE)) && (arm_fpe & BIT_DZC)) {
+ fpsr |= BIT_DZC;
+ }
+ if ((!(fpsr & BIT_IOE)) && (arm_fpe & BIT_IOC)) {
+ fpsr |= BIT_IOC;
+ }
+ ts->fpa.fpsr = fpsr;
+ return true;
+}
+
void cpu_loop(CPUARMState *env)
{
CPUState *cs = env_cpu(env);
@@ -244,9 +330,7 @@ void cpu_loop(CPUARMState *env)
case EXCP_NOCP:
case EXCP_INVSTATE:
{
- TaskState *ts = cs->opaque;
uint32_t opcode;
- int rc;
/* we handle the FPU emulation here, as Linux */
/* we get the opcode */
@@ -263,64 +347,15 @@ void cpu_loop(CPUARMState *env)
goto excp_debug;
}
- rc = EmulateAll(opcode, &ts->fpa, env);
- if (rc == 0) { /* illegal instruction */
- info.si_signo = TARGET_SIGILL;
- info.si_errno = 0;
- info.si_code = TARGET_ILL_ILLOPN;
- info._sifields._sigfault._addr = env->regs[15];
- queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
- } else if (rc < 0) { /* FP exception */
- int arm_fpe=0;
-
- /* translate softfloat flags to FPSR flags */
- if (-rc & float_flag_invalid)
- arm_fpe |= BIT_IOC;
- if (-rc & float_flag_divbyzero)
- arm_fpe |= BIT_DZC;
- if (-rc & float_flag_overflow)
- arm_fpe |= BIT_OFC;
- if (-rc & float_flag_underflow)
- arm_fpe |= BIT_UFC;
- if (-rc & float_flag_inexact)
- arm_fpe |= BIT_IXC;
-
- FPSR fpsr = ts->fpa.fpsr;
- //printf("fpsr 0x%x, arm_fpe 0x%x\n",fpsr,arm_fpe);
-
- if (fpsr & (arm_fpe << 16)) { /* exception enabled? */
- info.si_signo = TARGET_SIGFPE;
- info.si_errno = 0;
-
- /* ordered by priority, least first */
- if (arm_fpe & BIT_IXC) info.si_code = TARGET_FPE_FLTRES;
- if (arm_fpe & BIT_UFC) info.si_code = TARGET_FPE_FLTUND;
- if (arm_fpe & BIT_OFC) info.si_code = TARGET_FPE_FLTOVF;
- if (arm_fpe & BIT_DZC) info.si_code = TARGET_FPE_FLTDIV;
- if (arm_fpe & BIT_IOC) info.si_code = TARGET_FPE_FLTINV;
-
- info._sifields._sigfault._addr = env->regs[15];
- queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
- } else {
- env->regs[15] += 4;
- }
-
- /* accumulate unenabled exceptions */
- if ((!(fpsr & BIT_IXE)) && (arm_fpe & BIT_IXC))
- fpsr |= BIT_IXC;
- if ((!(fpsr & BIT_UFE)) && (arm_fpe & BIT_UFC))
- fpsr |= BIT_UFC;
- if ((!(fpsr & BIT_OFE)) && (arm_fpe & BIT_OFC))
- fpsr |= BIT_OFC;
- if ((!(fpsr & BIT_DZE)) && (arm_fpe & BIT_DZC))
- fpsr |= BIT_DZC;
- if ((!(fpsr & BIT_IOE)) && (arm_fpe & BIT_IOC))
- fpsr |= BIT_IOC;
- ts->fpa.fpsr=fpsr;
- } else { /* everything OK */
- /* increment PC */
- env->regs[15] += 4;
+ if (emulate_arm_fpa11(env, opcode)) {
+ break;
}
+
+ info.si_signo = TARGET_SIGILL;
+ info.si_errno = 0;
+ info.si_code = TARGET_ILL_ILLOPN;
+ info._sifields._sigfault._addr = env->regs[15];
+ queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
}
break;
case EXCP_SWI:
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/4] linux-user/arm: Do not emulate fpa11 in thumb mode
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
2021-04-23 16:54 ` [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11 Richard Henderson
@ 2021-04-23 16:54 ` Richard Henderson
2021-04-23 17:03 ` Peter Maydell
2021-04-23 16:54 ` [PATCH 3/4] linux-user/arm: Do not fill in si_code for fpa11 exceptions Richard Henderson
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Richard Henderson @ 2021-04-23 16:54 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm
These antiquated instructions are arm-mode only.
Buglink: https://bugs.launchpad.net/bugs/1925512
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
linux-user/arm/cpu_loop.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index 106909c7d8..e2a1496b9f 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -347,7 +347,7 @@ void cpu_loop(CPUARMState *env)
goto excp_debug;
}
- if (emulate_arm_fpa11(env, opcode)) {
+ if (!env->thumb && emulate_arm_fpa11(env, opcode)) {
break;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/4] linux-user/arm: Do not fill in si_code for fpa11 exceptions
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
2021-04-23 16:54 ` [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11 Richard Henderson
2021-04-23 16:54 ` [PATCH 2/4] linux-user/arm: Do not emulate fpa11 in thumb mode Richard Henderson
@ 2021-04-23 16:54 ` Richard Henderson
2021-04-23 17:11 ` Peter Maydell
2021-04-23 16:54 ` [PATCH 4/4] linux-user/arm: Simplify accumulating and raising " Richard Henderson
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Richard Henderson @ 2021-04-23 16:54 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm
There is no such decoding in linux/arch/arm/nwfpe/fpmodule.c.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
linux-user/arm/cpu_loop.c | 26 ++++++--------------------
1 file changed, 6 insertions(+), 20 deletions(-)
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index e2a1496b9f..5f61d25717 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -262,29 +262,15 @@ static bool emulate_arm_fpa11(CPUARMState *env, uint32_t opcode)
/* Exception enabled? */
FPSR fpsr = ts->fpa.fpsr;
if (fpsr & (arm_fpe << 16)) {
- target_siginfo_t info;
+ target_siginfo_t info = { };
+ /*
+ * The kernel's nwfpe emulator does not pass a real si_code.
+ * It merely uses send_sig(SIGFPE, current, 1).
+ */
info.si_signo = TARGET_SIGFPE;
- info.si_errno = 0;
+ info.si_code = TARGET_SI_KERNEL;
- /* ordered by priority, least first */
- if (arm_fpe & BIT_IXC) {
- info.si_code = TARGET_FPE_FLTRES;
- }
- if (arm_fpe & BIT_UFC) {
- info.si_code = TARGET_FPE_FLTUND;
- }
- if (arm_fpe & BIT_OFC) {
- info.si_code = TARGET_FPE_FLTOVF;
- }
- if (arm_fpe & BIT_DZC) {
- info.si_code = TARGET_FPE_FLTDIV;
- }
- if (arm_fpe & BIT_IOC) {
- info.si_code = TARGET_FPE_FLTINV;
- }
-
- info._sifields._sigfault._addr = env->regs[15];
queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
} else {
env->regs[15] += 4;
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/4] linux-user/arm: Simplify accumulating and raising fpa11 exceptions
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
` (2 preceding siblings ...)
2021-04-23 16:54 ` [PATCH 3/4] linux-user/arm: Do not fill in si_code for fpa11 exceptions Richard Henderson
@ 2021-04-23 16:54 ` Richard Henderson
2021-04-23 17:44 ` Peter Maydell
2021-05-14 15:54 ` [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
2021-05-15 19:38 ` Laurent Vivier
5 siblings, 1 reply; 12+ messages in thread
From: Richard Henderson @ 2021-04-23 16:54 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-arm
Use bit masking instead of an if tree.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
linux-user/arm/cpu_loop.c | 50 ++++++++++++++-------------------------
1 file changed, 18 insertions(+), 32 deletions(-)
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index 5f61d25717..69632d15be 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -228,6 +228,7 @@ static bool emulate_arm_fpa11(CPUARMState *env, uint32_t opcode)
{
TaskState *ts = env_cpu(env)->opaque;
int rc = EmulateAll(opcode, &ts->fpa, env);
+ int raise, enabled;
if (rc == 0) {
/* Illegal instruction */
@@ -240,28 +241,31 @@ static bool emulate_arm_fpa11(CPUARMState *env, uint32_t opcode)
}
/* FP exception */
- int arm_fpe = 0;
+ rc = -rc;
+ raise = 0;
/* Translate softfloat flags to FPSR flags */
- if (-rc & float_flag_invalid) {
- arm_fpe |= BIT_IOC;
+ if (rc & float_flag_invalid) {
+ raise |= BIT_IOC;
}
- if (-rc & float_flag_divbyzero) {
- arm_fpe |= BIT_DZC;
+ if (rc & float_flag_divbyzero) {
+ raise |= BIT_DZC;
}
- if (-rc & float_flag_overflow) {
- arm_fpe |= BIT_OFC;
+ if (rc & float_flag_overflow) {
+ raise |= BIT_OFC;
}
- if (-rc & float_flag_underflow) {
- arm_fpe |= BIT_UFC;
+ if (rc & float_flag_underflow) {
+ raise |= BIT_UFC;
}
- if (-rc & float_flag_inexact) {
- arm_fpe |= BIT_IXC;
+ if (rc & float_flag_inexact) {
+ raise |= BIT_IXC;
}
- /* Exception enabled? */
- FPSR fpsr = ts->fpa.fpsr;
- if (fpsr & (arm_fpe << 16)) {
+ /* Accumulate unenabled exceptions */
+ enabled = ts->fpa.fpsr >> 16;
+ ts->fpa.fpsr |= raise & ~enabled;
+
+ if (raise & enabled) {
target_siginfo_t info = { };
/*
@@ -275,24 +279,6 @@ static bool emulate_arm_fpa11(CPUARMState *env, uint32_t opcode)
} else {
env->regs[15] += 4;
}
-
- /* Accumulate unenabled exceptions */
- if ((!(fpsr & BIT_IXE)) && (arm_fpe & BIT_IXC)) {
- fpsr |= BIT_IXC;
- }
- if ((!(fpsr & BIT_UFE)) && (arm_fpe & BIT_UFC)) {
- fpsr |= BIT_UFC;
- }
- if ((!(fpsr & BIT_OFE)) && (arm_fpe & BIT_OFC)) {
- fpsr |= BIT_OFC;
- }
- if ((!(fpsr & BIT_DZE)) && (arm_fpe & BIT_DZC)) {
- fpsr |= BIT_DZC;
- }
- if ((!(fpsr & BIT_IOE)) && (arm_fpe & BIT_IOC)) {
- fpsr |= BIT_IOC;
- }
- ts->fpa.fpsr = fpsr;
return true;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/4] linux-user/arm: Do not emulate fpa11 in thumb mode
2021-04-23 16:54 ` [PATCH 2/4] linux-user/arm: Do not emulate fpa11 in thumb mode Richard Henderson
@ 2021-04-23 17:03 ` Peter Maydell
0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2021-04-23 17:03 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-arm, QEMU Developers
On Fri, 23 Apr 2021 at 17:58, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> These antiquated instructions are arm-mode only.
>
> Buglink: https://bugs.launchpad.net/bugs/1925512
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> linux-user/arm/cpu_loop.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
> index 106909c7d8..e2a1496b9f 100644
> --- a/linux-user/arm/cpu_loop.c
> +++ b/linux-user/arm/cpu_loop.c
> @@ -347,7 +347,7 @@ void cpu_loop(CPUARMState *env)
> goto excp_debug;
> }
>
> - if (emulate_arm_fpa11(env, opcode)) {
> + if (!env->thumb && emulate_arm_fpa11(env, opcode)) {
> break;
> }
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/4] linux-user/arm: Do not fill in si_code for fpa11 exceptions
2021-04-23 16:54 ` [PATCH 3/4] linux-user/arm: Do not fill in si_code for fpa11 exceptions Richard Henderson
@ 2021-04-23 17:11 ` Peter Maydell
0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2021-04-23 17:11 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-arm, QEMU Developers
On Fri, 23 Apr 2021 at 17:55, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> There is no such decoding in linux/arch/arm/nwfpe/fpmodule.c.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> linux-user/arm/cpu_loop.c | 26 ++++++--------------------
> 1 file changed, 6 insertions(+), 20 deletions(-)
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
I wonder why we put that code in to start with...
thanks
-- PMM
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11
2021-04-23 16:54 ` [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11 Richard Henderson
@ 2021-04-23 17:14 ` Peter Maydell
0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2021-04-23 17:14 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-arm, QEMU Developers
On Fri, 23 Apr 2021 at 17:58, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Pull out the fpa11 emulation to a helper function.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> linux-user/arm/cpu_loop.c | 153 +++++++++++++++++++++++---------------
> 1 file changed, 94 insertions(+), 59 deletions(-)
>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/4] linux-user/arm: Simplify accumulating and raising fpa11 exceptions
2021-04-23 16:54 ` [PATCH 4/4] linux-user/arm: Simplify accumulating and raising " Richard Henderson
@ 2021-04-23 17:44 ` Peter Maydell
0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2021-04-23 17:44 UTC (permalink / raw)
To: Richard Henderson; +Cc: qemu-arm, QEMU Developers
On Fri, 23 Apr 2021 at 17:56, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Use bit masking instead of an if tree.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> linux-user/arm/cpu_loop.c | 50 ++++++++++++++-------------------------
> 1 file changed, 18 insertions(+), 32 deletions(-)
>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
` (3 preceding siblings ...)
2021-04-23 16:54 ` [PATCH 4/4] linux-user/arm: Simplify accumulating and raising " Richard Henderson
@ 2021-05-14 15:54 ` Richard Henderson
2021-05-14 16:27 ` Laurent Vivier
2021-05-15 19:38 ` Laurent Vivier
5 siblings, 1 reply; 12+ messages in thread
From: Richard Henderson @ 2021-05-14 15:54 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Laurent Vivier
On 4/23/21 11:54 AM, Richard Henderson wrote:
> The bug fix is patch 2, the rest is a bit of tidy-up.
>
>
> r~
>
> Richard Henderson (4):
> linux-user/arm: Split out emulate_arm_fpa11
> linux-user/arm: Do not emulate fpa11 in thumb mode
> linux-user/arm: Do not fill in si_code for fpa11 exceptions
> linux-user/arm: Simplify accumulating and raising fpa11 exceptions
>
> linux-user/arm/cpu_loop.c | 125 ++++++++++++++++++++------------------
> 1 file changed, 66 insertions(+), 59 deletions(-)
>
Laurent, this is all reviewed. Do you want to take this through linux-user
queue, or have Peter take it through his arm queue?
r~
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup
2021-05-14 15:54 ` [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
@ 2021-05-14 16:27 ` Laurent Vivier
0 siblings, 0 replies; 12+ messages in thread
From: Laurent Vivier @ 2021-05-14 16:27 UTC (permalink / raw)
To: Richard Henderson, qemu-devel; +Cc: Peter Maydell
Le 14/05/2021 à 17:54, Richard Henderson a écrit :
> On 4/23/21 11:54 AM, Richard Henderson wrote:
>> The bug fix is patch 2, the rest is a bit of tidy-up.
>>
>>
>> r~
>>
>> Richard Henderson (4):
>> linux-user/arm: Split out emulate_arm_fpa11
>> linux-user/arm: Do not emulate fpa11 in thumb mode
>> linux-user/arm: Do not fill in si_code for fpa11 exceptions
>> linux-user/arm: Simplify accumulating and raising fpa11 exceptions
>>
>> linux-user/arm/cpu_loop.c | 125 ++++++++++++++++++++------------------
>> 1 file changed, 66 insertions(+), 59 deletions(-)
>>
>
> Laurent, this is all reviewed. Do you want to take this through linux-user queue, or have Peter
> take it through his arm queue?
>
I'm going to try to do a linux-user PR this WE, but if Peter want to pick up the series before there
is no problem.
thanks,
Laurent
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
` (4 preceding siblings ...)
2021-05-14 15:54 ` [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
@ 2021-05-15 19:38 ` Laurent Vivier
5 siblings, 0 replies; 12+ messages in thread
From: Laurent Vivier @ 2021-05-15 19:38 UTC (permalink / raw)
To: Richard Henderson, qemu-devel; +Cc: qemu-arm
Le 23/04/2021 à 18:54, Richard Henderson a écrit :
> The bug fix is patch 2, the rest is a bit of tidy-up.
>
>
> r~
>
> Richard Henderson (4):
> linux-user/arm: Split out emulate_arm_fpa11
> linux-user/arm: Do not emulate fpa11 in thumb mode
> linux-user/arm: Do not fill in si_code for fpa11 exceptions
> linux-user/arm: Simplify accumulating and raising fpa11 exceptions
>
> linux-user/arm/cpu_loop.c | 125 ++++++++++++++++++++------------------
> 1 file changed, 66 insertions(+), 59 deletions(-)
>
Applied to my linux-user-for-6.1 branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-05-15 19:39 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-23 16:54 [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
2021-04-23 16:54 ` [PATCH 1/4] linux-user/arm: Split out emulate_arm_fpa11 Richard Henderson
2021-04-23 17:14 ` Peter Maydell
2021-04-23 16:54 ` [PATCH 2/4] linux-user/arm: Do not emulate fpa11 in thumb mode Richard Henderson
2021-04-23 17:03 ` Peter Maydell
2021-04-23 16:54 ` [PATCH 3/4] linux-user/arm: Do not fill in si_code for fpa11 exceptions Richard Henderson
2021-04-23 17:11 ` Peter Maydell
2021-04-23 16:54 ` [PATCH 4/4] linux-user/arm: Simplify accumulating and raising " Richard Henderson
2021-04-23 17:44 ` Peter Maydell
2021-05-14 15:54 ` [PATCH 0/4] linux-user/arm: fpa11 fix and cleanup Richard Henderson
2021-05-14 16:27 ` Laurent Vivier
2021-05-15 19:38 ` Laurent Vivier
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.