update to qemu 6.2.0; including fix for CVE-2021-3713 which affects
versions earlier than 6.2.0-rc0 From brad (MAINTAINER) with minor updates to README-main from me
This commit is contained in:
parent
d6b8130e41
commit
c43950067b
@ -1,4 +1,4 @@
|
|||||||
# $OpenBSD: Makefile,v 1.217 2021/11/22 15:00:42 espie Exp $
|
# $OpenBSD: Makefile,v 1.218 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
ONLY_FOR_ARCHS= aarch64 amd64 arm i386 powerpc powerpc64 riscv64 sparc64
|
ONLY_FOR_ARCHS= aarch64 amd64 arm i386 powerpc powerpc64 riscv64 sparc64
|
||||||
DPB_PROPERTIES= parallel
|
DPB_PROPERTIES= parallel
|
||||||
@ -6,9 +6,8 @@ DPB_PROPERTIES= parallel
|
|||||||
COMMENT-main= multi system emulator
|
COMMENT-main= multi system emulator
|
||||||
COMMENT-ga= QEMU guest agent
|
COMMENT-ga= QEMU guest agent
|
||||||
|
|
||||||
VERSION= 6.1.0
|
VERSION= 6.2.0
|
||||||
DISTNAME= qemu-${VERSION}
|
DISTNAME= qemu-${VERSION}
|
||||||
REVISION-main= 1
|
|
||||||
CATEGORIES= emulators
|
CATEGORIES= emulators
|
||||||
MASTER_SITES= https://download.qemu.org/
|
MASTER_SITES= https://download.qemu.org/
|
||||||
EXTRACT_SUFX= .tar.xz
|
EXTRACT_SUFX= .tar.xz
|
||||||
@ -86,9 +85,10 @@ CONFIGURE_ARGS= --prefix=${PREFIX} \
|
|||||||
--cc="${CC}" \
|
--cc="${CC}" \
|
||||||
--cxx="${CXX}" \
|
--cxx="${CXX}" \
|
||||||
--host-cc="${CC}" \
|
--host-cc="${CC}" \
|
||||||
--disable-bsd-user \
|
|
||||||
--enable-capstone=system \
|
--enable-capstone=system \
|
||||||
--disable-auth-pam \
|
--disable-auth-pam \
|
||||||
|
--disable-bsd-user \
|
||||||
|
--disable-jack \
|
||||||
--disable-sdl-image \
|
--disable-sdl-image \
|
||||||
--disable-smartcard \
|
--disable-smartcard \
|
||||||
--disable-snappy \
|
--disable-snappy \
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
SHA256 (qemu-6.1.0.tar.xz) = 7rwInbNBS77t8eRkvtoKdRWq0w9zJhq8JGybJ1A6PJY=
|
SHA256 (qemu-6.2.0.tar.xz) = aOFdjkWsVjJuC5pK+otJo9/oq6NIgiHQmMhGmLymW0U=
|
||||||
SIZE (qemu-6.1.0.tar.xz) = 111258808
|
SIZE (qemu-6.2.0.tar.xz) = 115667324
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
$OpenBSD: patch-audio_audio_c,v 1.10 2021/09/03 23:04:49 sthen Exp $
|
$OpenBSD: patch-audio_audio_c,v 1.11 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
|
sndio module
|
||||||
|
|
||||||
Index: audio/audio.c
|
Index: audio/audio.c
|
||||||
--- audio/audio.c.orig
|
--- audio/audio.c.orig
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
$OpenBSD: patch-audio_audio_template_h,v 1.5 2021/05/02 08:15:19 landry Exp $
|
$OpenBSD: patch-audio_audio_template_h,v 1.6 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
|
sndio module
|
||||||
|
|
||||||
Index: audio/audio_template.h
|
Index: audio/audio_template.h
|
||||||
--- audio/audio_template.h.orig
|
--- audio/audio_template.h.orig
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$OpenBSD: patch-audio_meson_build,v 1.1 2021/05/02 08:15:19 landry Exp $
|
$OpenBSD: patch-audio_meson_build,v 1.2 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
sndio module
|
sndio module
|
||||||
|
|
||||||
@ -6,10 +6,10 @@ Index: audio/meson.build
|
|||||||
--- audio/meson.build.orig
|
--- audio/meson.build.orig
|
||||||
+++ audio/meson.build
|
+++ audio/meson.build
|
||||||
@@ -17,6 +17,7 @@ foreach m : [
|
@@ -17,6 +17,7 @@ foreach m : [
|
||||||
['CONFIG_AUDIO_OSS', 'oss', oss, 'ossaudio.c'],
|
['pa', pulse, files('paaudio.c')],
|
||||||
['CONFIG_AUDIO_PA', 'pa', pulse, 'paaudio.c'],
|
['sdl', sdl, files('sdlaudio.c')],
|
||||||
['CONFIG_AUDIO_SDL', 'sdl', sdl, 'sdlaudio.c'],
|
['jack', jack, files('jackaudio.c')],
|
||||||
+ ['CONFIG_AUDIO_SNDIO', 'sndio', sndio, 'sndioaudio.c'],
|
+ ['sndio', sndio, files('sndioaudio.c')],
|
||||||
['CONFIG_AUDIO_JACK', 'jack', jack, 'jackaudio.c'],
|
['spice', spice, files('spiceaudio.c')]
|
||||||
['CONFIG_SPICE', 'spice', spice, 'spiceaudio.c']
|
|
||||||
]
|
]
|
||||||
|
if m[1].found()
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$OpenBSD: patch-audio_sndioaudio_c,v 1.4 2020/03/30 20:10:24 ajacoutot Exp $
|
$OpenBSD: patch-audio_sndioaudio_c,v 1.5 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
sndio module
|
sndio module
|
||||||
|
|
||||||
@ -7,19 +7,9 @@ Index: audio/sndioaudio.c
|
|||||||
+++ audio/sndioaudio.c
|
+++ audio/sndioaudio.c
|
||||||
@@ -0,0 +1,555 @@
|
@@ -0,0 +1,555 @@
|
||||||
+/*
|
+/*
|
||||||
|
+ * SPDX-License-Identifier: ISC
|
||||||
|
+ *
|
||||||
+ * Copyright (c) 2019 Alexandre Ratchov <alex@caoua.org>
|
+ * Copyright (c) 2019 Alexandre Ratchov <alex@caoua.org>
|
||||||
+ *
|
|
||||||
+ * Permission to use, copy, modify, and distribute this software for any
|
|
||||||
+ * purpose with or without fee is hereby granted, provided that the above
|
|
||||||
+ * copyright notice and this permission notice appear in all copies.
|
|
||||||
+ *
|
|
||||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+/*
|
+/*
|
||||||
@ -43,7 +33,7 @@ Index: audio/sndioaudio.c
|
|||||||
+#define AUDIO_CAP "sndio"
|
+#define AUDIO_CAP "sndio"
|
||||||
+#include "audio_int.h"
|
+#include "audio_int.h"
|
||||||
+
|
+
|
||||||
+/* default latency in ms if no option is set */
|
+/* default latency in microseconds if no option is set */
|
||||||
+#define SNDIO_LATENCY_US 50000
|
+#define SNDIO_LATENCY_US 50000
|
||||||
+
|
+
|
||||||
+typedef struct SndioVoice {
|
+typedef struct SndioVoice {
|
||||||
@ -64,6 +54,7 @@ Index: audio/sndioaudio.c
|
|||||||
+ size_t qemu_pos;
|
+ size_t qemu_pos;
|
||||||
+ unsigned int mode;
|
+ unsigned int mode;
|
||||||
+ unsigned int nfds;
|
+ unsigned int nfds;
|
||||||
|
+ bool enabled;
|
||||||
+} SndioVoice;
|
+} SndioVoice;
|
||||||
+
|
+
|
||||||
+typedef struct SndioConf {
|
+typedef struct SndioConf {
|
||||||
@ -85,7 +76,7 @@ Index: audio/sndioaudio.c
|
|||||||
+
|
+
|
||||||
+ for (i = 0; i < self->nfds; i++) {
|
+ for (i = 0; i < self->nfds; i++) {
|
||||||
+ pfd = &self->pfds[i];
|
+ pfd = &self->pfds[i];
|
||||||
+ qemu_set_fd_handler (pfd->fd, NULL, NULL, NULL);
|
+ qemu_set_fd_handler(pfd->fd, NULL, NULL, NULL);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ self->nfds = 0;
|
+ self->nfds = 0;
|
||||||
@ -175,12 +166,12 @@ Index: audio/sndioaudio.c
|
|||||||
+ for (i = 0; i < self->nfds; i++) {
|
+ for (i = 0; i < self->nfds; i++) {
|
||||||
+ pfd = &self->pfds[i];
|
+ pfd = &self->pfds[i];
|
||||||
+ if (pfd->fd < 0) {
|
+ if (pfd->fd < 0) {
|
||||||
+ continue;
|
+ continue;
|
||||||
+ }
|
+ }
|
||||||
+ qemu_set_fd_handler(pfd->fd,
|
+ qemu_set_fd_handler(pfd->fd,
|
||||||
+ (pfd->events & POLLIN) ? sndio_poll_in : NULL,
|
+ (pfd->events & POLLIN) ? sndio_poll_in : NULL,
|
||||||
+ (pfd->events & POLLOUT) ? sndio_poll_out : NULL,
|
+ (pfd->events & POLLOUT) ? sndio_poll_out : NULL,
|
||||||
+ &self->pindexes[i]);
|
+ &self->pindexes[i]);
|
||||||
+ pfd->revents = 0;
|
+ pfd->revents = 0;
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
@ -227,7 +218,12 @@ Index: audio/sndioaudio.c
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ sndio_poll_wait(self);
|
+ /*
|
||||||
|
+ * audio_run() may have changed state
|
||||||
|
+ */
|
||||||
|
+ if (self->enabled) {
|
||||||
|
+ sndio_poll_wait(self);
|
||||||
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/*
|
+/*
|
||||||
@ -238,7 +234,6 @@ Index: audio/sndioaudio.c
|
|||||||
+{
|
+{
|
||||||
+ SndioVoice *self = (SndioVoice *) hw;
|
+ SndioVoice *self = (SndioVoice *) hw;
|
||||||
+
|
+
|
||||||
+ /* size is not set by the caller */
|
|
||||||
+ *size = self->buf_size - self->qemu_pos;
|
+ *size = self->buf_size - self->qemu_pos;
|
||||||
+ return self->buf + self->qemu_pos;
|
+ return self->buf + self->qemu_pos;
|
||||||
+}
|
+}
|
||||||
@ -375,6 +370,7 @@ Index: audio/sndioaudio.c
|
|||||||
+ case AUDIO_FORMAT_U32:
|
+ case AUDIO_FORMAT_U32:
|
||||||
+ req.bits = 32;
|
+ req.bits = 32;
|
||||||
+ req.sig = 0;
|
+ req.sig = 0;
|
||||||
|
+ break;
|
||||||
+ default:
|
+ default:
|
||||||
+ dolog("unknown audio sample format\n");
|
+ dolog("unknown audio sample format\n");
|
||||||
+ return -1;
|
+ return -1;
|
||||||
@ -386,9 +382,9 @@ Index: audio/sndioaudio.c
|
|||||||
+
|
+
|
||||||
+ req.rate = as->freq;
|
+ req.rate = as->freq;
|
||||||
+ if (mode == SIO_PLAY) {
|
+ if (mode == SIO_PLAY) {
|
||||||
+ req.pchan = as->nchannels;
|
+ req.pchan = as->nchannels;
|
||||||
+ } else {
|
+ } else {
|
||||||
+ req.rchan = as->nchannels;
|
+ req.rchan = as->nchannels;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ /* set on-device buffer size */
|
+ /* set on-device buffer size */
|
||||||
@ -458,8 +454,10 @@ Index: audio/sndioaudio.c
|
|||||||
+{
|
+{
|
||||||
+ if (enable) {
|
+ if (enable) {
|
||||||
+ sio_start(self->hdl);
|
+ sio_start(self->hdl);
|
||||||
|
+ self->enabled = true;
|
||||||
+ sndio_poll_wait(self);
|
+ sndio_poll_wait(self);
|
||||||
+ } else {
|
+ } else {
|
||||||
|
+ self->enabled = false;
|
||||||
+ sndio_poll_clear(self);
|
+ sndio_poll_clear(self);
|
||||||
+ sio_stop(self->hdl);
|
+ sio_stop(self->hdl);
|
||||||
+ }
|
+ }
|
||||||
@ -469,14 +467,14 @@ Index: audio/sndioaudio.c
|
|||||||
+{
|
+{
|
||||||
+ SndioVoice *self = (SndioVoice *) hw;
|
+ SndioVoice *self = (SndioVoice *) hw;
|
||||||
+
|
+
|
||||||
+ return sndio_enable(self, enable);
|
+ sndio_enable(self, enable);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static void sndio_enable_in(HWVoiceIn *hw, bool enable)
|
+static void sndio_enable_in(HWVoiceIn *hw, bool enable)
|
||||||
+{
|
+{
|
||||||
+ SndioVoice *self = (SndioVoice *) hw;
|
+ SndioVoice *self = (SndioVoice *) hw;
|
||||||
+
|
+
|
||||||
+ return sndio_enable(self, enable);
|
+ sndio_enable(self, enable);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as, void *opaque)
|
+static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as, void *opaque)
|
||||||
@ -509,14 +507,14 @@ Index: audio/sndioaudio.c
|
|||||||
+{
|
+{
|
||||||
+ SndioVoice *self = (SndioVoice *) hw;
|
+ SndioVoice *self = (SndioVoice *) hw;
|
||||||
+
|
+
|
||||||
+ return sndio_fini(self);
|
+ sndio_fini(self);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static void sndio_fini_in(HWVoiceIn *hw)
|
+static void sndio_fini_in(HWVoiceIn *hw)
|
||||||
+{
|
+{
|
||||||
+ SndioVoice *self = (SndioVoice *) hw;
|
+ SndioVoice *self = (SndioVoice *) hw;
|
||||||
+
|
+
|
||||||
+ return sndio_fini(self);
|
+ sndio_fini(self);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static void *sndio_audio_init(Audiodev *dev)
|
+static void *sndio_audio_init(Audiodev *dev)
|
||||||
@ -533,10 +531,12 @@ Index: audio/sndioaudio.c
|
|||||||
+ .init_out = sndio_init_out,
|
+ .init_out = sndio_init_out,
|
||||||
+ .fini_out = sndio_fini_out,
|
+ .fini_out = sndio_fini_out,
|
||||||
+ .enable_out = sndio_enable_out,
|
+ .enable_out = sndio_enable_out,
|
||||||
|
+ .write = audio_generic_write,
|
||||||
+ .get_buffer_out = sndio_get_buffer_out,
|
+ .get_buffer_out = sndio_get_buffer_out,
|
||||||
+ .put_buffer_out = sndio_put_buffer_out,
|
+ .put_buffer_out = sndio_put_buffer_out,
|
||||||
+ .init_in = sndio_init_in,
|
+ .init_in = sndio_init_in,
|
||||||
+ .fini_in = sndio_fini_in,
|
+ .fini_in = sndio_fini_in,
|
||||||
|
+ .read = audio_generic_read,
|
||||||
+ .enable_in = sndio_enable_in,
|
+ .enable_in = sndio_enable_in,
|
||||||
+ .get_buffer_in = sndio_get_buffer_in,
|
+ .get_buffer_in = sndio_get_buffer_in,
|
||||||
+ .put_buffer_in = sndio_put_buffer_in,
|
+ .put_buffer_in = sndio_put_buffer_in,
|
||||||
@ -544,7 +544,7 @@ Index: audio/sndioaudio.c
|
|||||||
+
|
+
|
||||||
+static struct audio_driver sndio_audio_driver = {
|
+static struct audio_driver sndio_audio_driver = {
|
||||||
+ .name = "sndio",
|
+ .name = "sndio",
|
||||||
+ .descr = "https://man.openbsd.org/sndio",
|
+ .descr = "sndio https://sndio.org",
|
||||||
+ .init = sndio_audio_init,
|
+ .init = sndio_audio_init,
|
||||||
+ .fini = sndio_audio_fini,
|
+ .fini = sndio_audio_fini,
|
||||||
+ .pcm_ops = &sndio_pcm_ops,
|
+ .pcm_ops = &sndio_pcm_ops,
|
||||||
|
@ -1,47 +1,9 @@
|
|||||||
$OpenBSD: patch-configure,v 1.68 2021/09/03 23:04:49 sthen Exp $
|
$OpenBSD: patch-configure,v 1.69 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
sndio module
|
|
||||||
|
|
||||||
Index: configure
|
Index: configure
|
||||||
--- configure.orig
|
--- configure.orig
|
||||||
+++ configure
|
+++ configure
|
||||||
@@ -743,8 +743,8 @@ NetBSD)
|
@@ -3259,7 +3259,6 @@ write_c_skeleton
|
||||||
OpenBSD)
|
|
||||||
bsd="yes"
|
|
||||||
make="${MAKE-gmake}"
|
|
||||||
- audio_drv_list="try-sdl"
|
|
||||||
- audio_possible_drivers="sdl"
|
|
||||||
+ audio_drv_list="sndio"
|
|
||||||
+ audio_possible_drivers="sndio"
|
|
||||||
;;
|
|
||||||
Darwin)
|
|
||||||
bsd="yes"
|
|
||||||
@@ -3066,6 +3066,24 @@ for drv in $audio_drv_list; do
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
+ sndio | try-sndio)
|
|
||||||
+ if $pkg_config sndio --exists; then
|
|
||||||
+ sndio=yes
|
|
||||||
+ sndio_libs=$($pkg_config sndio --libs)
|
|
||||||
+ sndio_cflags=$($pkg_config sndio --cflags)
|
|
||||||
+ if test "$drv" = "try-sndio"; then
|
|
||||||
+ audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-sndio/sndio/')
|
|
||||||
+ fi
|
|
||||||
+ else
|
|
||||||
+ if test "$drv" = "try-sndio"; then
|
|
||||||
+ audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-sndio//')
|
|
||||||
+ else
|
|
||||||
+ error_exit "$drv check failed" \
|
|
||||||
+ "Make sure to have the $drv libs and headers installed."
|
|
||||||
+ fi
|
|
||||||
+ fi
|
|
||||||
+ ;;
|
|
||||||
+
|
|
||||||
coreaudio | try-coreaudio)
|
|
||||||
if test "$coreaudio" = "no"; then
|
|
||||||
if test "$drv" = "try-coreaudio"; then
|
|
||||||
@@ -4299,7 +4317,6 @@ write_c_skeleton
|
|
||||||
if test "$gcov" = "yes" ; then
|
if test "$gcov" = "yes" ; then
|
||||||
:
|
:
|
||||||
elif test "$fortify_source" = "yes" ; then
|
elif test "$fortify_source" = "yes" ; then
|
||||||
@ -49,15 +11,3 @@ Index: configure
|
|||||||
debug=no
|
debug=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -4565,6 +4582,11 @@ echo "PULSE_CFLAGS=$pulse_cflags" >> $config_host_mak
|
|
||||||
echo "COREAUDIO_LIBS=$coreaudio_libs" >> $config_host_mak
|
|
||||||
echo "DSOUND_LIBS=$dsound_libs" >> $config_host_mak
|
|
||||||
echo "OSS_LIBS=$oss_libs" >> $config_host_mak
|
|
||||||
+if test "$sndio" = "yes" ; then
|
|
||||||
+ echo "CONFIG_SNDIO=y" >> $config_host_mak
|
|
||||||
+fi
|
|
||||||
+echo "SNDIO_LIBS=$sndio_libs" >> $config_host_mak
|
|
||||||
+echo "SNDIO_CFLAGS=$sndio_cflags" >> $config_host_mak
|
|
||||||
if test "$libjack" = "yes" ; then
|
|
||||||
echo "CONFIG_LIBJACK=y" >> $config_host_mak
|
|
||||||
fi
|
|
||||||
|
@ -1,34 +1,41 @@
|
|||||||
$OpenBSD: patch-meson_build,v 1.2 2021/09/03 23:04:49 sthen Exp $
|
$OpenBSD: patch-meson_build,v 1.3 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
- Fix curses build on OpenBSD
|
|
||||||
- sndio module
|
- sndio module
|
||||||
- Remove hardcoding of optimization
|
- Remove hardcoding of optimization
|
||||||
|
|
||||||
Index: meson.build
|
Index: meson.build
|
||||||
--- meson.build.orig
|
--- meson.build.orig
|
||||||
+++ meson.build
|
+++ meson.build
|
||||||
@@ -441,6 +441,11 @@ jack = not_found
|
@@ -554,6 +554,11 @@ if not get_option('jack').auto() or have_system
|
||||||
if 'CONFIG_LIBJACK' in config_host
|
jack = dependency('jack', required: get_option('jack'),
|
||||||
jack = declare_dependency(link_args: config_host['JACK_LIBS'].split())
|
method: 'pkg-config', kwargs: static_kwargs)
|
||||||
endif
|
endif
|
||||||
+sndio = not_found
|
+sndio = not_found
|
||||||
+if 'CONFIG_SNDIO' in config_host
|
+if not get_option('sndio').auto() or have_system
|
||||||
+ sndio = declare_dependency(compile_args: config_host['SNDIO_CFLAGS'].split(),
|
+ sndio = dependency('sndio', required: get_option('sndio'),
|
||||||
+ link_args: config_host['SNDIO_LIBS'].split())
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
||||||
+endif
|
+endif
|
||||||
spice = not_found
|
|
||||||
spice_headers = not_found
|
|
||||||
spice_protocol = not_found
|
spice_protocol = not_found
|
||||||
@@ -596,7 +601,7 @@ if have_system and not get_option('curses').disabled()
|
if not get_option('spice_protocol').auto() or have_system
|
||||||
endif
|
@@ -1311,6 +1316,7 @@ if have_system
|
||||||
endforeach
|
'oss': oss.found(),
|
||||||
msg = get_option('curses').enabled() ? 'curses library not found' : ''
|
'pa': pulse.found(),
|
||||||
- curses_compile_args = ['-DNCURSES_WIDECHAR']
|
'sdl': sdl.found(),
|
||||||
+ curses_compile_args = ['-D_XOPEN_SOURCE_EXTENDED -DNCURSES_WIDECHAR']
|
+ 'sndio': sndio.found(),
|
||||||
if curses.found()
|
}
|
||||||
if cc.links(curses_test, args: curses_compile_args, dependencies: [curses])
|
foreach k, v: audio_drivers_available
|
||||||
curses = declare_dependency(compile_args: curses_compile_args, dependencies: [curses])
|
config_host_data.set('CONFIG_AUDIO_' + k.to_upper(), v)
|
||||||
@@ -2907,11 +2912,9 @@ if targetos == 'windows'
|
@@ -1318,7 +1324,7 @@ if have_system
|
||||||
|
|
||||||
|
# Default to native drivers first, OSS second, SDL third
|
||||||
|
audio_drivers_priority = \
|
||||||
|
- [ 'pa', 'coreaudio', 'dsound', 'oss' ] + \
|
||||||
|
+ [ 'pa', 'coreaudio', 'dsound', 'sndio', 'oss' ] + \
|
||||||
|
(targetos == 'linux' ? [] : [ 'sdl' ])
|
||||||
|
audio_drivers_default = []
|
||||||
|
foreach k: audio_drivers_priority
|
||||||
|
@@ -3234,11 +3240,9 @@ if targetos == 'windows'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
summary_info += {'CFLAGS': ' '.join(get_option('c_args')
|
summary_info += {'CFLAGS': ' '.join(get_option('c_args')
|
||||||
@ -40,3 +47,11 @@ Index: meson.build
|
|||||||
+ (get_option('debug') ? ['-g'] : []))}
|
+ (get_option('debug') ? ['-g'] : []))}
|
||||||
endif
|
endif
|
||||||
link_args = get_option(link_language + '_link_args')
|
link_args = get_option(link_language + '_link_args')
|
||||||
|
@@ -3385,6 +3389,7 @@ if vnc.found()
|
||||||
|
endif
|
||||||
|
if targetos not in ['darwin', 'haiku', 'windows']
|
||||||
|
summary_info += {'OSS support': oss}
|
||||||
|
+ summary_info += {'sndio support': sndio}
|
||||||
|
elif targetos == 'darwin'
|
||||||
|
summary_info += {'CoreAudio support': coreaudio}
|
||||||
|
elif targetos == 'windows'
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
$OpenBSD: patch-meson_mesonbuild_compilers_cpp_py,v 1.1 2021/05/02 08:15:19 landry Exp $
|
$OpenBSD: patch-meson_mesonbuild_compilers_cpp_py,v 1.2 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
Index: meson/mesonbuild/compilers/cpp.py
|
Index: meson/mesonbuild/compilers/cpp.py
|
||||||
--- meson/mesonbuild/compilers/cpp.py.orig
|
--- meson/mesonbuild/compilers/cpp.py.orig
|
||||||
+++ meson/mesonbuild/compilers/cpp.py
|
+++ meson/mesonbuild/compilers/cpp.py
|
||||||
@@ -210,7 +210,7 @@ class ClangCPPCompiler(ClangCompiler, CPPCompiler):
|
@@ -247,7 +247,7 @@ class ClangCPPCompiler(ClangCompiler, CPPCompiler):
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def language_stdlib_only_link_flags(self):
|
def language_stdlib_only_link_flags(self) -> T.List[str]:
|
||||||
- return ['-lstdc++']
|
- return ['-lstdc++']
|
||||||
+ return ['-lc++']
|
+ return ['-lc++']
|
||||||
|
|
||||||
|
|
||||||
class AppleClangCPPCompiler(ClangCPPCompiler):
|
class AppleClangCPPCompiler(ClangCPPCompiler):
|
||||||
@@ -346,7 +346,7 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
|
@@ -397,7 +397,7 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
|
||||||
return ['-fpch-preprocess', '-include', os.path.basename(header)]
|
return ['-fpch-preprocess', '-include', os.path.basename(header)]
|
||||||
|
|
||||||
def language_stdlib_only_link_flags(self):
|
def language_stdlib_only_link_flags(self) -> T.List[str]:
|
||||||
- return ['-lstdc++']
|
- return ['-lstdc++']
|
||||||
+ return ['-lestdc++']
|
+ return ['-lestdc++']
|
||||||
|
|
||||||
|
25
emulators/qemu/patches/patch-meson_options_txt
Normal file
25
emulators/qemu/patches/patch-meson_options_txt
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
$OpenBSD: patch-meson_options_txt,v 1.1 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
|
sndio module
|
||||||
|
|
||||||
|
Index: meson_options.txt
|
||||||
|
--- meson_options.txt.orig
|
||||||
|
+++ meson_options.txt
|
||||||
|
@@ -13,7 +13,7 @@ option('sphinx_build', type : 'string', value : '',
|
||||||
|
option('default_devices', type : 'boolean', value : true,
|
||||||
|
description: 'Include a default selection of devices in emulators')
|
||||||
|
option('audio_drv_list', type: 'array', value: ['default'],
|
||||||
|
- choices: ['alsa', 'coreaudio', 'default', 'dsound', 'jack', 'oss', 'pa', 'sdl'],
|
||||||
|
+ choices: ['alsa', 'coreaudio', 'default', 'dsound', 'jack', 'oss', 'pa', 'sdl', 'sndio'],
|
||||||
|
description: 'Set audio driver list')
|
||||||
|
option('fuzzing_engine', type : 'string', value : '',
|
||||||
|
description: 'fuzzing engine library for OSS-Fuzz')
|
||||||
|
@@ -184,6 +184,8 @@ option('oss', type: 'feature', value: 'auto',
|
||||||
|
description: 'OSS sound support')
|
||||||
|
option('pa', type: 'feature', value: 'auto',
|
||||||
|
description: 'PulseAudio sound support')
|
||||||
|
+option('sndio', type: 'feature', value: 'auto',
|
||||||
|
+ description: 'sndio sound support')
|
||||||
|
|
||||||
|
option('vhost_user_blk_server', type: 'feature', value: 'auto',
|
||||||
|
description: 'build vhost-user-blk server')
|
@ -1,4 +1,6 @@
|
|||||||
$OpenBSD: patch-qapi_audio_json,v 1.5 2021/05/02 08:15:19 landry Exp $
|
$OpenBSD: patch-qapi_audio_json,v 1.6 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
|
sndio module
|
||||||
|
|
||||||
Index: qapi/audio.json
|
Index: qapi/audio.json
|
||||||
--- qapi/audio.json.orig
|
--- qapi/audio.json.orig
|
||||||
@ -19,7 +21,7 @@ Index: qapi/audio.json
|
|||||||
+#
|
+#
|
||||||
+# @latency: play buffer size (in microseconds)
|
+# @latency: play buffer size (in microseconds)
|
||||||
+#
|
+#
|
||||||
+# Since: 5.0
|
+# Since: 7.0
|
||||||
+##
|
+##
|
||||||
+{ 'struct': 'AudiodevSndioOptions',
|
+{ 'struct': 'AudiodevSndioOptions',
|
||||||
+ 'data': {
|
+ 'data': {
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
$OpenBSD: patch-qemu-options_hx,v 1.9 2021/09/03 23:04:49 sthen Exp $
|
$OpenBSD: patch-qemu-options_hx,v 1.10 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
|
sndio module
|
||||||
|
|
||||||
Index: qemu-options.hx
|
Index: qemu-options.hx
|
||||||
--- qemu-options.hx.orig
|
--- qemu-options.hx.orig
|
||||||
+++ qemu-options.hx
|
+++ qemu-options.hx
|
||||||
@@ -643,6 +643,9 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
|
@@ -657,6 +657,9 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
|
||||||
"-audiodev sdl,id=id[,prop[=value][,...]]\n"
|
"-audiodev sdl,id=id[,prop[=value][,...]]\n"
|
||||||
" in|out.buffer-count= number of buffers\n"
|
" in|out.buffer-count= number of buffers\n"
|
||||||
#endif
|
#endif
|
||||||
@ -13,15 +15,23 @@ Index: qemu-options.hx
|
|||||||
#ifdef CONFIG_SPICE
|
#ifdef CONFIG_SPICE
|
||||||
"-audiodev spice,id=id[,prop[=value][,...]]\n"
|
"-audiodev spice,id=id[,prop[=value][,...]]\n"
|
||||||
#endif
|
#endif
|
||||||
@@ -805,6 +808,11 @@ SRST
|
@@ -819,6 +822,19 @@ SRST
|
||||||
|
|
||||||
``in|out.buffer-count=count``
|
``in|out.buffer-count=count``
|
||||||
Sets the count of the buffers.
|
Sets the count of the buffers.
|
||||||
+
|
+
|
||||||
+``-audiodev sndio,id=id[,prop[=value][,...]]``
|
+``-audiodev sndio,id=id[,prop[=value][,...]]``
|
||||||
+ Creates a backend using SNDIO. This backend is available on
|
+ Creates a backend using SNDIO. This backend is available on
|
||||||
+ OpenBSD and most other Unix-like systems. This backend has no
|
+ OpenBSD and most other Unix-like systems.
|
||||||
+ backend specific properties.
|
+
|
||||||
|
+ Sndio specific options are:
|
||||||
|
+
|
||||||
|
+ ``in|out.dev=device``
|
||||||
|
+ Specify the sndio device to use for input and/or output. Default
|
||||||
|
+ is ``default``.
|
||||||
|
+
|
||||||
|
+ ``in|out.latency=usecs``
|
||||||
|
+ Sets the desired period length in microseconds.
|
||||||
|
|
||||||
``-audiodev spice,id=id[,prop[=value][,...]]``
|
``-audiodev spice,id=id[,prop[=value][,...]]``
|
||||||
Creates a backend that sends audio through SPICE. This backend
|
Creates a backend that sends audio through SPICE. This backend
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
$OpenBSD: patch-tcg_ppc_tcg-target_c_inc,v 1.2 2021/07/16 17:54:16 sthen Exp $
|
|
||||||
|
|
||||||
tcg/ppc: Ensure _CALL_SYSV is set for 32-bit ELF
|
|
||||||
|
|
||||||
Clang only sets _CALL_ELF for ppc64, and nothing at all to specify
|
|
||||||
the ABI for ppc32. Make a good guess based on other symbols.
|
|
||||||
|
|
||||||
Index: tcg/ppc/tcg-target.c.inc
|
|
||||||
--- tcg/ppc/tcg-target.c.inc.orig
|
|
||||||
+++ tcg/ppc/tcg-target.c.inc
|
|
||||||
@@ -25,9 +25,24 @@
|
|
||||||
#include "elf.h"
|
|
||||||
#include "../tcg-pool.c.inc"
|
|
||||||
|
|
||||||
-#if defined _CALL_DARWIN || defined __APPLE__
|
|
||||||
-#define TCG_TARGET_CALL_DARWIN
|
|
||||||
+/*
|
|
||||||
+ * Standardize on the _CALL_FOO symbols used by GCC:
|
|
||||||
+ * Apple XCode does not define _CALL_DARWIN.
|
|
||||||
+ * Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV (32-bit).
|
|
||||||
+ */
|
|
||||||
+#if !defined(_CALL_SYSV) && \
|
|
||||||
+ !defined(_CALL_DARWIN) && \
|
|
||||||
+ !defined(_CALL_AIX) && \
|
|
||||||
+ !defined(_CALL_ELF)
|
|
||||||
+# if defined(__APPLE__)
|
|
||||||
+# define _CALL_DARWIN
|
|
||||||
+# elif defined(__ELF__) && TCG_TARGET_REG_BITS == 32
|
|
||||||
+# define _CALL_SYSV
|
|
||||||
+# else
|
|
||||||
+# error "Unknown ABI"
|
|
||||||
+# endif
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
#ifdef _CALL_SYSV
|
|
||||||
# define TCG_TARGET_CALL_ALIGN_ARGS 1
|
|
||||||
#endif
|
|
@ -1,4 +1,4 @@
|
|||||||
@comment $OpenBSD: PLIST-main,v 1.5 2021/09/18 11:06:41 sthen Exp $
|
@comment $OpenBSD: PLIST-main,v 1.6 2021/12/24 03:50:41 daniel Exp $
|
||||||
@pkgpath emulators/qemu
|
@pkgpath emulators/qemu
|
||||||
@bin bin/elf2dmp
|
@bin bin/elf2dmp
|
||||||
@bin bin/qemu-edid
|
@bin bin/qemu-edid
|
||||||
@ -74,6 +74,7 @@ share/doc/qemu/_static/css/fonts/lato-normal-italic.woff2
|
|||||||
share/doc/qemu/_static/css/fonts/lato-normal.woff
|
share/doc/qemu/_static/css/fonts/lato-normal.woff
|
||||||
share/doc/qemu/_static/css/fonts/lato-normal.woff2
|
share/doc/qemu/_static/css/fonts/lato-normal.woff2
|
||||||
share/doc/qemu/_static/css/theme.css
|
share/doc/qemu/_static/css/theme.css
|
||||||
|
share/doc/qemu/_static/custom.js
|
||||||
share/doc/qemu/_static/doctools.js
|
share/doc/qemu/_static/doctools.js
|
||||||
share/doc/qemu/_static/documentation_options.js
|
share/doc/qemu/_static/documentation_options.js
|
||||||
share/doc/qemu/_static/file.png
|
share/doc/qemu/_static/file.png
|
||||||
@ -128,14 +129,17 @@ share/doc/qemu/devel/s390-dasd-ipl.html
|
|||||||
share/doc/qemu/devel/secure-coding-practices.html
|
share/doc/qemu/devel/secure-coding-practices.html
|
||||||
share/doc/qemu/devel/stable-process.html
|
share/doc/qemu/devel/stable-process.html
|
||||||
share/doc/qemu/devel/style.html
|
share/doc/qemu/devel/style.html
|
||||||
|
share/doc/qemu/devel/submitting-a-patch.html
|
||||||
|
share/doc/qemu/devel/submitting-a-pull-request.html
|
||||||
share/doc/qemu/devel/tcg-icount.html
|
share/doc/qemu/devel/tcg-icount.html
|
||||||
share/doc/qemu/devel/tcg-plugins.html
|
share/doc/qemu/devel/tcg-plugins.html
|
||||||
share/doc/qemu/devel/tcg.html
|
share/doc/qemu/devel/tcg.html
|
||||||
share/doc/qemu/devel/testing.html
|
share/doc/qemu/devel/testing.html
|
||||||
share/doc/qemu/devel/tracing.html
|
share/doc/qemu/devel/tracing.html
|
||||||
|
share/doc/qemu/devel/trivial-patches.html
|
||||||
share/doc/qemu/devel/ui.html
|
share/doc/qemu/devel/ui.html
|
||||||
share/doc/qemu/devel/vfio-migration.html
|
share/doc/qemu/devel/vfio-migration.html
|
||||||
share/doc/qemu/devel/writing-qmp-commands.html
|
share/doc/qemu/devel/writing-monitor-commands.html
|
||||||
share/doc/qemu/genindex.html
|
share/doc/qemu/genindex.html
|
||||||
share/doc/qemu/index.html
|
share/doc/qemu/index.html
|
||||||
share/doc/qemu/interop/
|
share/doc/qemu/interop/
|
||||||
@ -155,8 +159,12 @@ share/doc/qemu/objects.inv
|
|||||||
share/doc/qemu/search.html
|
share/doc/qemu/search.html
|
||||||
share/doc/qemu/searchindex.js
|
share/doc/qemu/searchindex.js
|
||||||
share/doc/qemu/specs/
|
share/doc/qemu/specs/
|
||||||
|
share/doc/qemu/specs/acpi_cpu_hotplug.html
|
||||||
share/doc/qemu/specs/acpi_hest_ghes.html
|
share/doc/qemu/specs/acpi_hest_ghes.html
|
||||||
share/doc/qemu/specs/acpi_hw_reduced_hotplug.html
|
share/doc/qemu/specs/acpi_hw_reduced_hotplug.html
|
||||||
|
share/doc/qemu/specs/acpi_mem_hotplug.html
|
||||||
|
share/doc/qemu/specs/acpi_nvdimm.html
|
||||||
|
share/doc/qemu/specs/acpi_pci_hotplug.html
|
||||||
share/doc/qemu/specs/index.html
|
share/doc/qemu/specs/index.html
|
||||||
share/doc/qemu/specs/ppc-spapr-numa.html
|
share/doc/qemu/specs/ppc-spapr-numa.html
|
||||||
share/doc/qemu/specs/ppc-spapr-xive.html
|
share/doc/qemu/specs/ppc-spapr-xive.html
|
||||||
@ -207,14 +215,18 @@ share/doc/qemu/system/devices/ivshmem.html
|
|||||||
share/doc/qemu/system/devices/net.html
|
share/doc/qemu/system/devices/net.html
|
||||||
share/doc/qemu/system/devices/nvme.html
|
share/doc/qemu/system/devices/nvme.html
|
||||||
share/doc/qemu/system/devices/usb.html
|
share/doc/qemu/system/devices/usb.html
|
||||||
|
share/doc/qemu/system/devices/vhost-user-rng.html
|
||||||
share/doc/qemu/system/devices/vhost-user.html
|
share/doc/qemu/system/devices/vhost-user.html
|
||||||
share/doc/qemu/system/devices/virtio-pmem.html
|
share/doc/qemu/system/devices/virtio-pmem.html
|
||||||
share/doc/qemu/system/gdb.html
|
share/doc/qemu/system/gdb.html
|
||||||
share/doc/qemu/system/generic-loader.html
|
share/doc/qemu/system/generic-loader.html
|
||||||
share/doc/qemu/system/guest-loader.html
|
share/doc/qemu/system/guest-loader.html
|
||||||
share/doc/qemu/system/i386/
|
share/doc/qemu/system/i386/
|
||||||
|
share/doc/qemu/system/i386/cpu.html
|
||||||
|
share/doc/qemu/system/i386/kvm-pv.html
|
||||||
share/doc/qemu/system/i386/microvm.html
|
share/doc/qemu/system/i386/microvm.html
|
||||||
share/doc/qemu/system/i386/pc.html
|
share/doc/qemu/system/i386/pc.html
|
||||||
|
share/doc/qemu/system/i386/sgx.html
|
||||||
share/doc/qemu/system/images.html
|
share/doc/qemu/system/images.html
|
||||||
share/doc/qemu/system/index.html
|
share/doc/qemu/system/index.html
|
||||||
share/doc/qemu/system/invocation.html
|
share/doc/qemu/system/invocation.html
|
||||||
@ -381,6 +393,7 @@ share/qemu/kvmvapic.bin
|
|||||||
share/qemu/linuxboot.bin
|
share/qemu/linuxboot.bin
|
||||||
share/qemu/linuxboot_dma.bin
|
share/qemu/linuxboot_dma.bin
|
||||||
share/qemu/multiboot.bin
|
share/qemu/multiboot.bin
|
||||||
|
share/qemu/multiboot_dma.bin
|
||||||
share/qemu/npcm7xx_bootrom.bin
|
share/qemu/npcm7xx_bootrom.bin
|
||||||
share/qemu/openbios-ppc
|
share/qemu/openbios-ppc
|
||||||
share/qemu/openbios-sparc32
|
share/qemu/openbios-sparc32
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$OpenBSD: README-main,v 1.1 2021/02/28 18:38:41 landry Exp $
|
$OpenBSD: README-main,v 1.2 2021/12/24 03:50:41 daniel Exp $
|
||||||
|
|
||||||
+-----------------------------------------------------------------------
|
+-----------------------------------------------------------------------
|
||||||
| Running ${PKGSTEM} on OpenBSD
|
| Running ${PKGSTEM} on OpenBSD
|
||||||
@ -8,13 +8,13 @@ $OpenBSD: README-main,v 1.1 2021/02/28 18:38:41 landry Exp $
|
|||||||
|
|
||||||
1. Get a bootable CDROM image:
|
1. Get a bootable CDROM image:
|
||||||
|
|
||||||
$ ftp ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/i386/cd52.iso
|
$ ftp https://cdn.openbsd.org/pub/OpenBSD/snapshots/i386/cd70.iso
|
||||||
|
|
||||||
or to use a 64-bit client OS or SPARC, respectively:
|
or to use a 64-bit client OS or SPARC, respectively:
|
||||||
|
|
||||||
$ ftp ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/amd64/cd52.iso
|
$ ftp https://cdn.openbsd.org/pub/OpenBSD/snapshots/amd64/cd70.iso
|
||||||
|
|
||||||
$ ftp ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/sparc/cd52.iso
|
$ ftp https://cdn.openbsd.org/pub/OpenBSD/snapshots/sparc/cd70.iso
|
||||||
|
|
||||||
2. Create a virtual disk image:
|
2. Create a virtual disk image:
|
||||||
|
|
||||||
@ -23,15 +23,15 @@ $OpenBSD: README-main,v 1.1 2021/02/28 18:38:41 landry Exp $
|
|||||||
3. Install the OS:
|
3. Install the OS:
|
||||||
|
|
||||||
$ qemu-system-i386 -m 32 -monitor stdio -no-fd-bootchk \
|
$ qemu-system-i386 -m 32 -monitor stdio -no-fd-bootchk \
|
||||||
-hda virtual.img -cdrom cd52.iso -boot d
|
-hda virtual.img -cdrom cd70.iso -boot d
|
||||||
|
|
||||||
or:
|
or:
|
||||||
|
|
||||||
$ qemu-system-x86_64 -m 32 -monitor stdio -no-fd-bootchk \
|
$ qemu-system-x86_64 -m 32 -monitor stdio -no-fd-bootchk \
|
||||||
-hda virtual.img -cdrom cd52.iso -boot d
|
-hda virtual.img -cdrom cd70.iso -boot d
|
||||||
|
|
||||||
$ qemu-system-sparc -m 32 -monitor stdio \
|
$ qemu-system-sparc -m 32 -monitor stdio \
|
||||||
-hda virtual.img -cdrom cd52.iso -boot d
|
-hda virtual.img -cdrom cd70.iso -boot d
|
||||||
|
|
||||||
NOTE: start this inside an xterm or equivalent.
|
NOTE: start this inside an xterm or equivalent.
|
||||||
NOTE: be sure to choose serial console during install.
|
NOTE: be sure to choose serial console during install.
|
||||||
|
Loading…
Reference in New Issue
Block a user