Browse Source

trivial patches for 2026-01-20

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEZKoqtTHVaQM2a/75gqpKJDselHgFAmlvdRoACgkQgqpKJDse
 lHilOw//fdYjk7Ls+M2F0zgIKHbtQj/ACeIXtYr9mLwgUHCVnYByMbaqVVvyuCfZ
 6n7unTRC6UyhmAgVz5F9RElUBxrRucqgXHXo9QcbvIBBZoWsnWAXjNWmV6kqBF4s
 L8cDniWRLwwkRaGTf1jjOEHJz8ilVwpXfvbQRkU9KJNelFkoh1rprxj3hkw1hF9C
 TpGda15ho7EaplRdfpN+qjOlHpShgbF2qMPUz1zZAWcpomZK8U5/xiHcuE9Y19/L
 tLC6lEkt1nR+xW/5JRptCAke8jLgLlYUHGsXdZuahpXwfK++ITCtM95X2Ra44gMR
 M3xC8hmcpaO5aF/2JoMkLS7LnuenJ093oBIwyhC9LM+MYt/NWIwLIItu22V25qRj
 bEuD2avDSiR0tWDikzxezj5J7riYsDQCt004Ycw7roBZeEI7yngXD2YTkkurSDjb
 wPvzg+qW8WM9n5K9Mxi66F0C7dFU0lru817nJO3dj4ayPJ7B6Elr47n5NpcfAEpP
 dn7j4+nj2puvAyXcfGwLQyU/o/ayJxkEvAZja1Q5sONwMqf0GHIZ9fDu63njkClQ
 rvzKyIKhRv3inmr65nO8RvnZe/j4ONhJ07IwMEBFjUMqW7aXu0GYPx0no7rtWZvQ
 NXypCGE+ag+PYetcOu2tHjaOLQG5/43eBEWSFCgns5UJcrB6vJ4=
 =u20D
 -----END PGP SIGNATURE-----

Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging

trivial patches for 2026-01-20

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZKoqtTHVaQM2a/75gqpKJDselHgFAmlvdRoACgkQgqpKJDse
# lHilOw//fdYjk7Ls+M2F0zgIKHbtQj/ACeIXtYr9mLwgUHCVnYByMbaqVVvyuCfZ
# 6n7unTRC6UyhmAgVz5F9RElUBxrRucqgXHXo9QcbvIBBZoWsnWAXjNWmV6kqBF4s
# L8cDniWRLwwkRaGTf1jjOEHJz8ilVwpXfvbQRkU9KJNelFkoh1rprxj3hkw1hF9C
# TpGda15ho7EaplRdfpN+qjOlHpShgbF2qMPUz1zZAWcpomZK8U5/xiHcuE9Y19/L
# tLC6lEkt1nR+xW/5JRptCAke8jLgLlYUHGsXdZuahpXwfK++ITCtM95X2Ra44gMR
# M3xC8hmcpaO5aF/2JoMkLS7LnuenJ093oBIwyhC9LM+MYt/NWIwLIItu22V25qRj
# bEuD2avDSiR0tWDikzxezj5J7riYsDQCt004Ycw7roBZeEI7yngXD2YTkkurSDjb
# wPvzg+qW8WM9n5K9Mxi66F0C7dFU0lru817nJO3dj4ayPJ7B6Elr47n5NpcfAEpP
# dn7j4+nj2puvAyXcfGwLQyU/o/ayJxkEvAZja1Q5sONwMqf0GHIZ9fDu63njkClQ
# rvzKyIKhRv3inmr65nO8RvnZe/j4ONhJ07IwMEBFjUMqW7aXu0GYPx0no7rtWZvQ
# NXypCGE+ag+PYetcOu2tHjaOLQG5/43eBEWSFCgns5UJcrB6vJ4=
# =u20D
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 20 Jan 2026 11:29:14 PM AEDT
# gpg:                using RSA key 64AA2AB531D56903366BFEF982AA4A243B1E9478
# gpg: Good signature from "Michael Tokarev <mjt@debian.org>" [unknown]
# gpg:                 aka "Michael Tokarev <mjt@corpit.ru>" [unknown]
# gpg:                 aka "Michael Tokarev <mjt@tls.msk.ru>" [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: 9D8B E14E 3F2A 9DD7 9199  28F1 61AD 3D98 ECDF 2C8E
#      Subkey fingerprint: 64AA 2AB5 31D5 6903 366B  FEF9 82AA 4A24 3B1E 9478

* tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu:
  bsd-user/syscall_defs.h: define STAT_TIME_T_EXT only for 32 bits
  linux-user/aarch64/target_fcntl.h: add missing TARGET_O_LARGEFILE definition
  configure: add ppc target back to container tests
  MAINTAINERS: Add docs/system/i386/ to the general x86 architecture section
  tests/qemu-iotests: Use "gsed" for expressions that require GNU sed
  configure: Set $PYTHON in the configuration of the optionroms
  tests: fix comment declaring runtime in rv64 interruptedmemory test
  qemu-options.hx: use KiB, MiB, GiB for power-of-2 units
  gdbstub: unlink the unix socket before bind()
  Revert "gdbstub: Try unlinking the unix socket before binding"

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
pull/316/head
Richard Henderson 7 months ago
parent
commit
464f49bf90
  1. 1
      MAINTAINERS
  2. 2
      bsd-user/syscall_defs.h
  3. 3
      configure
  4. 30
      gdbstub/user.c
  5. 1
      linux-user/aarch64/target_fcntl.h
  6. 20
      qemu-options.hx
  7. 2
      stubs/meson.build
  8. 2
      tests/qemu-iotests/286
  9. 2
      tests/qemu-iotests/common.rc
  10. 2
      tests/tcg/riscv64/interruptedmemory.S
  11. 2
      util/meson.build

1
MAINTAINERS

@ -143,6 +143,7 @@ S: Maintained
F: configs/devices/i386-softmmu/default.mak
F: configs/targets/i386-softmmu.mak
F: configs/targets/x86_64-softmmu.mak
F: docs/system/i386/
F: docs/system/target-i386*
F: target/i386/*.[ch]
F: target/i386/Kconfig

2
bsd-user/syscall_defs.h

@ -247,7 +247,7 @@ struct target_freebsd11_stat {
unsigned int:(8 / 2) * (16 - (int)sizeof(struct target_freebsd_timespec));
} __packed;
#if defined(TARGET_I386)
#if defined(TARGET_I386) && !defined(TARGET_X86_64)
#define TARGET_HAS_STAT_TIME_T_EXT 1
#endif

3
configure

@ -1451,7 +1451,7 @@ probe_target_compiler() {
container_image=debian-all-test-cross
container_cross_prefix=mips64-linux-gnuabi64-
;;
ppc64|ppc64le)
ppc|ppc64|ppc64le)
container_image=debian-all-test-cross
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
;;
@ -1632,6 +1632,7 @@ probe_target_compiler() {
}
write_target_makefile() {
echo "PYTHON=$python"
echo "EXTRA_CFLAGS=$target_cflags"
if test -z "$target_cc" && test -z "$target_as"; then
test -z "$container_image" && error_exit "Internal error: could not find cross compiler for $1?"

30
gdbstub/user.c

@ -314,10 +314,12 @@ static bool gdb_accept_socket(int gdb_fd)
return true;
}
static int gdbserver_open_socket(const char *path, Error **errp)
static int gdbserver_open_socket(const char *path)
{
g_autoptr(GString) buf = g_string_new("");
struct sockaddr_un sockaddr = {};
const char *pid_placeholder;
int fd, ret;
pid_placeholder = strstr(path, "%d");
if (pid_placeholder != NULL) {
@ -327,7 +329,29 @@ static int gdbserver_open_socket(const char *path, Error **errp)
path = buf->str;
}
return unix_listen(path, errp);
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if (fd < 0) {
perror("create socket");
return -1;
}
sockaddr.sun_family = AF_UNIX;
pstrcpy(sockaddr.sun_path, sizeof(sockaddr.sun_path) - 1, path);
unlink(sockaddr.sun_path);
ret = bind(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr));
if (ret < 0) {
perror("bind socket");
close(fd);
return -1;
}
ret = listen(fd, 1);
if (ret < 0) {
perror("listen socket");
close(fd);
return -1;
}
return fd;
}
static bool gdb_accept_tcp(int gdb_fd)
@ -483,7 +507,7 @@ bool gdbserver_start(const char *args, Error **errp)
if (port > 0) {
gdb_fd = gdbserver_open_port(port, errp);
} else {
gdb_fd = gdbserver_open_socket(port_or_path, errp);
gdb_fd = gdbserver_open_socket(port_or_path);
}
if (gdb_fd < 0) {
return false;

1
linux-user/aarch64/target_fcntl.h

@ -11,6 +11,7 @@
#define TARGET_O_DIRECTORY 040000 /* must be a directory */
#define TARGET_O_NOFOLLOW 0100000 /* don't follow links */
#define TARGET_O_DIRECT 0200000 /* direct disk access hint */
#define TARGET_O_LARGEFILE 0400000
#include "../generic/fcntl.h"
#endif

20
qemu-options.hx

