mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
semihosting: move semihosting tests to multiarch
It may be arm-compat-semihosting but more than one architecture uses it so lets move the tests into the multiarch area. We gate it on the feature and split the semicall.h header between the arches. Also clean-up a bit of the Makefile messing about to one common set of runners. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210323165308.15244-6-alex.bennee@linaro.org>
This commit is contained in:
parent
320d0bca94
commit
3539d84df1
10 changed files with 91 additions and 46 deletions
29
tests/tcg/multiarch/arm-compat-semi/semihosting.c
Normal file
29
tests/tcg/multiarch/arm-compat-semi/semihosting.c
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* linux-user semihosting checks
|
||||
*
|
||||
* Copyright (c) 2019
|
||||
* Written by Alex Bennée <alex.bennee@linaro.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
#define SYS_WRITE0 0x04
|
||||
#define SYS_REPORTEXC 0x18
|
||||
|
||||
#include <stdint.h>
|
||||
#include "semicall.h"
|
||||
|
||||
int main(int argc, char *argv[argc])
|
||||
{
|
||||
#if UINTPTR_MAX == UINT32_MAX
|
||||
uintptr_t exit_code = 0x20026;
|
||||
#else
|
||||
uintptr_t exit_block[2] = {0x20026, 0};
|
||||
uintptr_t exit_code = (uintptr_t) &exit_block;
|
||||
#endif
|
||||
|
||||
__semi_call(SYS_WRITE0, (uintptr_t) "Hello World");
|
||||
__semi_call(SYS_REPORTEXC, exit_code);
|
||||
/* if we get here we failed */
|
||||
return -1;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue