trivial patches for 2017-09-26

-----BEGIN PGP SIGNATURE-----
 
 iQFDBAABCAAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAlnJ7/wPHG1qdEB0bHMu
 bXNrLnJ1AAoJEHAbT2saaT5ZjHIIAJFEXBt6zmwcNg+HWEJaaKLt4DzB8o/h/lYu
 s9hYBDWfPeCzibVDBvsVTotQ+BZs+rXW+M9jutrzho1MWppbtKriam41gjNHQH0s
 S4UaKsg+E0D2iRwFRWgJuI78BqA87mxn7R6ctv4ES+7iX/UzcPwN0lh33uYmB+pL
 F6vcxXjSMsNJgkVZ3LzDszzi7oLMcnIRG8PEdhRQmoNrPFzHS6wiKKu48qPBWc2O
 tqCiRgLxUQY2jDjGxURHPPXmS7HVJy9oB19dkVLmTqJk0eXrJ+bfGg90PRyR2Y54
 cuYND6QkN7+8L22h7UbP3Mmeb+1rhC1Ht6aj0UQCnYJ8+SPg3ng=
 =0r0u
 -----END PGP SIGNATURE-----

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>
This commit is contained in:
Peter Maydell 2017-09-26 19:49:08 +01:00
commit 31bc1d8481
17 changed files with 86 additions and 44 deletions

View File

