diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-09-26 19:49:08 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-09-26 19:49:08 +0100 |
commit | 31bc1d8481af414cfa2857f905e40f7d8e6d5b2e (patch) | |
tree | 4f7198397d7f32c8880490f69b91e5d50731e678 | |
parent | 2509dda283d438970028864dd89871bfe0263c3a (diff) | |
parent | 35deebb2327227d8c5f4816476befb06f6329de6 (diff) |
Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging
trivial patches for 2017-09-26
# gpg: Signature made Tue 26 Sep 2017 07:13:16 BST
# gpg: using RSA key 0x701B4F6B1A693E59
# gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>"
# gpg: aka "Michael Tokarev <mjt@corpit.ru>"
# gpg: aka "Michael Tokarev <mjt@debian.org>"
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044 65C5
# Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931 4B22 701B 4F6B 1A69 3E59
* remotes/mjt/tags/trivial-patches-fetch: (29 commits)
hw/isa/pc87312: Mark the device with user_creatable = false
Drop gld linker usage on SunOS
tests/boot-sector: Increase timeout to 600 seconds
nbd-client: Use correct macro parenthesization
hw/display/virtio-gpu: Put the virtio-gpu-device into the display category
osdep: Fix ROUND_UP(64-bit, 32-bit)
target/xtensa: Use the pre-defined MEMTXATTRS_UNSPECIFIED macro
trivial: Add missing "-m" parameter in docs/memory-hotplug.txt
chardev/baum: fix baum that releases brlapi twice
remove trailing whitespace from qemu-options.hx
hw/display/xenfb.c: Add trace_xenfb_key_event
aux-to-i2c-bridge: don't allow user to create one
util/qemu-thread-posix.c: Replace OS ifdefs with CONFIG_HAVE_SEM_TIMEDWAIT
MAINTAINERS: update docs/interop/ entries
MAINTAINERS: update docs/devel/ entries
MAINTAINERS: add missing Cryptography entry
MAINTAINERS: add missing entry for Generic Loader
MAINTAINERS: add missing AIO entry
MAINTAINERS: add missing entries for throttling infra
MAINTAINERS: add missing SSI entries
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | MAINTAINERS | 42 | ||||
-rw-r--r-- | chardev/baum.c | 1 | ||||
-rwxr-xr-x | configure | 17 | ||||
-rw-r--r-- | docs/memory-hotplug.txt | 2 | ||||
-rw-r--r-- | hw/display/trace-events | 1 | ||||
-rw-r--r-- | hw/display/virtio-gpu.c | 1 | ||||
-rw-r--r-- | hw/display/xenfb.c | 1 | ||||
-rw-r--r-- | hw/isa/pc87312.c | 2 | ||||
-rw-r--r-- | hw/misc/auxbus.c | 11 | ||||
-rw-r--r-- | hw/ppc/mac_newworld.c | 11 | ||||
-rw-r--r-- | hw/ppc/mac_oldworld.c | 11 | ||||
-rw-r--r-- | include/qemu/osdep.h | 6 | ||||
-rw-r--r-- | include/qemu/thread-posix.h | 2 | ||||
-rw-r--r-- | qemu-options.hx | 4 | ||||
-rw-r--r-- | target/xtensa/op_helper.c | 4 | ||||
-rw-r--r-- | tests/boot-sector.c | 4 | ||||
-rw-r--r-- | util/qemu-thread-posix.c | 10 |
17 files changed, 86 insertions, 44 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index ffcd25bf1f..932443df41 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -380,6 +380,7 @@ M: Peter Maydell <peter.maydell@linaro.org> L: qemu-arm@nongnu.org S: Maintained F: hw/char/pl011.c +F: include/hw/char/pl011.h F: hw/display/pl110* F: hw/dma/pl080.c F: hw/dma/pl330.c @@ -403,13 +404,15 @@ F: hw/intc/gic_internal.h F: hw/misc/a9scu.c F: hw/misc/arm11scu.c F: hw/timer/a9gtimer* -F: hw/timer/arm_* -F: include/hw/arm/arm.h +F: hw/timer/arm* +F: include/hw/arm/arm*.h F: include/hw/intc/arm* F: include/hw/misc/a9scu.h F: include/hw/misc/arm11scu.h F: include/hw/timer/a9gtimer.h F: include/hw/timer/arm_mptimer.h +F: include/hw/timer/armv7m_systick.h +F: tests/test-arm-mptimer.c Exynos M: Igor Mitsyanko <i.mitsyanko@gmail.com> @@ -512,6 +515,7 @@ M: Peter Maydell <peter.maydell@linaro.org> L: qemu-arm@nongnu.org S: Maintained F: hw/*/versatile* +F: hw/misc/arm_sysctl.c Xilinx Zynq M: Edgar E. Iglesias <edgar.iglesias@gmail.com> @@ -548,6 +552,7 @@ F: hw/char/stm32f2xx_usart.c F: hw/timer/stm32f2xx_timer.c F: hw/adc/* F: hw/ssi/stm32f2xx_spi.c +F: include/hw/*/stm32*.h Netduino 2 M: Alistair Francis <alistair@alistair23.me> @@ -925,6 +930,8 @@ F: include/hw/pci/* F: hw/misc/pci-testdev.c F: hw/pci/* F: hw/pci-bridge/* +F: docs/pci* +F: docs/specs/*pci* ACPI/SMBIOS M: Michael S. Tsirkin <mst@redhat.com> @@ -983,10 +990,13 @@ F: hw/scsi/lsi53c895a.c SSI M: Peter Crosthwaite <crosthwaite.peter@gmail.com> +M: Alistair Francis <alistair.francis@xilinx.com> S: Maintained F: hw/ssi/* F: hw/block/m25p80.c +F: include/hw/ssi/ssi.h X: hw/ssi/xilinx_* +F: tests/m25p80-test.c Xilinx SPI M: Alistair Francis <alistair.francis@xilinx.com> @@ -1029,6 +1039,7 @@ vhost M: Michael S. Tsirkin <mst@redhat.com> S: Supported F: hw/*/*vhost* +F: docs/interop/vhost-user.txt virtio M: Michael S. Tsirkin <mst@redhat.com> @@ -1126,6 +1137,7 @@ M: Dmitry Fleytman <dmitry@daynix.com> S: Maintained F: hw/net/vmxnet* F: hw/scsi/vmw_pvscsi* +F: tests/vmxnet3-test.c Rocker M: Jiri Pirko <jiri@resnulli.us> @@ -1156,6 +1168,7 @@ M: Alistair Francis <alistair.francis@xilinx.com> S: Maintained F: hw/core/generic-loader.c F: include/hw/core/generic-loader.h +F: docs/generic-loader.txt CHRP NVRAM M: Thomas Huth <thuth@redhat.com> @@ -1217,6 +1230,7 @@ F: util/aio-*.c F: block/io.c F: migration/block* F: include/block/aio.h +F: scripts/qemugdb/aio.py T: git git://github.com/stefanha/qemu.git block Block SCSI subsystem @@ -1257,7 +1271,7 @@ F: block/dirty-bitmap.c F: include/qemu/hbitmap.h F: include/block/dirty-bitmap.h F: tests/test-hbitmap.c -F: docs/bitmaps.md +F: docs/interop/bitmaps.rst T: git git://github.com/famz/qemu.git bitmaps T: git git://github.com/jnsnow/qemu.git bitmaps @@ -1426,7 +1440,7 @@ F: tests/test-qapi-*.c F: tests/test-qmp-*.c F: tests/test-visitor-serialization.c F: scripts/qapi* -F: docs/qapi* +F: docs/devel/qapi* T: git git://repo.or.cz/qemu/armbru.git qapi-next QAPI Schema @@ -1455,6 +1469,10 @@ QEMU Guest Agent M: Michael Roth <mdroth@linux.vnet.ibm.com> S: Maintained F: qga/ +F: qemu-ga.texi +F: scripts/qemu-guest-agent/ +F: tests/test-qga.c +F: docs/interop/qemu-ga-ref.texi T: git git://github.com/mdroth/qemu.git qga QOM @@ -1474,7 +1492,7 @@ M: Markus Armbruster <armbru@redhat.com> S: Supported F: qmp.c F: monitor.c -F: docs/*qmp-* +F: docs/devel/*qmp-* F: scripts/qmp/ F: tests/qmp-test.c T: git git://repo.or.cz/qemu/armbru.git qapi-next @@ -1505,7 +1523,7 @@ S: Maintained F: trace/ F: scripts/tracetool.py F: scripts/tracetool/ -F: docs/tracing.txt +F: docs/devel/tracing.txt T: git git://github.com/stefanha/qemu.git tracing TPM @@ -1528,7 +1546,7 @@ F: include/migration/ F: migration/ F: scripts/vmstate-static-checker.py F: tests/vmstate-static-checker-data/ -F: docs/migration.txt +F: docs/devel/migration.txt F: qapi/migration.json Seccomp @@ -1543,6 +1561,7 @@ S: Maintained F: crypto/ F: include/crypto/ F: tests/test-crypto-* +F: tests/benchmark-crypto-* F: qemu.sasl Coroutines @@ -1579,8 +1598,10 @@ M: Alberto Garcia <berto@igalia.com> S: Supported F: block/throttle-groups.c F: include/block/throttle-groups.h -F: include/qemu/throttle.h +F: include/qemu/throttle*.h F: util/throttle.c +F: docs/throttle.txt +F: tests/test-throttle.c L: qemu-block@nongnu.org UUID @@ -1836,7 +1857,7 @@ M: Denis V. Lunev <den@openvz.org> L: qemu-block@nongnu.org S: Supported F: block/parallels.c -F: docs/specs/parallels.txt +F: docs/interop/parallels.txt qed M: Stefan Hajnoczi <stefanha@redhat.com> @@ -1861,6 +1882,7 @@ M: Max Reitz <mreitz@redhat.com> L: qemu-block@nongnu.org S: Supported F: block/qcow2* +F: docs/interop/qcow2.txt qcow M: Kevin Wolf <kwolf@redhat.com> @@ -1923,5 +1945,5 @@ Documentation Build system architecture M: Daniel P. Berrange <berrange@redhat.com> S: Odd Fixes -F: docs/build-system.txt +F: docs/devel/build-system.txt diff --git a/chardev/baum.c b/chardev/baum.c index 302dd9666c..67fd783a59 100644 --- a/chardev/baum.c +++ b/chardev/baum.c @@ -643,6 +643,7 @@ static void baum_chr_open(Chardev *chr, error_setg(errp, "brlapi__openConnection: %s", brlapi_strerror(brlapi_error_location())); g_free(handle); + baum->brlapi = NULL; return; } baum->deferred_init = 0; @@ -746,7 +746,6 @@ SunOS) solaris="yes" make="${MAKE-gmake}" install="${INSTALL-ginstall}" - ld="gld" smbd="${SMBD-/usr/sfw/sbin/smbd}" if test -f /usr/include/sys/soundcard.h ; then audio_drv_list="oss" @@ -4229,7 +4228,6 @@ EOF fi # check for smartcard support -smartcard_cflags="" if test "$smartcard" != "no"; then if $pkg_config libcacard; then libcacard_cflags=$($pkg_config --cflags libcacard) @@ -4426,6 +4424,18 @@ if compile_prog "" "" ; then fi ########################################## +# check if we have sem_timedwait + +sem_timedwait=no +cat > $TMPC << EOF +#include <semaphore.h> +int main(void) { return sem_timedwait(0, 0); } +EOF +if compile_prog "" "" ; then + sem_timedwait=yes +fi + +########################################## # check if trace backend exists $python "$source_path/scripts/tracetool.py" "--backends=$trace_backends" --check-backends > /dev/null 2> /dev/null @@ -5679,6 +5689,9 @@ fi if test "$inotify1" = "yes" ; then echo "CONFIG_INOTIFY1=y" >> $config_host_mak fi +if test "$sem_timedwait" = "yes" ; then + echo "CONFIG_SEM_TIMEDWAIT=y" >> $config_host_mak +fi if test "$byteswap_h" = "yes" ; then echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak fi diff --git a/docs/memory-hotplug.txt b/docs/memory-hotplug.txt index 56bdd0a47b..d96397c1af 100644 --- a/docs/memory-hotplug.txt +++ b/docs/memory-hotplug.txt @@ -24,7 +24,7 @@ Where, For example, the following command-line: - qemu [...] 1G,slots=3,maxmem=4G + qemu [...] -m 1G,slots=3,maxmem=4G Creates a guest with 1GB of memory and three hotpluggable memory slots. The hotpluggable memory slots are empty when the guest is booted, so all diff --git a/hw/display/trace-events b/hw/display/trace-events index ed8cca0755..da498c1def 100644 --- a/hw/display/trace-events +++ b/hw/display/trace-events @@ -6,6 +6,7 @@ jazz_led_write(uint64_t addr, uint8_t new) "write addr=0x%"PRIx64": 0x%x" # hw/display/xenfb.c xenfb_mouse_event(void *opaque, int dx, int dy, int dz, int button_state, int abs_pointer_wanted) "%p x %d y %d z %d bs 0x%x abs %d" +xenfb_key_event(void *opaque, int scancode, int button_state) "%p scancode %d bs 0x%x" xenfb_input_connected(void *xendev, int abs_pointer_wanted) "%p abs %d" # hw/display/g364fb.c diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c index 3a8f1e1a2d..6b5f119d96 100644 --- a/hw/display/virtio-gpu.c +++ b/hw/display/virtio-gpu.c @@ -1321,6 +1321,7 @@ static void virtio_gpu_class_init(ObjectClass *klass, void *data) vdc->reset = virtio_gpu_reset; + set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories); dc->props = virtio_gpu_properties; dc->vmsd = &vmstate_virtio_gpu; dc->hotpluggable = false; diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c index df8b78f6f4..8e2547ac05 100644 --- a/hw/display/xenfb.c +++ b/hw/display/xenfb.c @@ -290,6 +290,7 @@ static void xenfb_key_event(void *opaque, int scancode) scancode |= 0x80; xenfb->extended = 0; } + trace_xenfb_key_event(opaque, scancode2linux[scancode], down); xenfb_send_key(xenfb, down, scancode2linux[scancode]); } diff --git a/hw/isa/pc87312.c b/hw/isa/pc87312.c index 5ce9f0a062..48b29e3c3c 100644 --- a/hw/isa/pc87312.c +++ b/hw/isa/pc87312.c @@ -386,6 +386,8 @@ static void pc87312_class_init(ObjectClass *klass, void *data) dc->reset = pc87312_reset; dc->vmsd = &vmstate_pc87312; dc->props = pc87312_properties; + /* Reason: Uses parallel_hds[0] in realize(), so it can't be used twice */ + dc->user_creatable = false; } static const TypeInfo pc87312_type_info = { diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c index 8a90ddda84..1182745044 100644 --- a/hw/misc/auxbus.c +++ b/hw/misc/auxbus.c @@ -210,6 +210,16 @@ struct AUXTOI2CState { I2CBus *i2c_bus; }; +static void aux_bridge_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + /* This device is private and is created only once for each + * aux-bus in aux_init_bus(..). So don't allow the user to add one. + */ + dc->user_creatable = false; +} + static void aux_bridge_init(Object *obj) { AUXTOI2CState *s = AUXTOI2C(obj); @@ -225,6 +235,7 @@ static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge) static const TypeInfo aux_to_i2c_type_info = { .name = TYPE_AUXTOI2C, .parent = TYPE_DEVICE, + .class_init = aux_bridge_class_init, .instance_size = sizeof(AUXTOI2CState), .instance_init = aux_bridge_init }; diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 33b46cb50b..d013c412d6 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -124,11 +124,6 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr) return (addr & 0x0fffffff) + KERNEL_LOAD_ADDR; } -static hwaddr round_page(hwaddr addr) -{ - return (addr + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK; -} - static void ppc_core99_reset(void *opaque) { PowerPCCPU *cpu = opaque; @@ -252,7 +247,7 @@ static void ppc_core99_init(MachineState *machine) } /* load initrd */ if (initrd_filename) { - initrd_base = round_page(kernel_base + kernel_size + KERNEL_GAP); + initrd_base = TARGET_PAGE_ALIGN(kernel_base + kernel_size + KERNEL_GAP); initrd_size = load_image_targphys(initrd_filename, initrd_base, ram_size - initrd_base); if (initrd_size < 0) { @@ -260,11 +255,11 @@ static void ppc_core99_init(MachineState *machine) initrd_filename); exit(1); } - cmdline_base = round_page(initrd_base + initrd_size); + cmdline_base = TARGET_PAGE_ALIGN(initrd_base + initrd_size); } else { initrd_base = 0; initrd_size = 0; - cmdline_base = round_page(kernel_base + kernel_size + KERNEL_GAP); + cmdline_base = TARGET_PAGE_ALIGN(kernel_base + kernel_size + KERNEL_GAP); } ppc_boot_device = 'm'; } else { diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 193b9047d9..61838c3e6f 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -66,11 +66,6 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr) return (addr & 0x0fffffff) + KERNEL_LOAD_ADDR; } -static hwaddr round_page(hwaddr addr) -{ - return (addr + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK; -} - static void ppc_heathrow_reset(void *opaque) { PowerPCCPU *cpu = opaque; @@ -187,7 +182,7 @@ static void ppc_heathrow_init(MachineState *machine) } /* load initrd */ if (initrd_filename) { - initrd_base = round_page(kernel_base + kernel_size + KERNEL_GAP); + initrd_base = TARGET_PAGE_ALIGN(kernel_base + kernel_size + KERNEL_GAP); initrd_size = load_image_targphys(initrd_filename, initrd_base, ram_size - initrd_base); if (initrd_size < 0) { @@ -195,11 +190,11 @@ static void ppc_heathrow_init(MachineState *machine) initrd_filename); exit(1); } - cmdline_base = round_page(initrd_base + initrd_size); + cmdline_base = TARGET_PAGE_ALIGN(initrd_base + initrd_size); } else { initrd_base = 0; initrd_size = 0; - cmdline_base = round_page(kernel_base + kernel_size + KERNEL_GAP); + cmdline_base = TARGET_PAGE_ALIGN(kernel_base + kernel_size + KERNEL_GAP); } ppc_boot_device = 'm'; } else { diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 72b75bf044..9dd318a7dd 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -205,13 +205,13 @@ extern int daemon(int, int); /* Round number up to multiple. Requires that d be a power of 2 (see * QEMU_ALIGN_UP for a safer but slower version on arbitrary - * numbers) */ + * numbers); works even if d is a smaller type than n. */ #ifndef ROUND_UP -#define ROUND_UP(n,d) (((n) + (d) - 1) & -(d)) +#define ROUND_UP(n, d) (((n) + (d) - 1) & -(0 ? (n) : (d))) #endif #ifndef DIV_ROUND_UP -#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) +#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #endif /* diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h index e5e3a0ff97..f4296d31c4 100644 --- a/include/qemu/thread-posix.h +++ b/include/qemu/thread-posix.h @@ -21,7 +21,7 @@ struct QemuCond { }; struct QemuSemaphore { -#if defined(__APPLE__) || defined(__NetBSD__) +#ifndef CONFIG_SEM_TIMEDWAIT pthread_mutex_t lock; pthread_cond_t cond; unsigned int count; diff --git a/qemu-options.hx b/qemu-options.hx index 77859a248c..39225ae6c3 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -284,8 +284,8 @@ Set default value of @var{driver}'s property @var{prop} to @var{value}, e.g.: qemu-system-i386 -global ide-hd.physical_block_size=4096 disk-image.img @end example -In particular, you can use this to set driver properties for devices which are -created automatically by the machine model. To create a device which is not +In particular, you can use this to set driver properties for devices which are +created automatically by the machine model. To create a device which is not created automatically and set properties on it, use -@option{device}. -global @var{driver}.@var{prop}=@var{value} is shorthand for -global diff --git a/target/xtensa/op_helper.c b/target/xtensa/op_helper.c index 519fbeddd6..3d990c0caa 100644 --- a/target/xtensa/op_helper.c +++ b/target/xtensa/op_helper.c @@ -1025,11 +1025,11 @@ void HELPER(ule_s)(CPUXtensaState *env, uint32_t br, float32 a, float32 b) uint32_t HELPER(rer)(CPUXtensaState *env, uint32_t addr) { return address_space_ldl(env->address_space_er, addr, - (MemTxAttrs){0}, NULL); + MEMTXATTRS_UNSPECIFIED, NULL); } void HELPER(wer)(CPUXtensaState *env, uint32_t data, uint32_t addr) { address_space_stl(env->address_space_er, addr, data, - (MemTxAttrs){0}, NULL); + MEMTXATTRS_UNSPECIFIED, NULL); } diff --git a/tests/boot-sector.c b/tests/boot-sector.c index 9ee85370b0..be29d5bb9b 100644 --- a/tests/boot-sector.c +++ b/tests/boot-sector.c @@ -137,9 +137,9 @@ void boot_sector_test(void) uint16_t signature; int i; - /* Wait at most 90 seconds */ + /* Wait at most 600 seconds (test is slow with TCI and --enable-debug) */ #define TEST_DELAY (1 * G_USEC_PER_SEC / 10) -#define TEST_CYCLES MAX((90 * G_USEC_PER_SEC / TEST_DELAY), 1) +#define TEST_CYCLES MAX((600 * G_USEC_PER_SEC / TEST_DELAY), 1) /* Poll until code has run and modified memory. Once it has we know BIOS * initialization is done. TODO: check that IP reached the halt diff --git a/util/qemu-thread-posix.c b/util/qemu-thread-posix.c index 4e95d272dc..7306475899 100644 --- a/util/qemu-thread-posix.c +++ b/util/qemu-thread-posix.c @@ -168,7 +168,7 @@ void qemu_sem_init(QemuSemaphore *sem, int init) { int rc; -#if defined(__APPLE__) || defined(__NetBSD__) +#ifndef CONFIG_SEM_TIMEDWAIT rc = pthread_mutex_init(&sem->lock, NULL); if (rc != 0) { error_exit(rc, __func__); @@ -196,7 +196,7 @@ void qemu_sem_destroy(QemuSemaphore *sem) assert(sem->initialized); sem->initialized = false; -#if defined(__APPLE__) || defined(__NetBSD__) +#ifndef CONFIG_SEM_TIMEDWAIT rc = pthread_cond_destroy(&sem->cond); if (rc < 0) { error_exit(rc, __func__); @@ -218,7 +218,7 @@ void qemu_sem_post(QemuSemaphore *sem) int rc; assert(sem->initialized); -#if defined(__APPLE__) || defined(__NetBSD__) +#ifndef CONFIG_SEM_TIMEDWAIT pthread_mutex_lock(&sem->lock); if (sem->count == UINT_MAX) { rc = EINVAL; @@ -256,7 +256,7 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms) struct timespec ts; assert(sem->initialized); -#if defined(__APPLE__) || defined(__NetBSD__) +#ifndef CONFIG_SEM_TIMEDWAIT rc = 0; compute_abs_deadline(&ts, ms); pthread_mutex_lock(&sem->lock); @@ -304,7 +304,7 @@ void qemu_sem_wait(QemuSemaphore *sem) int rc; assert(sem->initialized); -#if defined(__APPLE__) || defined(__NetBSD__) +#ifndef CONFIG_SEM_TIMEDWAIT pthread_mutex_lock(&sem->lock); while (sem->count == 0) { rc = pthread_cond_wait(&sem->cond, &sem->lock); |