Skip to content

Commit

Permalink
Merge pull request #1557 from hadfl/qemu
Browse files Browse the repository at this point in the history
qemu: update to 9.2.0
  • Loading branch information
oetiker authored Dec 12, 2024
2 parents 6919d25 + cd7f446 commit aa5a864
Show file tree
Hide file tree
Showing 12 changed files with 52 additions and 39 deletions.
1 change: 1 addition & 0 deletions build/meta/extra-build-tools.p5m
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ depend fmri=ooce/omnios-build-tools type=require
depend fmri=compress/lz4 type=require
depend fmri=driver/tuntap type=require
depend fmri=library/unixodbc type=require
depend fmri=network/socat type=require
depend fmri=ooce/application/graphviz type=require
depend fmri=ooce/application/imagemagick type=require
depend fmri=ooce/application/php-81 type=require
Expand Down
12 changes: 5 additions & 7 deletions build/qemu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,20 @@
. ../../lib/build.sh

PROG=qemu
VER=9.1.2
VER=9.2.0
PKG=ooce/emulator/qemu
SUMMARY="$PROG"
DESC="A generic and open source machine emulator and virtualizer"

LIBSLIRPVER=4.8.0
SPHINXVER=8.0.2
SPHINXRTDVER=2.0.0
SPHINXVER=8.1.3
SPHINXRTDVER=3.0.2

OPREFIX=$PREFIX
PREFIX+=/$PROG

set_arch 64
test_relver '>=' 151053 && set_clangver

