1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Fast CPU emulator and virtualizer for x86 platform
9 HOMEPAGE= https://www.qemu.org/
13 SITES[main]= https://download.qemu.org/
14 DISTFILE[1]= qemu-7.2.0.tar.xz:main
16 SPKGS[standard]= complete
21 OPTIONS_AVAILABLE= none
22 OPTIONS_STANDARD= none
24 BUILD_DEPENDS= gnutls:dev:standard
26 python-Sphinx:single:python_used
27 python-sphinx-rtd-theme:single:python_used
28 texi2html:primary:standard
29 BUILDRUN_DEPENDS= cyrus-sasl:primary:standard
30 gnutls:primary:standard
31 libepoxy:single:standard
32 nettle:primary:standard
33 snappy:single:standard
36 USES= cpe gmake pkgconfig bison perl:build python:build
37 jpeg png mesa ncurses makeinfo ninja curl fontconfig
39 GNOME_COMPONENTS= gdkpixbuf gtk2 vte
40 SDL_COMPONENTS= sdl2 image2
41 XORG_COMPONENTS= x11 xext
43 LICENSE= GPLv2:primary
44 LICENSE_TERMS= primary:{{WRKSRC}}/LICENSE
45 LICENSE_FILE= GPLv2:{{WRKSRC}}/COPYING
48 FPC_EQUIVALENT= emulators/qemu
51 CONFIGURE_ARGS= --disable-usb-redir
52 --disable-stack-protector
62 --python={{PYTHON_CMD}}
65 BUILD_WRKSRC= {{WRKSRC}}/build
66 MAKE_ENV= BSD_MAKE="{{MAKE}}"
69 INSTALL_WRKSRC= {{WRKSRC}}/build
70 PLIST_SUB= JQUERY=3.6.0
74 CFLAGS= -I{{NCURSESBASE}}/include/ncursesw
75 VAR_OPSYS[freebsd]= CONFIGURE_ARGS=--enable-netmap
76 CONFIGURE_ARGS=--disable-linux-user
77 CONFIGURE_ARGS=--disable-linux-aio
78 VAR_OPSYS[linux]= CONFIGURE_ARGS=--disable-netmap
79 CONFIGURE_ARGS=--disable-linux-user
80 VAR_OPSYS[dragonfly]= CONFIGURE_ARGS=--disable-netmap
81 CONFIGURE_ARGS=--disable-linux-user
82 CONFIGURE_ARGS=--disable-linux-aio
85 # silence some include warnings
86 ${MKDIR} ${WRKSRC}/bsd-user/dragonfly
89 ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample \
90 ${STAGEDIR}${PREFIX}/etc
91 ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample \
92 ${STAGEDIR}${PREFIX}/etc
93 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-*
94 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/elf2dmp
95 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/share/qemu/palcode-clipper
96 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/share/qemu/hppa-firmware.img
97 (cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${STD_DOCDIR}/)
98 # remove sphinx leftovers
99 ${RM} -r ${STAGEDIR}${STD_DOCDIR}/docs/sphinx
100 # remove empty directories
101 ${RM} -r ${STAGEDIR}/var
103 pre-configure-dragonfly:
104 # On dragonfly, userland programs can't include <sys/disk.h>
105 ${REINPLACE_CMD} -e 's|sys/disk\.h|sys/skipdisk.h|' \
106 ${WRKSRC}/meson.build
108 [FILE:782:descriptions/desc.primary]
109 QEMU is a fast processor emulator using dynamic translation to achieve
110 good emulation speed. QEMU has two operating modes:
112 * Full system emulation. In this mode, QEMU emulates a full system (for
113 example a PC), including a processor and various peripherials. It can
114 be used to launch different Operating Systems without rebooting the PC
115 or to debug system code.
116 * User mode emulation (Linux host only). In this mode, QEMU can launch
117 Linux processes compiled for one CPU on another CPU. It can be used to
118 launch the Wine Windows API emulator or to ease cross-compilation and
121 As QEMU requires no host kernel patches to run, it is safe and easy to use.
123 See also the preconfigured system images on http://oszoo.org/
124 Many live cd isos also work.
128 5b49ce2687744dad494ae90a898c52204a3406e84d072482a1e1be854eeb2157 122408576 qemu-7.2.0.tar.xz
131 [FILE:3355:manifests/plist.primary]
132 @sample etc/qemu-ifdown.sample
133 @sample etc/qemu-ifup.sample
134 %%MAN%%share/man/man1/
136 qemu-storage-daemon.1.gz
138 %%MAN%%share/man/man7/
139 qemu-block-drivers.7.gz
142 qemu-storage-daemon-qmp-ref.7.gz
143 %%MAN%%share/man/man8/
146 %%ONLY-FREEBSD%%%%MAN%%share/man/man7/qemu-ga-ref.7.gz
147 %%ONLY-FREEBSD%%%%MAN%%share/man/man8/qemu-ga.8.gz
153 %%ONLY-LINUX%%%%MAN%%share/man/man7/qemu-ga-ref.7.gz
154 %%ONLY-LINUX%%%%MAN%%share/man/man8/qemu-ga.8.gz
158 %%ONLY-LINUX%%libexec/qemu-bridge-helper
173 qemu-system-loongarch64
175 qemu-system-microblaze
176 qemu-system-microblazeel
197 include/qemu-plugin.h
198 share/applications/qemu.desktop
199 share/icons/hicolor/128x128/apps/qemu.png
200 share/icons/hicolor/16x16/apps/qemu.png
201 share/icons/hicolor/24x24/apps/qemu.png
202 share/icons/hicolor/256x256/apps/qemu.png
203 share/icons/hicolor/32x32/apps/
206 share/icons/hicolor/48x48/apps/qemu.png
207 share/icons/hicolor/512x512/apps/qemu.png
208 share/icons/hicolor/64x64/apps/qemu.png
209 share/icons/hicolor/scalable/apps/qemu.svg
222 edk2-i386-secure-code.fd
226 edk2-x86_64-secure-code.fd
245 opensbi-riscv32-generic-fw_dynamic.bin
246 opensbi-riscv64-generic-fw_dynamic.bin
249 petalogix-s3adsp1800.dtb
266 u-boot-sam460-20100605.bin
269 vgabios-bochs-display.bin
280 50-edk2-i386-secure.json
281 50-edk2-x86_64-secure.json
323 [FILE:10388:manifests/plist.docs]
332 share/doc/qemu/_static/
333 _sphinx_javascript_frameworks_compat.js
337 documentation_options.js
349 share/doc/qemu/_static/css/
352 share/doc/qemu/_static/css/fonts/
353 Roboto-Slab-Bold.woff
354 Roboto-Slab-Bold.woff2
355 Roboto-Slab-Regular.woff
356 Roboto-Slab-Regular.woff2
357 fontawesome-webfont.eot
358 fontawesome-webfont.svg
359 fontawesome-webfont.ttf
360 fontawesome-webfont.woff
361 fontawesome-webfont.woff2
362 lato-bold-italic.woff
363 lato-bold-italic.woff2
366 lato-normal-italic.woff
367 lato-normal-italic.woff2
370 share/doc/qemu/_static/js/
372 html5shiv-printshiv.min.js
375 share/doc/qemu/about/
380 removed-features.html
381 share/doc/qemu/devel/
385 block-coroutine-wrapper.html
390 conflict-resolution.html
391 control-flow-integrity.html
408 multi-thread-tcg.html
416 secure-coding-practices.html
419 submitting-a-patch.html
420 submitting-a-pull-request.html
430 writing-monitor-commands.html
433 block-replication.txt
443 multi-thread-compression.txt
446 pci_expander_bridge.txt
453 qemu-option-trace.rst.inc
460 xen-save-devices-state.txt
461 share/doc/qemu/docs/_templates/footer.html
462 share/doc/qemu/docs/about/
468 share/doc/qemu/docs/config/
470 mach-virt-graphical.cfg
473 q35-virtio-graphical.cfg
474 q35-virtio-serial.cfg
475 share/doc/qemu/docs/devel/
481 block-coroutine-wrapper.rst
483 ci-definitions.rst.inc
489 conflict-resolution.rst
490 control-flow-integrity.rst
509 multiple-iothreads.txt
518 secure-coding-practices.rst
521 submitting-a-patch.rst
522 submitting-a-pull-request.rst
533 writing-monitor-commands.rst
534 share/doc/qemu/docs/interop/
542 live-block-operations.rst
552 qemu-storage-daemon-qmp-ref.rst
559 virtio-balloon-stats.rst
560 vnc-ledstate-Pseudo-encoding.txt
561 share/doc/qemu/docs/specs/
565 acpi_hw_reduced_hotplug.rst
577 ppc-spapr-hotplug.rst
579 ppc-spapr-uv-hcalls.rst
584 sev-guest-firmware.rst
591 share/doc/qemu/docs/sphinx-static/
594 share/doc/qemu/docs/spin/
596 aio_notify_accept.promela
597 aio_notify_bug.promela
598 tcg-exclusive.promela
599 win32-qemu-event.promela
600 share/doc/qemu/docs/system/
604 confidential-guest-support.rst
606 cpu-models-mips.rst.inc
607 cpu-models-x86-abi.csv
608 cpu-models-x86.rst.inc
610 device-url-syntax.rst.inc
626 qemu-block-drivers.rst
627 qemu-block-drivers.rst.inc
636 target-i386-desc.rst.inc
650 virtio-net-failover.rst
652 share/doc/qemu/docs/system/arm/
686 share/doc/qemu/docs/system/devices/
698 share/doc/qemu/docs/system/i386/
699 amd-memory-encryption.rst
706 share/doc/qemu/docs/system/loongarch/loongson3.rst
707 share/doc/qemu/docs/system/openrisc/
712 share/doc/qemu/docs/system/ppc/
719 share/doc/qemu/docs/system/riscv/
720 microchip-icicle-kit.rst
724 share/doc/qemu/docs/system/s390x/
731 share/doc/qemu/docs/tools/
736 qemu-storage-daemon.rst
738 virtfs-proxy-helper.rst
740 share/doc/qemu/docs/user/
743 share/doc/qemu/interop/
750 live-block-operations.html
755 qemu-storage-daemon-qmp-ref.html
759 virtio-balloon-stats.html
760 share/doc/qemu/specs/
761 acpi_cpu_hotplug.html
764 acpi_hw_reduced_hotplug.html
765 acpi_mem_hotplug.html
767 acpi_pci_hotplug.html
770 ppc-spapr-hcalls.html
771 ppc-spapr-hotplug.html
773 ppc-spapr-uv-hcalls.html
776 sev-guest-firmware.html
778 share/doc/qemu/system/
782 confidential-guest-support.html
784 device-emulation.html
798 qemu-block-drivers.html
820 virtio-net-failover.html
822 share/doc/qemu/system/arm/
854 xlnx-versal-virt.html
856 share/doc/qemu/system/devices/
868 share/doc/qemu/system/i386/
869 amd-memory-encryption.html
876 share/doc/qemu/system/loongarch/loongson3.html
877 share/doc/qemu/system/openrisc/
882 share/doc/qemu/system/ppc/
889 share/doc/qemu/system/riscv/
890 microchip-icicle-kit.html
894 share/doc/qemu/system/s390x/
901 share/doc/qemu/tools/
906 qemu-storage-daemon.html
908 virtfs-proxy-helper.html
915 [FILE:333:manifests/plist.nls]
916 share/locale/bg/LC_MESSAGES/qemu.mo
917 share/locale/de_DE/LC_MESSAGES/qemu.mo
918 share/locale/fr_FR/LC_MESSAGES/qemu.mo
919 share/locale/hu/LC_MESSAGES/qemu.mo
920 share/locale/it/LC_MESSAGES/qemu.mo
921 share/locale/sv/LC_MESSAGES/qemu.mo
922 share/locale/tr/LC_MESSAGES/qemu.mo
923 share/locale/uk/LC_MESSAGES/qemu.mo
924 share/locale/zh_CN/LC_MESSAGES/qemu.mo
927 [FILE:337:patches/patch-include_qemu_bswap.h]
928 --- include/qemu/bswap.h.orig 2022-12-14 16:28:45 UTC
929 +++ include/qemu/bswap.h
931 #ifdef CONFIG_MACHINE_BSWAP_H
932 # include <sys/endian.h>
933 # include <machine/bswap.h>
934 -#elif defined(__FreeBSD__)
935 +#elif defined(__FreeBSD__) || defined(__DragonFly__)
936 # include <sys/endian.h>
937 #elif defined(__HAIKU__)
941 [FILE:2368:patches/patch-meson.build]
942 --- meson.build.orig 2022-12-14 16:28:45 UTC
944 @@ -47,7 +47,7 @@ genh = []
945 qapi_trace_events = []
947 bsd_oses = ['gnu/kfreebsd', 'freebsd', 'netbsd', 'openbsd', 'dragonfly', 'darwin']
948 -supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux']
949 +supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux', 'dragonfly']
950 supported_cpus = ['ppc', 'ppc64', 's390x', 'riscv', 'x86', 'x86_64',
951 'arm', 'aarch64', 'loongarch64', 'mips', 'mips64', 'sparc64']
953 @@ -444,7 +444,7 @@ if get_option('hax').allowed()
954 accelerators += 'CONFIG_HAX'
957 -if targetos == 'netbsd'
958 +if targetos in [ 'netbsd', 'dragonfly' ]
959 nvmm = cc.find_library('nvmm', required: get_option('nvmm'))
961 accelerators += 'CONFIG_NVMM'
962 @@ -887,7 +887,7 @@ if have_system and get_option('curses').
966 - curses_dep_list = targetos == 'windows' ? ['ncurses', 'ncursesw'] : ['ncursesw']
967 + curses_dep_list = targetos == 'windows' ? ['ncurses', 'ncursesw'] : ['ncurses']
968 curses = dependency(curses_dep_list,
970 method: 'pkg-config',
971 @@ -910,15 +910,16 @@ if have_system and get_option('curses').
972 has_curses_h = cc.has_header('curses.h', args: curses_compile_args)
975 - curses_libname_list = (targetos == 'windows' ? ['pdcurses'] : ['ncursesw', 'cursesw'])
976 + libtinfo = cc.find_library('tinfo', required: false, static: enable_static)
977 + curses_libname_list = (targetos == 'windows' ? ['pdcurses'] : ['ncurses'])
978 foreach curses_libname : curses_libname_list
979 libcurses = cc.find_library(curses_libname,
981 kwargs: static_kwargs)
983 - if cc.links(curses_test, args: curses_compile_args, dependencies: libcurses)
984 + if cc.links(curses_test, args: curses_compile_args, dependencies: [libncurses,libtinfo])
985 curses = declare_dependency(compile_args: curses_compile_args,
986 - dependencies: [libcurses])
987 + dependencies: [libncurses, libtinfo])
990 msg = 'curses library not usable'
993 [FILE:454:patches/patch-net_tap-bsd.c]
994 --- net/tap-bsd.c.orig 2022-12-14 16:28:45 UTC
998 #if defined(__NetBSD__) || defined(__FreeBSD__)
999 #include <sys/ioctl.h>
1000 +#include <sys/socket.h>
1002 #include <net/if_tap.h>
1004 +#if defined(__DragonFly)
1005 +#include <sys/ioctl.h>
1006 +#include <sys/socket.h>
1007 +#include <net/if.h>
1008 +#include <net/tap/if_tap.h>
1012 int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
1015 [FILE:314:patches/patch-util_getauxval.c]
1016 --- util/getauxval.c.orig 2022-12-14 16:28:44 UTC
1017 +++ util/getauxval.c
1018 @@ -98,7 +98,7 @@ unsigned long qemu_getauxval(unsigned lo
1022 -#elif defined(__FreeBSD__)
1023 +#elif defined(__FreeBSD__) && __FreeBSD_version__ > 1200001
1024 #include <sys/auxv.h>
1026 unsigned long qemu_getauxval(unsigned long type)
1029 [FILE:7685:files/pkg-message-single]
1033 - Needs to set net.link.tap.user_open sysctl in order to use /dev/tap*
1034 networking as non-root. Don't forget to adjust device node permissions in
1037 - slirp (usermode networking) is fixed now in cvs, on FreeSBIE 1.0 guests you
1038 still have to manually do: echo nameserver 10.0.2.3 >/etc/resolv.conf but
1039 i've been told that that's normal. (fixed on FreeSBIE 1.1.) And you have
1040 to wait a bit for dhclient to do its thing; traffic to address 10.0.2.2 is
1041 routed to 127.1 on the host.
1043 - Expect timer problems when guest kernel HZ is > hosts, for example time
1044 sleep 1 takes 49 seconds and booting sleeps for minutes at the acd0 probe
1045 with a FreeSBIE 1.0 guest, thats because its kernel is built with HZ=5000,
1046 and FreeBSD's default is 100... (no longer a problem with FreeSBIE 1.1.)
1047 The linux 2.6 kernel uses 1000 by default btw. (changed to 250 later, and
1048 recent linux kernels now no longer have a fixed HZ, aka `tickless
1049 kernel'...) Enabling /dev/rtc doesn't seem to help either (not included
1050 since it needs a patch to emulators/rtc.)
1052 - Update: the above problem has gotten worse with FreeBSD guests
1053 somewhere before 8.0, mainly since the kernel now usually wants
1054 double or even quadruple number of timer irqs compared to HZ if
1055 it detects an apic (and at least early versions of FreeBSD 8 had
1056 a bug that essentially halved qemu's clock rate too); the only
1057 reason you usually don't see symptoms of this with FreeBSD 8
1058 guests is they automatically reduce their HZ to 100 when running
1059 in a VM while the default for the host kernel is still HZ=1000.
1060 Workaround: you can disable the apic clock in the guest by setting
1062 hint.apic.0.clock="0"
1064 in loader.conf(5) (or manually at the loader prompt), if that
1065 doesn't work the only things you can do is either reduce the
1066 guest's HZ to, say, 100 by setting e.g.
1070 from the loader as above (which usually is a good idea in a VM
1071 anyway and FreeBSD 8 now does by itself as mentioned), or otherwise
1072 increase the host's HZ to 2000 or even 4000 from the loader in
1075 - The -smb option (smb-export local dir to guest using the default
1076 slirp networking) needs the samba port/package installed
1077 in addition to qemu. (SAMBA knob.)
1079 - If you want to use usb devices connected to the host in the guest
1080 yot need either recent 10-current (not tested yet much) or you can
1081 use usbredir over the network (see below); also unless you are
1082 running qemu as root you then need to fix permissions for /dev/ugen*
1083 device nodes: if you are on 5.x or later (devfs) put a rule in
1084 /etc/devfs.rules, activate it in /etc/rc.conf and run /etc/rc.d/devfs
1085 restart. Example devfs.rules:
1088 add path 'ugen*' mode 660 group operator
1090 corresponding rc.conf line:
1092 devfs_system_ruleset="ugen_ruleset"
1094 - If you want to test the new (in 0.15.0) usb network redirection (USBREDIR
1095 option) see this thread by Hans de Goede <hdegoede <at> redhat.com>:
1097 http://thread.gmane.org/gmane.comp.emulators.qemu/110176/focus=110183
1103 1) Start usbredirserver for a usb device:
1104 sudo usbredirserver 045e:0772
1105 2) Start qemu with usb2 support + a chardev talking to usbredirserver +
1106 a usb-redir device using this chardev:
1108 -readconfig docs/ich9-ehci-uhci.cfg \
1109 -chardev socket,id=usbredirchardev,host=localhost,port=4000 \
1110 -device usb-redir,chardev=usbredirchardev,id=usbredirdev ...
1112 [you would replace docs/ich9-ehci-uhci.cfg with e.g.
1113 /raven/share/doc/qemu/docs/ich9-ehci-uhci.cfg, but turns out
1114 ehci was broken for me here with FreeBSD guests and the previous
1115 qemu version at least, I got:
1117 FETCHENTRY: entry at 22C5484 is of type 2 which is not supported yet processing error - resetting ehci HC
1118 Assertion failed: (0), function ehci_advance_state, file /data/ports/emulators/qemu-devel/work/qemu-0.15.0/hw/usb-ehci.c, line 2045.
1120 The new qemu version works better tho.]
1122 - Still usb: since the hub is no longer attached to the uchi controller and
1123 the wakeup mechanism, resume interrupt is not implemented yet linux guests
1124 will suspend the bus, i.e. they wont see devices usb_add'ed after its
1125 (linux') uhci module got loaded. Workaround: either add devices before
1126 linux loads the module or rmmod and modprobe it afterwards. [Not sure
1127 if this still applies to the new libusb host code used on recent
1130 - If you build qemu wihout SDL and then get crashes running it try passing it
1131 -nographic. This should probably be default in that case...
1133 - qemu's network boot roms (-boot n) have a bug when bootfiles sizes are a
1134 multiple of blksize, if this affects you (like with FreeBSD's /boot/pxeboot)
1137 cp /boot/pxeboot pxeboot-qemu && chmod +w pxeboot-qemu && echo >>pxeboot-qemu
1139 and then use pxeboot-qemu. Actually you need recent btx code
1140 (from after 7.0 was released) because of the real mode boot
1141 problem, so use at least pxeboot from there. And I just did that
1142 for the pxeboot extracted out of
1144 ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200805/7.0-STABLE-200805-i386-bootonly.iso
1148 http://people.freebsd.org/~nox/qemu/pxeboot-qemu
1150 - If you use slirp (usernet, the default) and want to mount nfs into the guest
1151 and you are not running qemu as root, then mountd(8) on the exporting box
1152 needs to be run with -n in order to accept requests from ports >= 1024.
1154 - (not FreeBSD-specific:) There have been reports of qcow2 corruption with (at
1155 least) win2k guests on recent kvm (which uses similar qcow2 code than qemu
1156 now, see this thread:
1158 http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00713.html -
1160 the consensus on that thread seems to be that qcow(2) code has always been
1161 experimental and you should use raw images if you want reliability; raw is
1162 also usually faster.) You should be able to migrate existing images to raw
1163 using qemu-img(1)'s convert function; raw doesn't support advanced features
1164 like snapshots tho. [a few important qcow2 bugfixed have been committed in
1165 the meantime so this _might_ be less of an issue now; and meanwhile there
1166 also is the new qed format - I don't know how stable that one is.]
1168 - (also not FreeBSD-specific:) It is recommended to pass raw images using the
1169 new -drive syntax, specifying format=raw explicitly in order to avoid
1170 malicious guests being able to exploit the format autodetection thats
1171 otherwise getting used. (Not that you should run malicious guests anyway,
1172 but this eleminates at least a known attack vector.)
1174 - qemu now has improved physical cdrom support, but still there is at
1175 least one known problem: you need to have the guest eject the disc if you
1176 want to change it/take it out, or otherwise the guest may continue using
1177 state (like size) of the old disc. (You can also do like `change ide1-cd0
1178 /dev/acd0' in the monitor after taking out the disc if a guest cannot eject
1181 - The default configuration location (qemu-ifup script etc.) has been changed
1182 from /etc to PREFIX/etc (usually /raven/etc). Move your files accordingly.
1184 - The pcap code (-net nic... -net pcap,ifname=...) should work properly now,
1185 with only one exception: Advanced features like TSO used on the host
1186 interface can cause oversize packets which now do get truncated to avoid
1187 confusing/panicing guests but of course still will cause retransmissions.
1188 So if you see slow throughput and `pcap_send: packet size > ..., truncating'
1189 messages on qemu's tty try disabling TSO etc on the host interface at least
1193 [FILE:20:files/qemu-ifdown.sample]
1198 [FILE:20:files/qemu-ifup.sample]
1203 [FILE:323:dragonfly/patch-hw-ppc_newworld.c]
1204 --- hw/ppc/mac_newworld.c.orig 2022-12-14 16:28:45 UTC
1205 +++ hw/ppc/mac_newworld.c
1207 #include "hw/sysbus.h"
1210 +/* FreeBSD headers define this */
1215 #define MAX_IDE_BUS 2
1216 #define CFG_ADDR 0xf0000510
1217 #define TBFREQ (100UL * 1000UL * 1000UL)
1220 [FILE:334:dragonfly/patch-hw_ppc_mac__oldworld.c]
1221 --- hw/ppc/mac_oldworld.c.orig 2022-12-14 16:28:45 UTC
1222 +++ hw/ppc/mac_oldworld.c
1225 #define GRACKLE_BASE 0xfec00000
1227 +/* FreeBSD headers define this */
1232 static void fw_cfg_boot_set(void *opaque, const char *boot_device,
1237 [FILE:906:dragonfly/patch-util_coroutine-ucontext.c]
1238 --- util/coroutine-ucontext.c.orig 2022-12-14 16:28:45 UTC
1239 +++ util/coroutine-ucontext.c
1240 @@ -225,7 +225,15 @@ Coroutine *qemu_coroutine_new(void)
1241 2, arg.i[0], arg.i[1]);
1243 /* swapcontext() in, siglongjmp() back out */
1244 - if (!sigsetjmp(old_env, 0)) {
1245 + /* Save signal mask in this sigsetjmp, because makecontext on DragonFly
1246 + * leaves all signals blocked when entering the new context with
1248 + * Workaround this, by just having the signal mask restored by the
1249 + * siglongjmp that brings us back from qemu_coroutine_new().
1250 + * XXX Remove this workaround when the makecontext behaviour is fixed
1253 + if (!sigsetjmp(old_env, 1)) {
1254 start_switch_fiber_asan(COROUTINE_YIELD, &fake_stack_save, co->stack,
1256 start_switch_fiber_tsan(&fake_stack_save,