@ -305,9 +305,9 @@ SRST
with break-before-make sequences are considerable and also if guest
workloads are read intensive. The size here specifies how many pages
to break at a time and needs to be a valid block size which is
1GB/2MB/4KB, 32MB/16KB and 512MB/64KB for 4KB/16KB/64KB PAGE_SIZE
respectively. Be wary of specifying a higher size as it will have an
impact on the memory. By default, this feature is disabled
1GiB/2MiB/4KiB, 32MiB/16KiB and 512MiB/64KiB for 4KiB/16KiB/64KiB
PAGE_SIZE respectively. Be wary of specifying a higher size as it will
have an impact on the memory. By default, this feature is disabled
(eager-split-size=0).
``notify-vmexit=run|internal-error|disable,notify-window=n``
@ -564,7 +564,7 @@ SRST
lat is latency value in nanoseconds. bw is bandwidth value, the
possible value and units are NUM[M\|G\|T], mean that the bandwidth
value are NUM byte per second (or MB/s, GB/s or TB/s depending on
value are NUM byte per second (or MiB/s, GiB/s or TiB/s depending on
used suffix). Note that if latency or bandwidth value is 0, means
the corresponding latency or bandwidth information is not provided.
@ -579,10 +579,10 @@ SRST
For example, the following options describe 2 NUMA nodes. Node 0 has
2 cpus and a ram, node 1 has only a ram. The processors in node 0
access memory in node 0 with access-latency 5 nanoseconds,
access-bandwidth is 200 MB/s; The processors in NUMA node 0 access
access-bandwidth is 200 MiB/s; The processors in NUMA node 0 access
memory in NUMA node 1 with access-latency 10 nanoseconds,
access-bandwidth is 100 MB/s. And for memory side cache information,
NUMA node 0 and 1 both have 1 level memory cache, size is 10KB,
access-bandwidth is 100 MiB/s. And for memory side cache information,
NUMA node 0 and 1 both have 1 level memory cache, size is 10KiB,
policy is write-back, the cache Line size is 8 bytes:
::
@ -739,8 +739,8 @@ SRST
amount of memory. Note that maxmem must be aligned to the page size.
For example, the following command-line sets the guest startup RAM
size to 1GB, creates 3 slots to hotplug additional memory and sets
the maximum memory the guest can reach to 4GB:
size to 1GiB, creates 3 slots to hotplug additional memory and sets
the maximum memory the guest can reach to 4GiB:
.. parsed-literal::
@ -1696,7 +1696,7 @@ SRST
Specify bandwidth throttling limits in bytes per second, either
for all request types or for reads or writes only. Small values
can lead to timeouts or hangs inside the guest. A safe minimum
for disks is 2 MB/s.
for disks is 2 MiB/s.
``bps_max=bm,bps_rd_max=rm,bps_wr_max=wm``
Specify bursts in bytes per second, either for all request types

2
stubs/meson.build

@ -61,8 +61,6 @@ if have_user
if not have_system
stub_ss.add(files('qdev.c'))
endif
stub_ss.add(files('monitor-internal.c'))
endif
if have_system

2
tests/qemu-iotests/286

@ -62,7 +62,7 @@ wait=yes _cleanup_qemu
echo 'Output structure:'
$QEMU_IMG snapshot -l "$TEST_IMG" | tail -n 1 | tr -s ' ' \
| sed -e 's/\S\+/./g' \
| gsed -e 's/\S\+/./g' \
| sed -e 's/\./(snapshot ID)/' \
-e 's/\./(snapshot name)/' \
-e 's/\./(VM state size value)/' \

2
tests/qemu-iotests/common.rc

@ -719,7 +719,7 @@ _img_info()
regex_json_spec_start='^ *"format-specific": \{'
regex_json_child_start='^ *"children": \['
$QEMU_IMG info $QEMU_IMG_EXTRA_ARGS "$@" "$TEST_IMG" 2>&1 | \
sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
gsed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
-e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
-e "s#$TEST_DIR#TEST_DIR#g" \
-e "s#$SOCK_DIR/fuse-#TEST_DIR/#g" \

2
tests/tcg/riscv64/interruptedmemory.S

@ -25,7 +25,7 @@ _start:
li a0, 0x03 # 8N1, DLAB=0
sb a0, 3(t1)
# Run test for around 60s
# Run test for around 30s
call rtc_get
li t0, 30
slli t0, t0, 30 # Approx. 10e9 ns

2
util/meson.build

@ -83,8 +83,6 @@ if have_block or have_ga
util_ss.add(files('qemu-coroutine.c', 'qemu-coroutine-lock.c', 'qemu-coroutine-io.c'))
util_ss.add(files(f'coroutine-@coroutine_backend@.c'))
util_ss.add(files('thread-pool.c', 'qemu-timer.c'))
endif
if have_block or have_ga or have_user
util_ss.add(files('qemu-sockets.c'))
endif
if have_block

Loading…
Cancel
Save