XFORM_ARGS="
-DOPREFIX=${OPREFIX#/}
Expand Down Expand Up @@ -77,7 +78,7 @@ CONFIGURE_OPTS="
"
LDFLAGS+=" -lumem"

fixup() {
post_install() {
# Meson strips runpaths when it installs objects, something which a lot
# of different projects have had to patch around, see:
# https://github.com/mesonbuild/meson/issues/2567
Expand All @@ -103,9 +104,7 @@ fixup() {
fi
done
popd >/dev/null
}

post_install() {
manifest_start $TMPDIR/manifest.img
manifest_add $PREFIX/bin qemu-img
manifest_add $PREFIX/share/man/man1 'qemu-img\.1'
Expand All @@ -118,7 +117,6 @@ post_install() {
download_source $PROG $PROG $VER
patch_source
build
fixup
PKG="ooce/util/$PROG-img" DESC="$PROG-img" SUMMARY="$PROG-img utility" \
XFORM_ARGS+=" -DSHIPETC=#" make_package -seed $TMPDIR/manifest.img
install_execattr
Expand Down
4 changes: 4 additions & 0 deletions build/qemu/files/ctf.ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
char-parallel.c
core-lx106.c
power8-pmu.c
scsi-generic.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From c779a4d8596036b5cb394d33a8a36c4d173d9efc Mon Sep 17 00:00:00 2001
From 71d94e2924abfde9c32ae097d66f15a2c2643414 Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Mon, 28 Nov 2022 14:52:31 +0000
Subject: illumos OFD locking must span the entire file
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 28f3b36350111e88df48cc94b5ad22eec7c94701 Mon Sep 17 00:00:00 2001
From 766d1949346161682d0ce6d3efbd1ecd080b1380 Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Mon, 28 Nov 2022 14:53:22 +0000
Subject: Do not pass --dynamic-list to linker
Expand All @@ -8,15 +8,15 @@ Subject: Do not pass --dynamic-list to linker
1 file changed, 2 deletions(-)

diff --git a/plugins/meson.build b/plugins/meson.build
index 1cc039d29b..84f58d7055 100644
index 98542e926f..d5a96eaed0 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -11,8 +11,6 @@ if not enable_modules
@@ -17,8 +17,6 @@ if not enable_modules
capture: true,
command: ['sed', '-ne', 's/^[[:space:]]*\\(qemu_.*\\);/_\\1/p', '@INPUT@'])
emulator_link_args += ['-Wl,-exported_symbols_list,plugins/qemu-plugins-ld64.symbols']
- else
- emulator_link_args += ['-Xlinker', '--dynamic-list=' + (meson.project_source_root() / 'plugins/qemu-plugins.symbols')]
- emulator_link_args += ['-Xlinker', '--dynamic-list=' + qemu_plugin_symbols.full_path()]
endif
endif

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 55b4f51cbf19b471d4ba5896437fa0e161fa94b4 Mon Sep 17 00:00:00 2001
From 75acdb90fdf29db531db59c2da826d09340c957e Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Mon, 28 Nov 2022 14:53:46 +0000
Subject: illumos defines FSCALE in sys/param.h
Expand All @@ -8,10 +8,10 @@ Subject: illumos defines FSCALE in sys/param.h
1 file changed, 1 insertion(+)

diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c
index a72c262096..604dc8671f 100644
index 49d32fabc9..e0308025da 100644
--- a/target/arm/tcg/translate-sve.c
+++ b/target/arm/tcg/translate-sve.c
@@ -3734,6 +3734,7 @@ DO_ZPZZ_FP(FMAX_zpzz, aa64_sve, sve_fmax)
@@ -3753,6 +3753,7 @@ DO_ZPZZ_FP(FMAX_zpzz, aa64_sve, sve_fmax)
DO_ZPZZ_FP(FMINNM_zpzz, aa64_sve, sve_fminnum)
DO_ZPZZ_FP(FMAXNM_zpzz, aa64_sve, sve_fmaxnum)
DO_ZPZZ_FP(FABD, aa64_sve, sve_fabd)
Expand Down
4 changes: 2 additions & 2 deletions build/qemu/patches/0005-configure-uses-bash-extensions.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From ab707a712e6ef79aea93d7e4ab9993ced68154d5 Mon Sep 17 00:00:00 2001
From 5e013c76ff1d74f2852bdd5fb734fc5cd04298e0 Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Mon, 28 Nov 2022 15:09:47 +0000
Subject: configure uses bash extensions
Expand All @@ -8,7 +8,7 @@ Subject: configure uses bash extensions
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index d08b71f14b..aca32b953e 100755
index 18336376bf..9f86241ec4 100755
--- a/configure
+++ b/configure
@@ -1,4 +1,4 @@
Expand Down
22 changes: 11 additions & 11 deletions build/qemu/patches/0006-Add-support-for-VNICs.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From b75b45b43e69db02e32a8b4880d62360a58f5d6c Mon Sep 17 00:00:00 2001
From 555de5cd19882a0c96abaa1f4957af0a979e9c98 Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Mon, 28 Nov 2022 14:51:42 +0000
Subject: Add support for VNICs
Expand All @@ -17,10 +17,10 @@ https://github.com/TritonDataCenter/illumos-kvm-cmd
create mode 100644 net/vnic.c

diff --git a/meson.build b/meson.build
index fbda17c987..830b105d5e 100644
index 147097c652..8486d5d9e0 100644
--- a/meson.build
+++ b/meson.build
@@ -751,7 +751,8 @@ elif host_os == 'darwin'
@@ -818,7 +818,8 @@ elif host_os == 'darwin'
elif host_os == 'sunos'
socket = [cc.find_library('socket'),
cc.find_library('nsl'),
Expand All @@ -44,10 +44,10 @@ index be53794582..07e413c3de 100644
#ifdef CONFIG_NETMAP
int net_init_netmap(const Netdev *netdev, const char *name,
diff --git a/net/hub.c b/net/hub.c
index 4c8a469a50..61ff327dc6 100644
index 496a3d3b4b..dc7038746b 100644
--- a/net/hub.c
+++ b/net/hub.c
@@ -316,6 +316,7 @@ void net_hub_check_clients(void)
@@ -291,6 +291,7 @@ void net_hub_check_clients(void)
case NET_CLIENT_DRIVER_STREAM:
case NET_CLIENT_DRIVER_DGRAM:
case NET_CLIENT_DRIVER_VDE:
Expand All @@ -56,7 +56,7 @@ index 4c8a469a50..61ff327dc6 100644
has_host_dev = 1;
break;
diff --git a/net/meson.build b/net/meson.build
index e0cd71470e..28e29375aa 100644
index bb97b4dcbe..a396d91d3e 100644
--- a/net/meson.build
+++ b/net/meson.build
@@ -52,7 +52,7 @@ elif host_os == 'linux'
Expand All @@ -69,10 +69,10 @@ index e0cd71470e..28e29375aa 100644
system_ss.add(files('tap.c', 'tap-stub.c'))
endif
diff --git a/net/net.c b/net/net.c
index fc1125111c..b80e016d97 100644
index 7ef6885876..9babc4459e 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1253,6 +1253,7 @@ static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
@@ -1247,6 +1247,7 @@ static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
#ifdef CONFIG_VDE
[NET_CLIENT_DRIVER_VDE] = net_init_vde,
#endif
Expand Down Expand Up @@ -361,7 +361,7 @@ index 0000000000..481661b583
+ return (0);
+}
diff --git a/qapi/net.json b/qapi/net.json
index 87fc0d0b28..510191da55 100644
index 2739a2f423..d6fb755dca 100644
--- a/qapi/net.json
+++ b/qapi/net.json
@@ -364,6 +364,17 @@
Expand All @@ -382,7 +382,7 @@ index 87fc0d0b28..510191da55 100644
##
# @NetdevBridgeOptions:
#
@@ -723,7 +734,7 @@
@@ -734,7 +745,7 @@
{ 'enum': 'NetClientDriver',
'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'stream',
'dgram', 'vde', 'bridge', 'hubport', 'netmap', 'vhost-user',
Expand All @@ -391,7 +391,7 @@ index 87fc0d0b28..510191da55 100644
{ 'name': 'af-xdp', 'if': 'CONFIG_AF_XDP' },
{ 'name': 'vmnet-host', 'if': 'CONFIG_VMNET' },
{ 'name': 'vmnet-shared', 'if': 'CONFIG_VMNET' },
@@ -752,6 +763,7 @@
@@ -763,6 +774,7 @@
'stream': 'NetdevStreamOptions',
'dgram': 'NetdevDgramOptions',
'vde': 'NetdevVdeOptions',
Expand Down
2 changes: 1 addition & 1 deletion build/qemu/patches/0007-Drop-unnecessary-privileges.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 2aaae6a0e5e6057e97c728a08f0619d0effd6d23 Mon Sep 17 00:00:00 2001
From a453fc277e115beaaa4065c49d7ccde3e2fd6dca Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Fri, 30 Dec 2022 18:06:57 +0000
Subject: Drop unnecessary privileges
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From d0404faf03b341420e75c33dc62c68cb6f4e41f5 Mon Sep 17 00:00:00 2001
From 692f141e1fb4e3f39932a698d221304b21ad37e5 Mon Sep 17 00:00:00 2001
From: Andy Fiddaman <[email protected]>
Date: Mon, 22 May 2023 20:31:38 +0000
Subject: Add support for a zconsole character device
Expand All @@ -8,8 +8,8 @@ Subject: Add support for a zconsole character device
chardev/meson.build | 6 ++++
include/chardev/char.h | 1 +
include/qemu/osdep.h | 4 +++
qapi/char.json | 2 ++
5 files changed, 87 insertions(+)
qapi/char.json | 4 +++
5 files changed, 89 insertions(+)
create mode 100644 chardev/char-zconsole.c

diff --git a/chardev/char-zconsole.c b/chardev/char-zconsole.c
Expand Down Expand Up @@ -122,10 +122,10 @@ index 01df55f9e8..8e47f42149 100644
#define TYPE_CHARDEV_UDP "chardev-udp"

diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index fe7c3c5f67..97f479e3d7 100644
index fdff07fd99..f27c1b9701 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -521,6 +521,10 @@ void qemu_anon_ram_free(void *ptr, size_t size);
@@ -525,6 +525,10 @@ void qemu_anon_ram_free(void *ptr, size_t size);
#endif
#endif

Expand All @@ -137,18 +137,27 @@ index fe7c3c5f67..97f479e3d7 100644
#define SIGIO SIGPOLL
#endif
diff --git a/qapi/char.json b/qapi/char.json
index ef58445cee..633d6feda3 100644
index e045354350..ecdef0acff 100644
--- a/qapi/char.json
+++ b/qapi/char.json
@@ -476,6 +476,7 @@
@@ -467,6 +467,8 @@
#
# @parallel: parallel host device
#
+# @zconsole: illumos zone console character device
+#
# @pipe: pipes (since 1.5)
#
# @socket: stream socket
@@ -515,6 +517,7 @@
'data': [ 'file',
{ 'name': 'serial', 'if': 'HAVE_CHARDEV_SERIAL' },
{ 'name': 'parallel', 'if': 'HAVE_CHARDEV_PARALLEL' },
+ 'zconsole',
'pipe',
'socket',
'udp',
@@ -647,6 +648,7 @@
@@ -697,6 +700,7 @@
'if': 'HAVE_CHARDEV_SERIAL' },
'parallel': { 'type': 'ChardevHostdevWrapper',
'if': 'HAVE_CHARDEV_PARALLEL' },
Expand Down
3 changes: 2 additions & 1 deletion build/swtpm/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ OPREFIX=$PREFIX
PREFIX+="/$PROG"

set_arch 64
set_clangver
# earlier meson versions have a bug that fails to detect ld(1) with clang
test_relver '>=' 151053 && set_clangver
set_standard XPG6

XFORM_ARGS="
Expand Down
2 changes: 1 addition & 1 deletion doc/packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
| ooce/editor/joe | 4.6 | https://sourceforge.net/projects/joe-editor/files/JOE%20sources/ | [omniosorg](https://github.com/omniosorg)
| ooce/editor/nano | 8.2 | https://ftp.gnu.org/gnu/nano/ | [omniosorg](https://github.com/omniosorg)
| ooce/editor/neovim | 0.10.2 | https://github.com/neovim/neovim/releases | [omniosorg](https://github.com/omniosorg)
| ooce/emulator/qemu | 9.1.2 | https://www.qemu.org/download/ | [omniosorg](https://github.com/omniosorg)
| ooce/emulator/qemu | 9.2.0 | https://www.qemu.org/download/ | [omniosorg](https://github.com/omniosorg)
| ooce/file/acltool | 1.16.2 | https://github.com/ptrrkssn/acltool/releases | [Peter Eriksson](https://github.com/ptrrkssn)
| ooce/file/lsof | 4.99.3 | https://github.com/lsof-org/lsof/releases | [omniosorg](https://github.com/omniosorg)
| ooce/file/tree | 2.1.3 | https://gitlab.com/api/v4/projects/OldManProgrammer%2Funix-tree/repository/tags/ https://gitlab.com/OldManProgrammer/unix-tree | [omniosorg](https://github.com/omniosorg)
Expand Down

0 comments on commit aa5a864

Please sign in to comment.