@ -380,6 +380,7 @@ M: Peter Maydell <peter.maydell@linaro.org>
L: qemu-arm@nongnu.org L: qemu-arm@nongnu.org
S: Maintained S: Maintained
F: hw/char/pl011.c F: hw/char/pl011.c
F: include/hw/char/pl011.h
F: hw/display/pl110* F: hw/display/pl110*
F: hw/dma/pl080.c F: hw/dma/pl080.c
F: hw/dma/pl330.c F: hw/dma/pl330.c
@ -403,13 +404,15 @@ F: hw/intc/gic_internal.h
F: hw/misc/a9scu.c F: hw/misc/a9scu.c
F: hw/misc/arm11scu.c F: hw/misc/arm11scu.c
F: hw/timer/a9gtimer* F: hw/timer/a9gtimer*
F: hw/timer/arm_* F: hw/timer/arm*
F: include/hw/arm/arm.h F: include/hw/arm/arm*.h
F: include/hw/intc/arm* F: include/hw/intc/arm*
F: include/hw/misc/a9scu.h F: include/hw/misc/a9scu.h
F: include/hw/misc/arm11scu.h F: include/hw/misc/arm11scu.h
F: include/hw/timer/a9gtimer.h F: include/hw/timer/a9gtimer.h
F: include/hw/timer/arm_mptimer.h F: include/hw/timer/arm_mptimer.h
F: include/hw/timer/armv7m_systick.h
F: tests/test-arm-mptimer.c
Exynos Exynos
M: Igor Mitsyanko <i.mitsyanko@gmail.com> M: Igor Mitsyanko <i.mitsyanko@gmail.com>
@ -512,6 +515,7 @@ M: Peter Maydell <peter.maydell@linaro.org>
L: qemu-arm@nongnu.org L: qemu-arm@nongnu.org
S: Maintained S: Maintained
F: hw/*/versatile* F: hw/*/versatile*
F: hw/misc/arm_sysctl.c
Xilinx Zynq Xilinx Zynq
M: Edgar E. Iglesias <edgar.iglesias@gmail.com> 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/timer/stm32f2xx_timer.c
F: hw/adc/* F: hw/adc/*
F: hw/ssi/stm32f2xx_spi.c F: hw/ssi/stm32f2xx_spi.c
F: include/hw/*/stm32*.h
Netduino 2 Netduino 2
M: Alistair Francis <alistair@alistair23.me> M: Alistair Francis <alistair@alistair23.me>
@ -925,6 +930,8 @@ F: include/hw/pci/*
F: hw/misc/pci-testdev.c F: hw/misc/pci-testdev.c
F: hw/pci/* F: hw/pci/*
F: hw/pci-bridge/* F: hw/pci-bridge/*
F: docs/pci*
F: docs/specs/*pci*
ACPI/SMBIOS ACPI/SMBIOS
M: Michael S. Tsirkin <mst@redhat.com> M: Michael S. Tsirkin <mst@redhat.com>
@ -983,10 +990,13 @@ F: hw/scsi/lsi53c895a.c
SSI SSI
M: Peter Crosthwaite <crosthwaite.peter@gmail.com> M: Peter Crosthwaite <crosthwaite.peter@gmail.com>
M: Alistair Francis <alistair.francis@xilinx.com>
S: Maintained S: Maintained
F: hw/ssi/* F: hw/ssi/*
F: hw/block/m25p80.c F: hw/block/m25p80.c
F: include/hw/ssi/ssi.h
X: hw/ssi/xilinx_* X: hw/ssi/xilinx_*
F: tests/m25p80-test.c
Xilinx SPI Xilinx SPI
M: Alistair Francis <alistair.francis@xilinx.com> M: Alistair Francis <alistair.francis@xilinx.com>
@ -1029,6 +1039,7 @@ vhost
M: Michael S. Tsirkin <mst@redhat.com> M: Michael S. Tsirkin <mst@redhat.com>
S: Supported S: Supported
F: hw/*/*vhost* F: hw/*/*vhost*
F: docs/interop/vhost-user.txt
virtio virtio
M: Michael S. Tsirkin <mst@redhat.com> M: Michael S. Tsirkin <mst@redhat.com>
@ -1126,6 +1137,7 @@ M: Dmitry Fleytman <dmitry@daynix.com>
S: Maintained S: Maintained
F: hw/net/vmxnet* F: hw/net/vmxnet*
F: hw/scsi/vmw_pvscsi* F: hw/scsi/vmw_pvscsi*
F: tests/vmxnet3-test.c
Rocker Rocker
M: Jiri Pirko <jiri@resnulli.us> M: Jiri Pirko <jiri@resnulli.us>
@ -1156,6 +1168,7 @@ M: Alistair Francis <alistair.francis@xilinx.com>
S: Maintained S: Maintained
F: hw/core/generic-loader.c F: hw/core/generic-loader.c
F: include/hw/core/generic-loader.h F: include/hw/core/generic-loader.h
F: docs/generic-loader.txt
CHRP NVRAM CHRP NVRAM
M: Thomas Huth <thuth@redhat.com> M: Thomas Huth <thuth@redhat.com>
@ -1217,6 +1230,7 @@ F: util/aio-*.c
F: block/io.c F: block/io.c
F: migration/block* F: migration/block*
F: include/block/aio.h F: include/block/aio.h
F: scripts/qemugdb/aio.py
T: git git://github.com/stefanha/qemu.git block T: git git://github.com/stefanha/qemu.git block
Block SCSI subsystem Block SCSI subsystem
@ -1257,7 +1271,7 @@ F: block/dirty-bitmap.c
F: include/qemu/hbitmap.h F: include/qemu/hbitmap.h
F: include/block/dirty-bitmap.h F: include/block/dirty-bitmap.h
F: tests/test-hbitmap.c 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/famz/qemu.git bitmaps
T: git git://github.com/jnsnow/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-qmp-*.c
F: tests/test-visitor-serialization.c F: tests/test-visitor-serialization.c
F: scripts/qapi* F: scripts/qapi*
F: docs/qapi* F: docs/devel/qapi*
T: git git://repo.or.cz/qemu/armbru.git qapi-next T: git git://repo.or.cz/qemu/armbru.git qapi-next
QAPI Schema QAPI Schema
@ -1455,6 +1469,10 @@ QEMU Guest Agent
M: Michael Roth <mdroth@linux.vnet.ibm.com> M: Michael Roth <mdroth@linux.vnet.ibm.com>
S: Maintained S: Maintained
F: qga/ 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 T: git git://github.com/mdroth/qemu.git qga
QOM QOM
@ -1474,7 +1492,7 @@ M: Markus Armbruster <armbru@redhat.com>
S: Supported S: Supported
F: qmp.c F: qmp.c
F: monitor.c F: monitor.c
F: docs/*qmp-* F: docs/devel/*qmp-*
F: scripts/qmp/ F: scripts/qmp/
F: tests/qmp-test.c F: tests/qmp-test.c
T: git git://repo.or.cz/qemu/armbru.git qapi-next T: git git://repo.or.cz/qemu/armbru.git qapi-next
@ -1505,7 +1523,7 @@ S: Maintained
F: trace/ F: trace/
F: scripts/tracetool.py F: scripts/tracetool.py
F: scripts/tracetool/ F: scripts/tracetool/
F: docs/tracing.txt F: docs/devel/tracing.txt
T: git git://github.com/stefanha/qemu.git tracing T: git git://github.com/stefanha/qemu.git tracing
TPM TPM
@ -1528,7 +1546,7 @@ F: include/migration/
F: migration/ F: migration/
F: scripts/vmstate-static-checker.py F: scripts/vmstate-static-checker.py
F: tests/vmstate-static-checker-data/ F: tests/vmstate-static-checker-data/
F: docs/migration.txt F: docs/devel/migration.txt
F: qapi/migration.json F: qapi/migration.json
Seccomp Seccomp
@ -1543,6 +1561,7 @@ S: Maintained
F: crypto/ F: crypto/
F: include/crypto/ F: include/crypto/
F: tests/test-crypto-* F: tests/test-crypto-*
F: tests/benchmark-crypto-*
F: qemu.sasl F: qemu.sasl
Coroutines Coroutines
@ -1579,8 +1598,10 @@ M: Alberto Garcia <berto@igalia.com>
S: Supported S: Supported
F: block/throttle-groups.c F: block/throttle-groups.c
F: include/block/throttle-groups.h F: include/block/throttle-groups.h
F: include/qemu/throttle.h F: include/qemu/throttle*.h
F: util/throttle.c F: util/throttle.c
F: docs/throttle.txt
F: tests/test-throttle.c
L: qemu-block@nongnu.org L: qemu-block@nongnu.org
UUID UUID
@ -1836,7 +1857,7 @@ M: Denis V. Lunev <den@openvz.org>
L: qemu-block@nongnu.org L: qemu-block@nongnu.org
S: Supported S: Supported
F: block/parallels.c F: block/parallels.c
F: docs/specs/parallels.txt F: docs/interop/parallels.txt
qed qed
M: Stefan Hajnoczi <stefanha@redhat.com> M: Stefan Hajnoczi <stefanha@redhat.com>
@ -1861,6 +1882,7 @@ M: Max Reitz <mreitz@redhat.com>
L: qemu-block@nongnu.org L: qemu-block@nongnu.org
S: Supported S: Supported
F: block/qcow2* F: block/qcow2*
F: docs/interop/qcow2.txt
qcow qcow
M: Kevin Wolf <kwolf@redhat.com> M: Kevin Wolf <kwolf@redhat.com>
@ -1923,5 +1945,5 @@ Documentation
Build system architecture Build system architecture
M: Daniel P. Berrange <berrange@redhat.com> M: Daniel P. Berrange <berrange@redhat.com>
S: Odd Fixes S: Odd Fixes
F: docs/build-system.txt F: docs/devel/build-system.txt

View File

@ -643,6 +643,7 @@ static void baum_chr_open(Chardev *chr,
error_setg(errp, "brlapi__openConnection: %s", error_setg(errp, "brlapi__openConnection: %s",
brlapi_strerror(brlapi_error_location())); brlapi_strerror(brlapi_error_location()));
g_free(handle); g_free(handle);
baum->brlapi = NULL;
return; return;
} }
baum->deferred_init = 0; baum->deferred_init = 0;

17
configure vendored
View File

@ -746,7 +746,6 @@ SunOS)
solaris="yes" solaris="yes"
make="${MAKE-gmake}" make="${MAKE-gmake}"
install="${INSTALL-ginstall}" install="${INSTALL-ginstall}"
ld="gld"
smbd="${SMBD-/usr/sfw/sbin/smbd}" smbd="${SMBD-/usr/sfw/sbin/smbd}"
if test -f /usr/include/sys/soundcard.h ; then if test -f /usr/include/sys/soundcard.h ; then
audio_drv_list="oss" audio_drv_list="oss"
@ -4229,7 +4228,6 @@ EOF
fi fi
# check for smartcard support # check for smartcard support
smartcard_cflags=""
if test "$smartcard" != "no"; then if test "$smartcard" != "no"; then
if $pkg_config libcacard; then if $pkg_config libcacard; then
libcacard_cflags=$($pkg_config --cflags libcacard) libcacard_cflags=$($pkg_config --cflags libcacard)
@ -4425,6 +4423,18 @@ if compile_prog "" "" ; then
posix_syslog=yes posix_syslog=yes
fi 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 # check if trace backend exists
@ -5679,6 +5689,9 @@ fi
if test "$inotify1" = "yes" ; then if test "$inotify1" = "yes" ; then
echo "CONFIG_INOTIFY1=y" >> $config_host_mak echo "CONFIG_INOTIFY1=y" >> $config_host_mak
fi fi
if test "$sem_timedwait" = "yes" ; then
echo "CONFIG_SEM_TIMEDWAIT=y" >> $config_host_mak
fi
if test "$byteswap_h" = "yes" ; then if test "$byteswap_h" = "yes" ; then
echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak
fi fi

View File

@ -24,7 +24,7 @@ Where,
For example, the following command-line: 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. 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 The hotpluggable memory slots are empty when the guest is booted, so all

View File

@ -6,6 +6,7 @@ jazz_led_write(uint64_t addr, uint8_t new) "write addr=0x%"PRIx64": 0x%x"
# hw/display/xenfb.c # 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_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" xenfb_input_connected(void *xendev, int abs_pointer_wanted) "%p abs %d"
# hw/display/g364fb.c # hw/display/g364fb.c

View File

@ -1321,6 +1321,7 @@ static void virtio_gpu_class_init(ObjectClass *klass, void *data)
vdc->reset = virtio_gpu_reset; vdc->reset = virtio_gpu_reset;
set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories);
dc->props = virtio_gpu_properties; dc->props = virtio_gpu_properties;
dc->vmsd = &vmstate_virtio_gpu; dc->vmsd = &vmstate_virtio_gpu;
dc->hotpluggable = false; dc->hotpluggable = false;

View File

@ -290,6 +290,7 @@ static void xenfb_key_event(void *opaque, int scancode)
scancode |= 0x80; scancode |= 0x80;
xenfb->extended = 0; xenfb->extended = 0;
} }
trace_xenfb_key_event(opaque, scancode2linux[scancode], down);
xenfb_send_key(xenfb, down, scancode2linux[scancode]); xenfb_send_key(xenfb, down, scancode2linux[scancode]);
} }

View File

@ -386,6 +386,8 @@ static void pc87312_class_init(ObjectClass *klass, void *data)
dc->reset = pc87312_reset; dc->reset = pc87312_reset;
dc->vmsd = &vmstate_pc87312; dc->vmsd = &vmstate_pc87312;
dc->props = pc87312_properties; 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 = { static const TypeInfo pc87312_type_info = {

View File

@ -210,6 +210,16 @@ struct AUXTOI2CState {
I2CBus *i2c_bus; 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) static void aux_bridge_init(Object *obj)
{ {
AUXTOI2CState *s = AUXTOI2C(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 = { static const TypeInfo aux_to_i2c_type_info = {
.name = TYPE_AUXTOI2C, .name = TYPE_AUXTOI2C,
.parent = TYPE_DEVICE, .parent = TYPE_DEVICE,
.class_init = aux_bridge_class_init,
.instance_size = sizeof(AUXTOI2CState), .instance_size = sizeof(AUXTOI2CState),
.instance_init = aux_bridge_init .instance_init = aux_bridge_init
}; };

View File

@ -124,11 +124,6 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr)
return (addr & 0x0fffffff) + KERNEL_LOAD_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) static void ppc_core99_reset(void *opaque)
{ {
PowerPCCPU *cpu = opaque; PowerPCCPU *cpu = opaque;
@ -252,7 +247,7 @@ static void ppc_core99_init(MachineState *machine)
} }
/* load initrd */ /* load initrd */
if (initrd_filename) { 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, initrd_size = load_image_targphys(initrd_filename, initrd_base,
ram_size - initrd_base); ram_size - initrd_base);
if (initrd_size < 0) { if (initrd_size < 0) {
@ -260,11 +255,11 @@ static void ppc_core99_init(MachineState *machine)
initrd_filename); initrd_filename);
exit(1); exit(1);
} }
cmdline_base = round_page(initrd_base + initrd_size); cmdline_base = TARGET_PAGE_ALIGN(initrd_base + initrd_size);
} else { } else {
initrd_base = 0; initrd_base = 0;
initrd_size = 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'; ppc_boot_device = 'm';
} else { } else {

View File

@ -66,11 +66,6 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr)
return (addr & 0x0fffffff) + KERNEL_LOAD_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) static void ppc_heathrow_reset(void *opaque)
{ {
PowerPCCPU *cpu = opaque; PowerPCCPU *cpu = opaque;
@ -187,7 +182,7 @@ static void ppc_heathrow_init(MachineState *machine)
} }
/* load initrd */ /* load initrd */
if (initrd_filename) { 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, initrd_size = load_image_targphys(initrd_filename, initrd_base,
ram_size - initrd_base); ram_size - initrd_base);
if (initrd_size < 0) { if (initrd_size < 0) {
@ -195,11 +190,11 @@ static void ppc_heathrow_init(MachineState *machine)
initrd_filename); initrd_filename);
exit(1); exit(1);
} }
cmdline_base = round_page(initrd_base + initrd_size); cmdline_base = TARGET_PAGE_ALIGN(initrd_base + initrd_size);
} else { } else {
initrd_base = 0; initrd_base = 0;
initrd_size = 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'; ppc_boot_device = 'm';
} else { } else {

View File

@ -205,13 +205,13 @@ extern int daemon(int, int);
/* Round number up to multiple. Requires that d be a power of 2 (see /* 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 * 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 #ifndef ROUND_UP
#define ROUND_UP(n,d) (((n) + (d) - 1) & -(d)) #define ROUND_UP(n, d) (((n) + (d) - 1) & -(0 ? (n) : (d)))
#endif #endif
#ifndef DIV_ROUND_UP #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 #endif
/* /*

View File

@ -21,7 +21,7 @@ struct QemuCond {
}; };
struct QemuSemaphore { struct QemuSemaphore {
#if defined(__APPLE__) || defined(__NetBSD__) #ifndef CONFIG_SEM_TIMEDWAIT
pthread_mutex_t lock; pthread_mutex_t lock;
pthread_cond_t cond; pthread_cond_t cond;
unsigned int count; unsigned int count;

View File

@ -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 qemu-system-i386 -global ide-hd.physical_block_size=4096 disk-image.img
@end example @end example
In particular, you can use this to set driver properties for devices which are 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 by the machine model. To create a device which is not
created automatically and set properties on it, use -@option{device}. created automatically and set properties on it, use -@option{device}.
-global @var{driver}.@var{prop}=@var{value} is shorthand for -global -global @var{driver}.@var{prop}=@var{value} is shorthand for -global

View File

@ -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) uint32_t HELPER(rer)(CPUXtensaState *env, uint32_t addr)
{ {
return address_space_ldl(env->address_space_er, 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) void HELPER(wer)(CPUXtensaState *env, uint32_t data, uint32_t addr)
{ {
address_space_stl(env->address_space_er, addr, data, address_space_stl(env->address_space_er, addr, data,
(MemTxAttrs){0}, NULL); MEMTXATTRS_UNSPECIFIED, NULL);
} }

View File

@ -137,9 +137,9 @@ void boot_sector_test(void)
uint16_t signature; uint16_t signature;
int i; 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_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 /* Poll until code has run and modified memory. Once it has we know BIOS
* initialization is done. TODO: check that IP reached the halt * initialization is done. TODO: check that IP reached the halt

View File

@ -168,7 +168,7 @@ void qemu_sem_init(QemuSemaphore *sem, int init)
{ {
int rc; int rc;
#if defined(__APPLE__) || defined(__NetBSD__) #ifndef CONFIG_SEM_TIMEDWAIT
rc = pthread_mutex_init(&sem->lock, NULL); rc = pthread_mutex_init(&sem->lock, NULL);
if (rc != 0) { if (rc != 0) {
error_exit(rc, __func__); error_exit(rc, __func__);
@ -196,7 +196,7 @@ void qemu_sem_destroy(QemuSemaphore *sem)
assert(sem->initialized); assert(sem->initialized);
sem->initialized = false; sem->initialized = false;
#if defined(__APPLE__) || defined(__NetBSD__) #ifndef CONFIG_SEM_TIMEDWAIT
rc = pthread_cond_destroy(&sem->cond); rc = pthread_cond_destroy(&sem->cond);
if (rc < 0) { if (rc < 0) {
error_exit(rc, __func__); error_exit(rc, __func__);
@ -218,7 +218,7 @@ void qemu_sem_post(QemuSemaphore *sem)
int rc; int rc;
assert(sem->initialized); assert(sem->initialized);
#if defined(__APPLE__) || defined(__NetBSD__) #ifndef CONFIG_SEM_TIMEDWAIT
pthread_mutex_lock(&sem->lock); pthread_mutex_lock(&sem->lock);
if (sem->count == UINT_MAX) { if (sem->count == UINT_MAX) {
rc = EINVAL; rc = EINVAL;
@ -256,7 +256,7 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms)
struct timespec ts; struct timespec ts;
assert(sem->initialized); assert(sem->initialized);
#if defined(__APPLE__) || defined(__NetBSD__) #ifndef CONFIG_SEM_TIMEDWAIT
rc = 0; rc = 0;
compute_abs_deadline(&ts, ms); compute_abs_deadline(&ts, ms);
pthread_mutex_lock(&sem->lock); pthread_mutex_lock(&sem->lock);
@ -304,7 +304,7 @@ void qemu_sem_wait(QemuSemaphore *sem)
int rc; int rc;
assert(sem->initialized); assert(sem->initialized);
#if defined(__APPLE__) || defined(__NetBSD__) #ifndef CONFIG_SEM_TIMEDWAIT
pthread_mutex_lock(&sem->lock); pthread_mutex_lock(&sem->lock);
while (sem->count == 0) { while (sem->count == 0) {
rc = pthread_cond_wait(&sem->cond, &sem->lock); rc = pthread_cond_wait(&sem->cond, &sem->lock);