#
f14eced5 |
| 04-Oct-2023 |
Philippe Mathieu-Daudé <philmd@linaro.org> |
semihosting: Rename softmmu_FOO_user() -> uaccess_FOO_user()
Add a check in 'softmmu-uaccess.h' that the header is only include in system emulation, and rename it as 'uaccess.h'.
Rename the API met
semihosting: Rename softmmu_FOO_user() -> uaccess_FOO_user()
Add a check in 'softmmu-uaccess.h' that the header is only include in system emulation, and rename it as 'uaccess.h'.
Rename the API methods:
- softmmu_[un]lock_user*() -> uaccess_[un]lock_user*() - softmmu_strlen_user() -> uaccess_strlen_user().
Update a pair of comments.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20231004090629.37473-9-philmd@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
a60e5736 |
| 04-Oct-2023 |
Philippe Mathieu-Daudé <philmd@linaro.org> |
semihosting/arm-compat: Clean up local variable shadowing
Fix:
semihosting/arm-compat-semi.c: In function ‘do_common_semihosting’: semihosting/arm-compat-semi.c:379:13: warning: declaration of
semihosting/arm-compat: Clean up local variable shadowing
Fix:
semihosting/arm-compat-semi.c: In function ‘do_common_semihosting’: semihosting/arm-compat-semi.c:379:13: warning: declaration of ‘ret’ shadows a previous local [-Wshadow=local] 379 | int ret, err = 0; | ^~~ semihosting/arm-compat-semi.c:370:14: note: shadowed declaration is here 370 | uint32_t ret; | ^~~ semihosting/arm-compat-semi.c:682:27: warning: declaration of ‘ret’ shadows a previous local [-Wshadow=local] 682 | abi_ulong ret; | ^~~ semihosting/arm-compat-semi.c:370:9: note: shadowed declaration is here 370 | int ret; | ^~~
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20231004120019.93101-14-philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
#
b77af26e |
| 13-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
accel/tcg: Replace CPUState.env_ptr with cpu_env()
Reviewed-by: Anton Johansson <anjo@rev.ng> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
Revision tags: v8.0.0 |
|
#
c566080c |
| 02-Mar-2023 |
Alex Bennée <alex.bennee@linaro.org> |
gdbstub: move syscall handling to new file
Our GDB syscall support is the last chunk of code that needs target specific support so move it to a new file. We take the opportunity to move the syscall
gdbstub: move syscall handling to new file
Our GDB syscall support is the last chunk of code that needs target specific support so move it to a new file. We take the opportunity to move the syscall state into its own singleton instance and add in a few helpers for the main gdbstub to interact with the module.
I also moved the gdb_exit() declaration into syscalls.h as it feels pretty related and most of the callers of it treat it as such.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230302190846.2593720-22-alex.bennee@linaro.org> Message-Id: <20230303025805.625589-22-richard.henderson@linaro.org>
show more ...
|
Revision tags: v7.2.0 |
|
#
3878d0c7 |
| 27-Oct-2022 |
Bin Meng <bin.meng@windriver.com> |
semihosting/arm-compat-semi: Avoid using hardcoded /tmp
Use g_get_tmp_dir() to get the directory to use for temporary files.
Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Alex Benné
semihosting/arm-compat-semi: Avoid using hardcoded /tmp
Use g_get_tmp_dir() to get the directory to use for temporary files.
Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20221006151927.2079583-2-bmeng.cn@gmail.com> Message-Id: <20221027183637.2772968-11-alex.bennee@linaro.org>
show more ...
|
#
424d5ecf |
| 29-Sep-2022 |
Alex Bennée <alex.bennee@linaro.org> |
semihosting: update link to spec
The old link has moved but it seems the document is now hosted on Arm's github along with a license update to CC-BY-SA-4.0.
Signed-off-by: Alex Bennée <alex.bennee@
semihosting: update link to spec
The old link has moved but it seems the document is now hosted on Arm's github along with a license update to CC-BY-SA-4.0.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220929114231.583801-42-alex.bennee@linaro.org>
show more ...
|
#
9b1268f5 |
| 25-Jul-2022 |
Peter Maydell <peter.maydell@linaro.org> |
semihosting: Fix handling of buffer in TARGET_SYS_TMPNAM
The TARGET_SYS_TMPNAM implementation has two bugs spotted by Coverity: * confusion about whether 'len' has the length of the string inclu
semihosting: Fix handling of buffer in TARGET_SYS_TMPNAM
The TARGET_SYS_TMPNAM implementation has two bugs spotted by Coverity: * confusion about whether 'len' has the length of the string including or excluding the terminating NUL means we lock_user() len bytes of memory but memcpy() len + 1 bytes * In the error-exit cases we forget to free() the buffer that asprintf() returned to us
Resolves: Coverity CID 1490285, 1490289 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220719121110.225657-5-peter.maydell@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220725140520.515340-10-alex.bennee@linaro.org>
show more ...
|
#
fed49cdf |
| 25-Jul-2022 |
Peter Maydell <peter.maydell@linaro.org> |
semihosting: Check for errors on SET_ARG()
The SET_ARG() macro returns an error indication; we check this in the TARGET_SYS_GET_CMDLINE case but not when we use it in implementing TARGET_SYS_ELAPSED
semihosting: Check for errors on SET_ARG()
The SET_ARG() macro returns an error indication; we check this in the TARGET_SYS_GET_CMDLINE case but not when we use it in implementing TARGET_SYS_ELAPSED. Check for and handle the errors via the do_fault codepath, and update the comment documenting the SET_ARG() and GET_ARG() macros to note how they handle memory access errors.
Resolves: Coverity CID 1490287 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220719121110.225657-4-peter.maydell@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220725140520.515340-9-alex.bennee@linaro.org>
show more ...
|
#
7281550c |
| 01-May-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Use console_out_gf for SYS_WRITE0
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
5d77289d |
| 01-May-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Use console_out_gf for SYS_WRITEC
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
1577eec0 |
| 01-May-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Use console_in_gf for SYS_READC
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
#
e7fb6f32 |
| 01-May-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Expand qemu_semihosting_console_inc to read
Allow more than one character to be read at one time. Will be used by m68k and nios2 semihosting for stdio.
Reviewed-by: Luc Michel <lmichel
semihosting: Expand qemu_semihosting_console_inc to read
Allow more than one character to be read at one time. Will be used by m68k and nios2 semihosting for stdio.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
3367d452 |
| 01-May-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Pass CPUState to qemu_semihosting_console_inc
We don't need CPUArchState, and we do want the CPUState of the thread performing the operation -- use this instead of current_cpu.
Reviewe
semihosting: Pass CPUState to qemu_semihosting_console_inc
We don't need CPUArchState, and we do want the CPUState of the thread performing the operation -- use this instead of current_cpu.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
64c8c6a9 |
| 29-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
gdbstub: Adjust gdb_syscall_complete_cb declaration
Change 'ret' to uint64_t. This resolves a FIXME in the m68k and nios2 semihosting that we've lost data. Change 'err' to int. There is nothing ta
gdbstub: Adjust gdb_syscall_complete_cb declaration
Change 'ret' to uint64_t. This resolves a FIXME in the m68k and nios2 semihosting that we've lost data. Change 'err' to int. There is nothing target-specific about the width of the errno value.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
90d8e0b0 |
| 29-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
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
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>
show more ...
|
#
25a95da0 |
| 29-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_rename
Split out the non-ARM specific portions of SYS_RENAME to a reusable function.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson
semihosting: Split out semihost_sys_rename
Split out the non-ARM specific portions of SYS_RENAME to a reusable function.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
d49e79b8 |
| 29-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_remove
Split out the non-ARM specific portions of SYS_REMOVE to a reusable function.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson
semihosting: Split out semihost_sys_remove
Split out the non-ARM specific portions of SYS_REMOVE to a reusable function.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
a6300ed6 |
| 29-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_flen
The ARM-specific SYS_FLEN isn't really something that can be reused by other semihosting apis, but there are parts that can reused for the implementation of
semihosting: Split out semihost_sys_flen
The ARM-specific SYS_FLEN isn't really something that can be reused by other semihosting apis, but there are parts that can reused for the implementation of semihost_sys_fstat.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
a2212474 |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_isatty
Split out the non-ARM specific portions of SYS_ISTTY to a reusable function. This handles all GuestFD.
Add a common_semi_istty_cb helper to translate the
semihosting: Split out semihost_sys_isatty
Split out the non-ARM specific portions of SYS_ISTTY to a reusable function. This handles all GuestFD.
Add a common_semi_istty_cb helper to translate the Posix error return, 0+ENOTTY, to the Arm semihosting not-a-file success result.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
9a894704 |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_lseek
Split out the non-ARM specific portions of SYS_SEEK to a reusable function. This handles all GuestFD. Isolate the curious ARM-specific return value proces
semihosting: Split out semihost_sys_lseek
Split out the non-ARM specific portions of SYS_SEEK to a reusable function. This handles all GuestFD. Isolate the curious ARM-specific return value processing to a new callback, common_semi_seek_cb.
Expand the internal type of the offset to int64_t, and provide the whence argument, which will be required by m68k and nios2 semihosting.
Note that gdb_do_syscall %x reads target_ulong, not int.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
aa915bd0 |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_write
Split out the non-ARM specific portions of SYS_WRITE to a reusable function. This handles all GuestFD. This removes the last use of common_semi_syscall_le
semihosting: Split out semihost_sys_write
Split out the non-ARM specific portions of SYS_WRITE to a reusable function. This handles all GuestFD. This removes the last use of common_semi_syscall_len.
Note that gdb_do_syscall %x reads target_ulong, not int.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
af0484b5 |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_read
Split out the non-ARM specific portions of SYS_READ to a reusable function. This handles all GuestFD. Isolate the curious ARM-specific return value process
semihosting: Split out semihost_sys_read
Split out the non-ARM specific portions of SYS_READ to a reusable function. This handles all GuestFD. Isolate the curious ARM-specific return value processing to a new callback, common_semi_rw_cb.
Note that gdb_do_syscall %x reads target_ulong, not int.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
5eadbbfc |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_close
Split out the non-ARM specific portions of SYS_CLOSE to a reusable function. This handles all GuestFD.
Note that gdb_do_syscall %x reads target_ulong, not
semihosting: Split out semihost_sys_close
Split out the non-ARM specific portions of SYS_CLOSE to a reusable function. This handles all GuestFD.
Note that gdb_do_syscall %x reads target_ulong, not int.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
5b3f39cb |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Split out semihost_sys_open
Split out the non-ARM specific portions of SYS_OPEN to a reusable function. This handles gdb and host file i/o.
Add helpers to validate the length of the f
semihosting: Split out semihost_sys_open
Split out the non-ARM specific portions of SYS_OPEN to a reusable function. This handles gdb and host file i/o.
Add helpers to validate the length of the filename string. Prepare for usage by other semihosting by allowing the filename length parameter to be 0, and calling strlen.
Reviewed-by: Luc Michel <lmichel@kalray.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
#
3753b00e |
| 28-Apr-2022 |
Richard Henderson <richard.henderson@linaro.org> |
semihosting: Move GET_ARG/SET_ARG earlier in the file
Moving this to be useful for another function besides do_common_semihosting.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Pet
semihosting: Move GET_ARG/SET_ARG earlier in the file
Moving this to be useful for another function besides do_common_semihosting.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|