mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
semihosting: Split out semihost_sys_system
Split out the non-ARM specific portions of SYS_SYSTEM to a reusable function. Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@ -507,17 +507,7 @@ void do_common_semihosting(CPUState *cs)
|
||||
case TARGET_SYS_SYSTEM:
|
||||
GET_ARG(0);
|
||||
GET_ARG(1);
|
||||
if (use_gdb_syscalls()) {
|
||||
gdb_do_syscall(common_semi_cb, "system,%s", arg0, (int)arg1 + 1);
|
||||
break;
|
||||
}
|
||||
s = lock_user_string(arg0);
|
||||
if (!s) {
|
||||
goto do_fault;
|
||||
}
|
||||
ret = system(s);
|
||||
unlock_user(s, arg0, 0);
|
||||
common_semi_cb(cs, ret, ret == -1 ? errno : 0);
|
||||
semihost_sys_system(cs, common_semi_cb, arg0, arg1 + 1);
|
||||
break;
|
||||
|
||||
case TARGET_SYS_ERRNO:
|
||||
|
Reference in New Issue
Block a user