mbox

[PULL,00/60] semihosting patch queue

Message ID 20220628045403.508716-1-richard.henderson@linaro.org
State New
Headers show

Pull-request

https://gitlab.com/rth7680/qemu.git tags/pull-semi-20220628

Message

Richard Henderson June 28, 2022, 4:53 a.m. UTC
The following changes since commit 29f6db75667f44f3f01ba5037dacaf9ebd9328da:

  Merge tag 'pull-target-arm-20220627' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-06-27 16:47:39 +0530)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-semi-20220628

for you to fetch changes up to ca97e0ef99045ce650b842f3bc8c89d76daaafae:

  target/nios2: Move nios2-semi.c to nios2_softmmu_ss (2022-06-28 10:18:57 +0530)

----------------------------------------------------------------
Semihosting syscall reorg:
  * Split out semihosting/syscalls.c with common implementations.
  * Reorg arm-compat-semi.c to use syscalls.c.
  * Minor prep cleanups to m68k, mips, nios2.

----------------------------------------------------------------
Richard Henderson (60):
      semihosting: Move exec/softmmu-semi.h to semihosting/softmmu-uaccess.h
      semihosting: Return failure from softmmu-uaccess.h functions
      semihosting: Improve condition for config.c and console.c
      semihosting: Move softmmu-uaccess.h functions out of line
      accel/stubs: Add tcg stub for probe_access_flags
      semihosting: Add target_strlen for softmmu-uaccess.h
      semihosting: Simplify softmmu_lock_user_string
      semihosting: Split out guestfd.c
      semihosting: Inline set_swi_errno into common_semi_cb
      semihosting: Adjust error checking in common_semi_cb
      semihosting: Clean up common_semi_flen_cb
      semihosting: Clean up common_semi_open_cb
      semihosting: Return void from do_common_semihosting
      semihosting: Move common-semi.h to include/semihosting/
      semihosting: Remove GDB_O_BINARY
      include/exec: Move gdb open flags to gdbstub.h
      include/exec: Move gdb_stat and gdb_timeval to gdbstub.h
      include/exec: Define errno values in gdbstub.h
      gdbstub: Convert GDB error numbers to host error numbers
      semihosting: Use struct gdb_stat in common_semi_flen_cb
      semihosting: Split is_64bit_semihosting per target
      semihosting: Split common_semi_flen_buf per target
      semihosting: Split out common_semi_has_synccache
      semihosting: Split out common-semi-target.h
      semihosting: Use env more often in do_common_semihosting
      semihosting: Move GET_ARG/SET_ARG earlier in the file
      semihosting: Split out semihost_sys_open
      semihosting: Split out semihost_sys_close
      semihosting: Split out semihost_sys_read
      semihosting: Split out semihost_sys_write
      semihosting: Bound length for semihost_sys_{read,write}
      semihosting: Split out semihost_sys_lseek
      semihosting: Split out semihost_sys_isatty
      semihosting: Split out semihost_sys_flen
      semihosting: Split out semihost_sys_remove
      semihosting: Split out semihost_sys_rename
      semihosting: Split out semihost_sys_system
      semihosting: Create semihost_sys_{stat,fstat}
      semihosting: Create semihost_sys_gettimeofday
      gdbstub: Adjust gdb_syscall_complete_cb declaration
      semihosting: Fix docs comment for qemu_semihosting_console_inc
      semihosting: Pass CPUState to qemu_semihosting_console_inc
      semihosting: Expand qemu_semihosting_console_inc to read
      semihosting: Cleanup chardev init
      semihosting: Create qemu_semihosting_console_write
      semihosting: Add GuestFDConsole
      semihosting: Create qemu_semihosting_guestfd_init
      semihosting: Use console_in_gf for SYS_READC
      semihosting: Use console_out_gf for SYS_WRITEC
      semihosting: Remove qemu_semihosting_console_outc
      semihosting: Use console_out_gf for SYS_WRITE0
      semihosting: Remove qemu_semihosting_console_outs
      semihosting: Create semihost_sys_poll_one
      target/m68k: Eliminate m68k_semi_is_fseek
      target/m68k: Make semihosting system only
      target/mips: Use an exception for semihosting
      target/mips: Add UHI errno values
      target/mips: Drop pread and pwrite syscalls from semihosting
      target/nios2: Eliminate nios2_semi_is_lseek
      target/nios2: Move nios2-semi.c to nios2_softmmu_ss

 configs/targets/aarch64-linux-user.mak             |    1 +
 configs/targets/aarch64_be-linux-user.mak          |    1 +
 configs/targets/arm-linux-user.mak                 |    1 +
 configs/targets/armeb-linux-user.mak               |    1 +
 configs/targets/riscv32-linux-user.mak             |    1 +
 configs/targets/riscv64-linux-user.mak             |    1 +
 include/exec/gdbstub.h                             |   64 +-
 include/exec/softmmu-semi.h                        |  101 --
 {semihosting => include/semihosting}/common-semi.h |    2 +-
 include/semihosting/console.h                      |   71 +-
 include/semihosting/guestfd.h                      |   91 ++
 include/semihosting/semihost.h                     |   14 +-
 include/semihosting/softmmu-uaccess.h              |   59 ++
 include/semihosting/syscalls.h                     |   75 ++
 target/arm/common-semi-target.h                    |   62 ++
 target/mips/cpu.h                                  |    3 +-
 target/mips/tcg/tcg-internal.h                     |    2 +
 target/riscv/common-semi-target.h                  |   50 +
 target/mips/tcg/sysemu_helper.h.inc                |    2 -
 accel/stubs/tcg-stub.c                             |    7 +
 gdbstub.c                                          |   38 +-
 linux-user/aarch64/cpu_loop.c                      |    2 +-
 linux-user/arm/cpu_loop.c                          |    2 +-
 linux-user/m68k/cpu_loop.c                         |    5 -
 linux-user/main.c                                  |    9 +
 linux-user/riscv/cpu_loop.c                        |    2 +-
 linux-user/semihost.c                              |   48 +-
 semihosting/arm-compat-semi.c                      | 1011 +++++---------------
 semihosting/config.c                               |   17 +-
 semihosting/console.c                              |  153 ++-
 semihosting/guestfd.c                              |  160 ++++
 semihosting/syscalls.c                             |  978 +++++++++++++++++++
 semihosting/uaccess.c                              |   91 ++
 softmmu/vl.c                                       |    3 +-
 stubs/semihost.c                                   |    6 +-
 target/arm/helper.c                                |    4 +-
 target/arm/m_helper.c                              |    2 +-
 target/m68k/m68k-semi.c                            |  137 +--
 target/mips/tcg/exception.c                        |    1 +
 target/mips/tcg/sysemu/mips-semi.c                 |   85 +-
 target/mips/tcg/sysemu/tlb_helper.c                |    4 +
 target/mips/tcg/translate.c                        |   12 +-
 target/nios2/nios2-semi.c                          |  106 +-
 target/riscv/cpu_helper.c                          |    2 +-
 target/mips/tcg/micromips_translate.c.inc          |    6 +-
 target/mips/tcg/mips16e_translate.c.inc            |    2 +-
 target/mips/tcg/nanomips_translate.c.inc           |    4 +-
 semihosting/meson.build                            |    6 +
 target/m68k/meson.build                            |    6 +-
 target/nios2/meson.build                           |    4 +-
 50 files changed, 2194 insertions(+), 1321 deletions(-)
 delete mode 100644 include/exec/softmmu-semi.h
 rename {semihosting => include/semihosting}/common-semi.h (96%)
 create mode 100644 include/semihosting/guestfd.h
 create mode 100644 include/semihosting/softmmu-uaccess.h
 create mode 100644 include/semihosting/syscalls.h
 create mode 100644 target/arm/common-semi-target.h
 create mode 100644 target/riscv/common-semi-target.h
 create mode 100644 semihosting/guestfd.c
 create mode 100644 semihosting/syscalls.c
 create mode 100644 semihosting/uaccess.c

