Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 8cbb4fc12e1d10182cbab93f234510bc616594ca
https://github.com/qemu/qemu/commit/8cbb4fc12e1d10182cbab93f234510bc616594ca
Author: Stacey Son <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A bsd-user/aarch64/target_arch_cpu.c
A bsd-user/aarch64/target_arch_cpu.h
A bsd-user/aarch64/target_syscall.h
Log Message:
-----------
bsd-user:Add CPU initialization and management functions
Added function to initialize ARM CPU and check if it supports 64-bit mode.
Implemented CPU loop function to handle exceptions and emulate execution of
instructions.
Added function to clone CPU state to create a new thread.
Included AArch64 specific CPU functions for bsd-user to set and receive
thread-local-storage
value from the tpidr_el0 register.
Introduced structure for storing CPU register states for BSD-USER.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Co-authored-by: Kyle Evans <[email protected]>
Co-authored-by: Sean Bruno <[email protected]>
Co-authored-by: Jessica Clarke <[email protected]>
Reviewed-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: 1acce7718bd41a20d3db6323959fedf9c3675ebe
https://github.com/qemu/qemu/commit/1acce7718bd41a20d3db6323959fedf9c3675ebe
Author: Stacey Son <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A bsd-user/aarch64/target_arch.h
A bsd-user/aarch64/target_arch_reg.h
A bsd-user/aarch64/target_arch_sysarch.h
A bsd-user/aarch64/target_arch_thread.h
A bsd-user/aarch64/target_arch_vmparam.h
Log Message:
-----------
bsd-user:Add AArch64 register handling and related functions
Added header file for managing CPU register states in FreeBSD user mode.
Introduced prototypes for setting and getting thread-local storage (TLS).
Implemented AArch64 sysarch() system call emulation and a printing function.
Added function for setting up thread upcall to add thread support to BSD-USER.
Initialized thread's register state during thread setup.
Updated ARM AArch64 VM parameter definitions for bsd-user, including address
spaces for FreeBSD/arm64 and
a function for getting the stack pointer from CPU and setting a return value.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Co-authored-by: Jessica Clarke <[email protected]>
Co-authored-by: Sean Bruno <[email protected]>
Co-authored-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: 1541d87db24063fcb11b13e6bfb66a193ff9be65
https://github.com/qemu/qemu/commit/1541d87db24063fcb11b13e6bfb66a193ff9be65
Author: Warner Losh <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/aarch64/target_arch.h
A bsd-user/aarch64/target_arch_elf.h
M bsd-user/aarch64/target_arch_vmparam.h
Log Message:
-----------
bsd-user:Add ARM AArch64 support and capabilities
Added function to access rval2 by accessing the x1 register.
Defined ARM AArch64 ELF parameters including mmap and dynamic load addresses.
Introduced extensive hardware capability definitions and macros for retrieving
hardware capability (hwcap) flags.
Implemented function to retrieve ARM AArch64 hardware capabilities using the
`GET_FEATURE_ID` macro.
Added function to retrieve extended ARM AArch64 hardware capability flags.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Co-authored-by: Kyle Evans <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: 7dba5e10a65be276267f379f07a9643100209c0d
https://github.com/qemu/qemu/commit/7dba5e10a65be276267f379f07a9643100209c0d
Author: Stacey Son <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A bsd-user/aarch64/signal.c
A bsd-user/aarch64/target_arch_signal.h
A bsd-user/aarch64/target_arch_sigtramp.h
Log Message:
-----------
bsd-user:Add ARM AArch64 signal handling support
Added sigcode setup function for signal trampoline which initializes a sequence
of instructions
to handle signal returns and exits, copying this code to the target offset.
Defined ARM AArch64 specific signal definitions including register indices and
sizes,
and introduced structures to represent general purpose registers, floating
point registers, and machine context.
Added function to set up signal handler arguments, populating register values
in `CPUARMState`
based on the provided signal, signal frame, signal action, and frame address.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Co-authored-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: 9959fae592b2babddb7c371e27281a4e127a2951
https://github.com/qemu/qemu/commit/9959fae592b2babddb7c371e27281a4e127a2951
Author: Stacey Son <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/aarch64/signal.c
Log Message:
-----------
bsd-user:Add get_mcontext function for ARM AArch64
function to retrieve machine context,it populates the provided
target_mcontext_t structure with information from the CPUARMState
registers.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Co-authored-by: Kyle Evans <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: c88f44d85ab209576fc6704ff636e68e2bbc41dc
https://github.com/qemu/qemu/commit/c88f44d85ab209576fc6704ff636e68e2bbc41dc
Author: Warner Losh <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/aarch64/signal.c
Log Message:
-----------
bsd-user:Add setup_sigframe_arch function for ARM AArch64
The function utilizes the `get_mcontext` function to retrieve the machine
context for the current CPUARMState
Signed-off-by: Warner Losh <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: dadfc6d5df1006b52c1c0c8ae3af84ac3be36b31
https://github.com/qemu/qemu/commit/dadfc6d5df1006b52c1c0c8ae3af84ac3be36b31
Author: Stacey Son <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/aarch64/signal.c
Log Message:
-----------
bsd-user:Add set_mcontext function for ARM AArch64
The function copies register values from the provided target_mcontext_t
structure to the CPUARMState registers.
Note:FP is unfinished upstream but will be a separate commit coming soon.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: ce6c541dcb8aff5ca6f02bb64b0d6b6753becab4
https://github.com/qemu/qemu/commit/ce6c541dcb8aff5ca6f02bb64b0d6b6753becab4
Author: Stacey Son <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/aarch64/signal.c
M bsd-user/aarch64/target_arch_cpu.h
M bsd-user/aarch64/target_arch_reg.h
M bsd-user/aarch64/target_arch_signal.h
M bsd-user/qemu.h
Log Message:
-----------
bsd-user:Add AArch64 improvements and signal handling functions
Added get_ucontext_sigreturn function to check processor state ensuring current
execution mode is EL0 and no flags
indicating interrupts or exceptions are set.
Updated AArch64 code to use CF directly without reading/writing the entire
processor state, improving efficiency.
Changed FP data structures to use Int128 instead of __uint128_t, leveraging
QEMU's generic mechanism for referencing this type.
Signed-off-by: Stacey Son <[email protected]>
Signed-off-by: Ajeet Singh <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Commit: e6e102b972c5228d9d50b3208b83b025ccfd1455
https://github.com/qemu/qemu/commit/e6e102b972c5228d9d50b3208b83b025ccfd1455
Author: Doug Rabson <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/freebsd/os-proc.c
M bsd-user/main.c
Log Message:
-----------
bsd-user: Simplify the implementation of execve
This removes the logic which prepends the emulator to each call to
execve and fexecve. This is not necessary with the existing
imgact_binmisc support and it avoids the need to install the emulator
binary into jail environments when using 'binmiscctl --pre-open'.
Signed-off-by: Doug Rabson <[email protected]>
Reviewed-by: Warner Losh <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Acked-by: Richard Henderson <[email protected]>
Commit: b314fd06cf2e55c6cbdda753faeda0c453ee2629
https://github.com/qemu/qemu/commit/b314fd06cf2e55c6cbdda753faeda0c453ee2629
Author: Warner Losh <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M target/arm/cpu-param.h
Log Message:
-----------
bsd-user: Hard wire aarch64 to be 4k pages only
Only support 4k pages for aarch64 binaries. The variable page size stuff
isn't working just yet, so put in this lessor-of-evils kludge until that
is complete.
Signed-off-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Commit: 5b6828d194fba3c170a5f717cc1fc3d35645aadd
https://github.com/qemu/qemu/commit/5b6828d194fba3c170a5f717cc1fc3d35645aadd
Author: Jessica Clarke <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/main.c
Log Message:
-----------
bsd-user: Sync fork_start/fork_end with linux-user
This reorders some of the calls, deduplicates code between branches and,
most importantly, fixes a double end_exclusive call in the parent that
will cause exclusive_context_count to go negative.
Signed-off-by: Jessica Clarke <[email protected]>
Pull-Request: https://github.com/qemu-bsd-user/qemu-bsd-user/pull/52
Reviewed-by: Warner Losh <[email protected]>
Signed-off-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Commit: 5fa2a10ba6822fc1e500e921dcae344db46e1649
https://github.com/qemu/qemu/commit/5fa2a10ba6822fc1e500e921dcae344db46e1649
Author: Warner Losh <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bsd-user/aarch64/target_arch_signal.h
M bsd-user/arm/target_arch_signal.h
M bsd-user/i386/target_arch_signal.h
M bsd-user/signal.c
M bsd-user/x86_64/target_arch_signal.h
Log Message:
-----------
bsd-user: Define TARGET_SIGSTACK_ALIGN and use it to round stack
Most (all?) targets require stacks to be properly aligned. Rather than a
series of ifdefs in bsd-user/signal.h, instead use a manditory #define
for all architectures.
Signed-off-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Commit: 1c687f65b4cd4af2bf4732fd327a4f63c8c33e30
https://github.com/qemu/qemu/commit/1c687f65b4cd4af2bf4732fd327a4f63c8c33e30
Author: Warner Losh <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M target/arm/gdbstub64.c
Log Message:
-----------
bsd-user: Make compile for non-linux user-mode stuff
We include the files that define PR_MTE_TCF_SHIFT only on Linux, but use
them unconditionally. Restrict its use to Linux-only.
"It's ugly, but it's not actually wrong."
Signed-off-by: Warner Losh <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Commit: afdb6be1bd8528395af65a087bd668bf7a42ab99
https://github.com/qemu/qemu/commit/afdb6be1bd8528395af65a087bd668bf7a42ab99
Author: Warner Losh <[email protected]>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A configs/targets/aarch64-bsd-user.mak
Log Message:
-----------
bsd-user: Add aarch64 build to tree
Add the aarch64 bsd-user fragments needed to build the new aarch64 code.
Signed-off-by: Warner Losh <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Commit: ec018b76798e1196882ebcbf3df15e6d86ac9d7c
https://github.com/qemu/qemu/commit/ec018b76798e1196882ebcbf3df15e6d86ac9d7c
Author: Warner Losh <[email protected]>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
A bsd-user/aarch64/target.h
Log Message:
-----------
bsd-user: Add target.h for aarch64.
For aarch64, it's a 64-bit API, so there's no pairing of registers for
64-bit values.
Signed-off-by: Warner Losh <[email protected]>
Commit: 029e13a8a56a2931e7c24c0db52ae7256b932cb0
https://github.com/qemu/qemu/commit/029e13a8a56a2931e7c24c0db52ae7256b932cb0
Author: Richard Henderson <[email protected]>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
A bsd-user/aarch64/signal.c
A bsd-user/aarch64/target.h
A bsd-user/aarch64/target_arch.h
A bsd-user/aarch64/target_arch_cpu.c
A bsd-user/aarch64/target_arch_cpu.h
A bsd-user/aarch64/target_arch_elf.h
A bsd-user/aarch64/target_arch_reg.h
A bsd-user/aarch64/target_arch_signal.h
A bsd-user/aarch64/target_arch_sigtramp.h
A bsd-user/aarch64/target_arch_sysarch.h
A bsd-user/aarch64/target_arch_thread.h
A bsd-user/aarch64/target_arch_vmparam.h
A bsd-user/aarch64/target_syscall.h
M bsd-user/arm/target_arch_signal.h
M bsd-user/freebsd/os-proc.c
M bsd-user/i386/target_arch_signal.h
M bsd-user/main.c
M bsd-user/qemu.h
M bsd-user/signal.c
M bsd-user/x86_64/target_arch_signal.h
A configs/targets/aarch64-bsd-user.mak
M target/arm/cpu-param.h
M target/arm/gdbstub64.c
Log Message:
-----------
Merge tag 'bsd-user-for-9.1-pull-request' of gitlab.com:bsdimp/qemu into
staging
bsd-user: Misc changes for 9.1 (I hope)
V2: Add missing bsd-user/aarch64/target.h
This patch series includes two main sets of patches. To make it simple to
review, I've included the changes from my student which the later changes depend
on. I've included a change from Jessica and Doug as well. I've reviewed them,
but more eyes never hurt.
I've also included a number of 'touch up' patches needed either to get the
aarch64 building, or to implmement suggestions from prior review cycles. The
main one is what's charitably described as a kludge: force aarch64 to use 4k
pages. The qemu-project (and blitz branch) hasn't had the necessary changes to
bsd-user needed to support variable page size.
Sorry this is so late... Live has conspired to delay me.
# -----BEGIN PGP SIGNATURE-----
# Comment: GPGTools - https://gpgtools.org
#
# iQIzBAABCgAdFiEEIDX4lLAKo898zeG3bBzRKH2wEQAFAmahejwACgkQbBzRKH2w
# EQCXuQ/+Pj1Izmox/y9X1trn1T8KC7JdMtimdLiGMaS4C6+gcThXJkIB4l9ZStbV
# 7rI540mpqVf0KSRLYwc2/ATyhYU7Ffsz02WPn7Xn/NvmmITp4kjw9Z0gd7C7mPVq
# fS8DJbTyFQDy5dO8FUKLaTfnlYQe+NCnL421t9wFkIrlEepFygRaBaJN5yWVoC+0
# 1Ob6dG+JEV5BmNguMufvvI3S7nEFEnSBGpNqW3ljrRHAZjdNhv8d9GBYbj1laR1r
# HQ6r5+u4ZmKCuUbchS0jxGkug0DjuQC7iq+rQ/7fhLYLChkPZ4P2RxNv8ibzKjEV
# wlTy5LaM+WZNzKWdcHfDFMomeSnnUkOOfAMipMney2jedEjTIwCFDnP4zCAuG83V
# RbdXWfleP1rDto3AQ765pFneqm3+su2Dh4TKaTSnq6gd1eORJ2IL8dubCfcVwZCy
# TofemXPWh0HX3kwlD9IB9rqplQZFL78TkQ47btftxinHCLCQOOHRDPVG0IahQPjo
# pgK4yVH7WA7pWV2Xbo4ngG3sX5U1TyBCbfkkAwhq+P3gjnU8zxonx8Tk/qLeEDdH
# KEypi/pkGFQKZY0wc/y4XM+XQh6E1l8gMaQ4gJWK1qlyVtUKM1BiNQ2lweohYzC8
# p6WAfBQLPpzY4mDWfJMF6DsgObLwWmYbgKzuOtHgST1D/Ebk3Zo=
# =RPuN
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 25 Jul 2024 08:03:40 AM AEST
# gpg: using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
# gpg: Good signature from "Warner Losh <[email protected]>" [unknown]
# gpg: aka "Warner Losh <[email protected]>" [unknown]
# gpg: aka "Warner Losh <[email protected]>" [unknown]
# gpg: aka "Warner Losh <[email protected]>" [unknown]
# gpg: aka "Warner Losh <[email protected]>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 2035 F894 B00A A3CF 7CCD E1B7 6C1C D128 7DB0 1100
* tag 'bsd-user-for-9.1-pull-request' of gitlab.com:bsdimp/qemu:
bsd-user: Add target.h for aarch64.
bsd-user: Add aarch64 build to tree
bsd-user: Make compile for non-linux user-mode stuff
bsd-user: Define TARGET_SIGSTACK_ALIGN and use it to round stack
bsd-user: Sync fork_start/fork_end with linux-user
bsd-user: Hard wire aarch64 to be 4k pages only
bsd-user: Simplify the implementation of execve
bsd-user:Add AArch64 improvements and signal handling functions
bsd-user:Add set_mcontext function for ARM AArch64
bsd-user:Add setup_sigframe_arch function for ARM AArch64
bsd-user:Add get_mcontext function for ARM AArch64
bsd-user:Add ARM AArch64 signal handling support
bsd-user:Add ARM AArch64 support and capabilities
bsd-user:Add AArch64 register handling and related functions
bsd-user:Add CPU initialization and management functions
Signed-off-by: Richard Henderson <[email protected]>
Commit: 59f989c3d75342c9cbe9e687e9c819bc9cb25b56
https://github.com/qemu/qemu/commit/59f989c3d75342c9cbe9e687e9c819bc9cb25b56
Author: Akihiko Odaki <[email protected]>
Date: 2024-07-26 (Fri, 26 Jul 2024)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M meson.build
Log Message:
-----------
meson: Use -fno-sanitize=function when available
Commit 23ef50ae2d0c (".gitlab-ci.d/buildtest.yml: Use
-fno-sanitize=function in the clang-system job") adds
-fno-sanitize=function for the CI but doesn't add the flag in the
other context. Move it to meson.build.
Signed-off-by: Akihiko Odaki <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Compare: https://github.com/qemu/qemu/compare/9726687f2fdf...59f989c3d753
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications