Message ID | 20250404115641.258048-1-alex.bennee@linaro.org |
---|---|
State | New |
Headers | show |
Series | [RFC] tests/tcg: fix semihosting SYS_EXIT for aarch64 in boot.S | expand |
On 4/4/25 04:56, Alex Bennée wrote: > We don't expect to hit exceptions in our testing so currently all the > vectors report an un-expected exception and then attempt to exit. > However for aarch64 we should always use the extended information > block as we do in _exit. Rather than duplicate the code on the error > handler just branch to the _exit handler with a failing status code. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > tests/tcg/aarch64/system/boot.S | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/tests/tcg/aarch64/system/boot.S b/tests/tcg/aarch64/system/boot.S > index 8fbcba757e..81a60b9c43 100644 > --- a/tests/tcg/aarch64/system/boot.S > +++ b/tests/tcg/aarch64/system/boot.S > @@ -73,9 +73,8 @@ lower_a32_serror: > mov x0, SYS_WRITE0 > adr x1, .error > semihosting_call > - mov x0, SYS_EXIT > - mov x1, 1 > - semihosting_call > + mov x0, -1 > + bl _exit 1 would be EXIT_FAILURE. Otherwise, Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/tests/tcg/aarch64/system/boot.S b/tests/tcg/aarch64/system/boot.S index 8fbcba757e..81a60b9c43 100644 --- a/tests/tcg/aarch64/system/boot.S +++ b/tests/tcg/aarch64/system/boot.S @@ -73,9 +73,8 @@ lower_a32_serror: mov x0, SYS_WRITE0 adr x1, .error semihosting_call - mov x0, SYS_EXIT - mov x1, 1 - semihosting_call + mov x0, -1 + bl _exit /* never returns */ .section .rodata
We don't expect to hit exceptions in our testing so currently all the vectors report an un-expected exception and then attempt to exit. However for aarch64 we should always use the extended information block as we do in _exit. Rather than duplicate the code on the error handler just branch to the _exit handler with a failing status code. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- tests/tcg/aarch64/system/boot.S | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)