Comments

Richard Henderson June 28, 2022, 6:20 a.m. UTC | #1
On 6/28/22 10:23, Richard Henderson wrote:
> The following changes since commit 29f6db75667f44f3f01ba5037dacaf9ebd9328da:
> 
>    Merge tag 'pull-target-arm-20220627' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-06-27 16:47:39 +0530)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/rth7680/qemu.git tags/pull-semi-20220628
> 
> for you to fetch changes up to ca97e0ef99045ce650b842f3bc8c89d76daaafae:
> 
>    target/nios2: Move nios2-semi.c to nios2_softmmu_ss (2022-06-28 10:18:57 +0530)
> 
> ----------------------------------------------------------------
> Semihosting syscall reorg:
>    * Split out semihosting/syscalls.c with common implementations.
>    * Reorg arm-compat-semi.c to use syscalls.c.
>    * Minor prep cleanups to m68k, mips, nios2.

Applied, thanks.  Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate.


r~


> 
> ----------------------------------------------------------------
> Richard Henderson (60):
>        semihosting: Move exec/softmmu-semi.h to semihosting/softmmu-uaccess.h
>        semihosting: Return failure from softmmu-uaccess.h functions
>        semihosting: Improve condition for config.c and console.c
>        semihosting: Move softmmu-uaccess.h functions out of line
>        accel/stubs: Add tcg stub for probe_access_flags
>        semihosting: Add target_strlen for softmmu-uaccess.h
>        semihosting: Simplify softmmu_lock_user_string
>        semihosting: Split out guestfd.c
>        semihosting: Inline set_swi_errno into common_semi_cb
>        semihosting: Adjust error checking in common_semi_cb
>        semihosting: Clean up common_semi_flen_cb
>        semihosting: Clean up common_semi_open_cb
>        semihosting: Return void from do_common_semihosting
>        semihosting: Move common-semi.h to include/semihosting/
>        semihosting: Remove GDB_O_BINARY
>        include/exec: Move gdb open flags to gdbstub.h
>        include/exec: Move gdb_stat and gdb_timeval to gdbstub.h
>        include/exec: Define errno values in gdbstub.h
>        gdbstub: Convert GDB error numbers to host error numbers
>        semihosting: Use struct gdb_stat in common_semi_flen_cb
>        semihosting: Split is_64bit_semihosting per target
>        semihosting: Split common_semi_flen_buf per target
>        semihosting: Split out common_semi_has_synccache
>        semihosting: Split out common-semi-target.h
>        semihosting: Use env more often in do_common_semihosting
>        semihosting: Move GET_ARG/SET_ARG earlier in the file
>        semihosting: Split out semihost_sys_open
>        semihosting: Split out semihost_sys_close
>        semihosting: Split out semihost_sys_read
>        semihosting: Split out semihost_sys_write
>        semihosting: Bound length for semihost_sys_{read,write}
>        semihosting: Split out semihost_sys_lseek
>        semihosting: Split out semihost_sys_isatty
>        semihosting: Split out semihost_sys_flen
>        semihosting: Split out semihost_sys_remove
>        semihosting: Split out semihost_sys_rename
>        semihosting: Split out semihost_sys_system
>        semihosting: Create semihost_sys_{stat,fstat}
>        semihosting: Create semihost_sys_gettimeofday
>        gdbstub: Adjust gdb_syscall_complete_cb declaration
>        semihosting: Fix docs comment for qemu_semihosting_console_inc
>        semihosting: Pass CPUState to qemu_semihosting_console_inc
>        semihosting: Expand qemu_semihosting_console_inc to read
>        semihosting: Cleanup chardev init
>        semihosting: Create qemu_semihosting_console_write
>        semihosting: Add GuestFDConsole
>        semihosting: Create qemu_semihosting_guestfd_init
>        semihosting: Use console_in_gf for SYS_READC
>        semihosting: Use console_out_gf for SYS_WRITEC
>        semihosting: Remove qemu_semihosting_console_outc
>        semihosting: Use console_out_gf for SYS_WRITE0
>        semihosting: Remove qemu_semihosting_console_outs
>        semihosting: Create semihost_sys_poll_one
>        target/m68k: Eliminate m68k_semi_is_fseek
>        target/m68k: Make semihosting system only
>        target/mips: Use an exception for semihosting
>        target/mips: Add UHI errno values
>        target/mips: Drop pread and pwrite syscalls from semihosting
>        target/nios2: Eliminate nios2_semi_is_lseek
>        target/nios2: Move nios2-semi.c to nios2_softmmu_ss
> 
>   configs/targets/aarch64-linux-user.mak             |    1 +
>   configs/targets/aarch64_be-linux-user.mak          |    1 +
>   configs/targets/arm-linux-user.mak                 |    1 +
>   configs/targets/armeb-linux-user.mak               |    1 +
>   configs/targets/riscv32-linux-user.mak             |    1 +
>   configs/targets/riscv64-linux-user.mak             |    1 +
>   include/exec/gdbstub.h                             |   64 +-
>   include/exec/softmmu-semi.h                        |  101 --
>   {semihosting => include/semihosting}/common-semi.h |    2 +-
>   include/semihosting/console.h                      |   71 +-
>   include/semihosting/guestfd.h                      |   91 ++
>   include/semihosting/semihost.h                     |   14 +-
>   include/semihosting/softmmu-uaccess.h              |   59 ++
>   include/semihosting/syscalls.h                     |   75 ++
>   target/arm/common-semi-target.h                    |   62 ++
>   target/mips/cpu.h                                  |    3 +-
>   target/mips/tcg/tcg-internal.h                     |    2 +
>   target/riscv/common-semi-target.h                  |   50 +
>   target/mips/tcg/sysemu_helper.h.inc                |    2 -
>   accel/stubs/tcg-stub.c                             |    7 +
>   gdbstub.c                                          |   38 +-
>   linux-user/aarch64/cpu_loop.c                      |    2 +-
>   linux-user/arm/cpu_loop.c                          |    2 +-
>   linux-user/m68k/cpu_loop.c                         |    5 -
>   linux-user/main.c                                  |    9 +
>   linux-user/riscv/cpu_loop.c                        |    2 +-
>   linux-user/semihost.c                              |   48 +-
>   semihosting/arm-compat-semi.c                      | 1011 +++++---------------
>   semihosting/config.c                               |   17 +-
>   semihosting/console.c                              |  153 ++-
>   semihosting/guestfd.c                              |  160 ++++
>   semihosting/syscalls.c                             |  978 +++++++++++++++++++
>   semihosting/uaccess.c                              |   91 ++
>   softmmu/vl.c                                       |    3 +-
>   stubs/semihost.c                                   |    6 +-
>   target/arm/helper.c                                |    4 +-
>   target/arm/m_helper.c                              |    2 +-
>   target/m68k/m68k-semi.c                            |  137 +--
>   target/mips/tcg/exception.c                        |    1 +
>   target/mips/tcg/sysemu/mips-semi.c                 |   85 +-
>   target/mips/tcg/sysemu/tlb_helper.c                |    4 +
>   target/mips/tcg/translate.c                        |   12 +-
>   target/nios2/nios2-semi.c                          |  106 +-
>   target/riscv/cpu_helper.c                          |    2 +-
>   target/mips/tcg/micromips_translate.c.inc          |    6 +-
>   target/mips/tcg/mips16e_translate.c.inc            |    2 +-
>   target/mips/tcg/nanomips_translate.c.inc           |    4 +-
>   semihosting/meson.build                            |    6 +
>   target/m68k/meson.build                            |    6 +-
>   target/nios2/meson.build                           |    4 +-
>   50 files changed, 2194 insertions(+), 1321 deletions(-)
>   delete mode 100644 include/exec/softmmu-semi.h
>   rename {semihosting => include/semihosting}/common-semi.h (96%)
>   create mode 100644 include/semihosting/guestfd.h
>   create mode 100644 include/semihosting/softmmu-uaccess.h
>   create mode 100644 include/semihosting/syscalls.h
>   create mode 100644 target/arm/common-semi-target.h
>   create mode 100644 target/riscv/common-semi-target.h
>   create mode 100644 semihosting/guestfd.c
>   create mode 100644 semihosting/syscalls.c
>   create mode 100644 semihosting/uaccess.c