Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (6) and others # Via Michael Tokarev * mjt/trivial-patches: aio / timers: use g_usleep() not sleep() adlib: sort offsets in portio registration qmp: fix integer usage in examples tci: Remove function tcg_out64 (fix broken build) target-arm: Report unimplemented opcodes (LOG_UNIMP) pflash_cfi02.c: fix debug macro configure: Remove unneeded redirections of stderr (pkg-config --exists) configure: Remove unneeded redirections of stderr (pkg-config --cflags, --libs) configure: Don't write .pyc files by default (python -B) curl: qemu_bh_new() can never return NULL slirp/arp_table.c: Avoid shifting into sign bit of signed integers configure: disable clang -Wstring-plus-int warning rdma: silly ipv6 bugfix misc: Fix some typos in names and comments slirp: Port redirection option behave differently on Linux and Windows Message-id: 1378119695-14568-1-git-send-email-mjt@msgid.tls.msk.ru Signed-off-by: Anthony Liguori <anthony@codemonkey.ws>
This commit is contained in:
commit
5a93d5c2ab
@ -290,7 +290,7 @@ static void coroutine_fn backup_run(void *opaque)
|
||||
|
||||
for (i = 0; i < BACKUP_SECTORS_PER_CLUSTER;) {
|
||||
/* bdrv_co_is_allocated() only returns true/false based
|
||||
* on the first set of sectors it comes accross that
|
||||
* on the first set of sectors it comes across that
|
||||
* are are all in the same state.
|
||||
* For that reason we must verify each sector in the
|
||||
* backup cluster length. We end up copying more than
|
||||
|
@ -572,12 +572,6 @@ static BlockDriverAIOCB *curl_aio_readv(BlockDriverState *bs,
|
||||
acb->nb_sectors = nb_sectors;
|
||||
|
||||
acb->bh = qemu_bh_new(curl_readv_bh_cb, acb);
|
||||
|
||||
if (!acb->bh) {
|
||||
DPRINTF("CURL: qemu_bh_new failed\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
qemu_bh_schedule(acb->bh);
|
||||
return &acb->common;
|
||||
}
|
||||
|
71
configure
vendored
71
configure
vendored
@ -572,7 +572,7 @@ fi
|
||||
|
||||
: ${make=${MAKE-make}}
|
||||
: ${install=${INSTALL-install}}
|
||||
: ${python=${PYTHON-python}}
|
||||
: ${python=${PYTHON-python -B}}
|
||||
: ${smbd=${SMBD-/usr/sbin/smbd}}
|
||||
|
||||
# Default objcc to clang if available, otherwise use CC
|
||||
@ -1213,6 +1213,7 @@ gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_
|
||||
gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
|
||||
gcc_flags="-Wendif-labels $gcc_flags"
|
||||
gcc_flags="-Wno-initializer-overrides $gcc_flags"
|
||||
gcc_flags="-Wno-string-plus-int $gcc_flags"
|
||||
# Note that we do not add -Werror to gcc_flags here, because that would
|
||||
# enable it for all configure tests. If a configure test failed due
|
||||
# to -Werror this would just silently disable some features,
|
||||
@ -1357,7 +1358,7 @@ fi
|
||||
|
||||
# Note that if the Python conditional here evaluates True we will exit
|
||||
# with status 1 which is a shell 'false' value.
|
||||
if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_info >= (3,))'; then
|
||||
if ! $python -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_info >= (3,))'; then
|
||||
error_exit "Cannot use '$python', Python 2.4 or later is required." \
|
||||
"Note that Python 3 or later is not yet supported." \
|
||||
"Use --python=/path/to/python to specify a supported Python."
|
||||
@ -1478,7 +1479,7 @@ libs_softmmu="$libs_softmmu -lz"
|
||||
# libseccomp check
|
||||
|
||||
if test "$seccomp" != "no" ; then
|
||||
if $pkg_config --atleast-version=2.1.0 libseccomp --modversion >/dev/null 2>&1; then
|
||||
if $pkg_config --atleast-version=2.1.0 libseccomp; then
|
||||
libs_softmmu="$libs_softmmu `$pkg_config --libs libseccomp`"
|
||||
QEMU_CFLAGS="$QEMU_CFLAGS `$pkg_config --cflags libseccomp`"
|
||||
seccomp="yes"
|
||||
@ -1712,10 +1713,10 @@ if test "$gtk" != "no"; then
|
||||
fi
|
||||
gtk="no"
|
||||
else
|
||||
gtk_cflags=`$pkg_config --cflags $gtkpackage 2>/dev/null`
|
||||
gtk_libs=`$pkg_config --libs $gtkpackage 2>/dev/null`
|
||||
vte_cflags=`$pkg_config --cflags $vtepackage 2>/dev/null`
|
||||
vte_libs=`$pkg_config --libs $vtepackage 2>/dev/null`
|
||||
gtk_cflags=`$pkg_config --cflags $gtkpackage`
|
||||
gtk_libs=`$pkg_config --libs $gtkpackage`
|
||||
vte_cflags=`$pkg_config --cflags $vtepackage`
|
||||
vte_libs=`$pkg_config --libs $vtepackage`
|
||||
libs_softmmu="$gtk_libs $vte_libs $libs_softmmu"
|
||||
gtk="yes"
|
||||
fi
|
||||
@ -1730,7 +1731,7 @@ if test "`basename $sdl_config`" != sdl-config && ! has ${sdl_config}; then
|
||||
sdl_config=sdl-config
|
||||
fi
|
||||
|
||||
if $pkg_config sdl --modversion >/dev/null 2>&1; then
|
||||
if $pkg_config sdl --exists; then
|
||||
sdlconfig="$pkg_config sdl"
|
||||
_sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
|
||||
elif has ${sdl_config}; then
|
||||
@ -1916,9 +1917,9 @@ int main(void) {
|
||||
return png_ptr != 0;
|
||||
}
|
||||
EOF
|
||||
if $pkg_config libpng --modversion >/dev/null 2>&1; then
|
||||
vnc_png_cflags=`$pkg_config libpng --cflags 2> /dev/null`
|
||||
vnc_png_libs=`$pkg_config libpng --libs 2> /dev/null`
|
||||
if $pkg_config libpng --exists; then
|
||||
vnc_png_cflags=`$pkg_config libpng --cflags`
|
||||
vnc_png_libs=`$pkg_config libpng --libs`
|
||||
else
|
||||
vnc_png_cflags=""
|
||||
vnc_png_libs="-lpng"
|
||||
@ -2195,7 +2196,7 @@ fi
|
||||
##########################################
|
||||
# curl probe
|
||||
if test "$curl" != "no" ; then
|
||||
if $pkg_config libcurl --modversion >/dev/null 2>&1; then
|
||||
if $pkg_config libcurl --exists; then
|
||||
curlconfig="$pkg_config libcurl"
|
||||
else
|
||||
curlconfig=curl-config
|
||||
@ -2247,10 +2248,9 @@ if test "$mingw32" = yes; then
|
||||
else
|
||||
glib_req_ver=2.12
|
||||
fi
|
||||
if $pkg_config --atleast-version=$glib_req_ver gthread-2.0 > /dev/null 2>&1
|
||||
then
|
||||
glib_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null`
|
||||
glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null`
|
||||
if $pkg_config --atleast-version=$glib_req_ver gthread-2.0; then
|
||||
glib_cflags=`$pkg_config --cflags gthread-2.0`
|
||||
glib_libs=`$pkg_config --libs gthread-2.0`
|
||||
LIBS="$glib_libs $LIBS"
|
||||
libs_qga="$glib_libs $libs_qga"
|
||||
else
|
||||
@ -2279,8 +2279,8 @@ if test "$pixman" = "none"; then
|
||||
pixman_cflags=
|
||||
pixman_libs=
|
||||
elif test "$pixman" = "system"; then
|
||||
pixman_cflags=`$pkg_config --cflags pixman-1 2>/dev/null`
|
||||
pixman_libs=`$pkg_config --libs pixman-1 2>/dev/null`
|
||||
pixman_cflags=`$pkg_config --cflags pixman-1`
|
||||
pixman_libs=`$pkg_config --libs pixman-1`
|
||||
else
|
||||
if test ! -d ${source_path}/pixman/pixman; then
|
||||
error_exit "pixman not present. Your options:" \
|
||||
@ -2379,8 +2379,7 @@ fi
|
||||
# libssh2 probe
|
||||
min_libssh2_version=1.2.8
|
||||
if test "$libssh2" != "no" ; then
|
||||
if $pkg_config --atleast-version=$min_libssh2_version libssh2 >/dev/null 2>&1
|
||||
then
|
||||
if $pkg_config --atleast-version=$min_libssh2_version libssh2; then
|
||||
libssh2_cflags=`$pkg_config libssh2 --cflags`
|
||||
libssh2_libs=`$pkg_config libssh2 --libs`
|
||||
libssh2=yes
|
||||
@ -2598,14 +2597,14 @@ fi
|
||||
##########################################
|
||||
# glusterfs probe
|
||||
if test "$glusterfs" != "no" ; then
|
||||
if $pkg_config --atleast-version=3 glusterfs-api >/dev/null 2>&1; then
|
||||
if $pkg_config --atleast-version=3 glusterfs-api; then
|
||||
glusterfs="yes"
|
||||
glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2>/dev/null`
|
||||
glusterfs_libs=`$pkg_config --libs glusterfs-api 2>/dev/null`
|
||||
glusterfs_cflags=`$pkg_config --cflags glusterfs-api`
|
||||
glusterfs_libs=`$pkg_config --libs glusterfs-api`
|
||||
CFLAGS="$CFLAGS $glusterfs_cflags"
|
||||
libs_tools="$glusterfs_libs $libs_tools"
|
||||
libs_softmmu="$glusterfs_libs $libs_softmmu"
|
||||
if $pkg_config --atleast-version=5 glusterfs-api >/dev/null 2>&1; then
|
||||
if $pkg_config --atleast-version=5 glusterfs-api; then
|
||||
glusterfs_discard="yes"
|
||||
fi
|
||||
else
|
||||
@ -2968,10 +2967,10 @@ if test "$libiscsi" != "no" ; then
|
||||
#include <iscsi/iscsi.h>
|
||||
int main(void) { iscsi_unmap_sync(NULL,0,0,0,NULL,0); return 0; }
|
||||
EOF
|
||||
if $pkg_config --atleast-version=1.7.0 libiscsi --modversion >/dev/null 2>&1; then
|
||||
if $pkg_config --atleast-version=1.7.0 libiscsi; then
|
||||
libiscsi="yes"
|
||||
libiscsi_cflags=$($pkg_config --cflags libiscsi 2>/dev/null)
|
||||
libiscsi_libs=$($pkg_config --libs libiscsi 2>/dev/null)
|
||||
libiscsi_cflags=$($pkg_config --cflags libiscsi)
|
||||
libiscsi_libs=$($pkg_config --libs libiscsi)
|
||||
CFLAGS="$CFLAGS $libiscsi_cflags"
|
||||
LIBS="$LIBS $libiscsi_libs"
|
||||
elif compile_prog "" "-liscsi" ; then
|
||||
@ -3038,8 +3037,8 @@ int main(void) { spice_server_new(); return 0; }
|
||||
EOF
|
||||
spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
|
||||
spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
|
||||
if $pkg_config --atleast-version=0.12.0 spice-server >/dev/null 2>&1 && \
|
||||
$pkg_config --atleast-version=0.12.3 spice-protocol > /dev/null 2>&1 && \
|
||||
if $pkg_config --atleast-version=0.12.0 spice-server && \
|
||||
$pkg_config --atleast-version=0.12.3 spice-protocol && \
|
||||
compile_prog "$spice_cflags" "$spice_libs" ; then
|
||||
spice="yes"
|
||||
libs_softmmu="$libs_softmmu $spice_libs"
|
||||
@ -3074,7 +3073,7 @@ EOF
|
||||
test_cflags="-Werror $test_cflags"
|
||||
fi
|
||||
if test -n "$libtool" &&
|
||||
$pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 && \
|
||||
$pkg_config --atleast-version=3.12.8 nss && \
|
||||
compile_prog "$test_cflags" "$libcacard_libs"; then
|
||||
smartcard_nss="yes"
|
||||
QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags"
|
||||
@ -3090,11 +3089,11 @@ fi
|
||||
|
||||
# check for libusb
|
||||
if test "$libusb" != "no" ; then
|
||||
if $pkg_config --atleast-version=1.0.13 libusb-1.0 >/dev/null 2>&1 ; then
|
||||
if $pkg_config --atleast-version=1.0.13 libusb-1.0; then
|
||||
libusb="yes"
|
||||
usb="libusb"
|
||||
libusb_cflags=$($pkg_config --cflags libusb-1.0 2>/dev/null)
|
||||
libusb_libs=$($pkg_config --libs libusb-1.0 2>/dev/null)
|
||||
libusb_cflags=$($pkg_config --cflags libusb-1.0)
|
||||
libusb_libs=$($pkg_config --libs libusb-1.0)
|
||||
QEMU_CFLAGS="$QEMU_CFLAGS $libusb_cflags"
|
||||
libs_softmmu="$libs_softmmu $libusb_libs"
|
||||
else
|
||||
@ -3107,10 +3106,10 @@ fi
|
||||
|
||||
# check for usbredirparser for usb network redirection support
|
||||
if test "$usb_redir" != "no" ; then
|
||||
if $pkg_config --atleast-version=0.6 libusbredirparser-0.5 >/dev/null 2>&1 ; then
|
||||
if $pkg_config --atleast-version=0.6 libusbredirparser-0.5; then
|
||||
usb_redir="yes"
|
||||
usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5 2>/dev/null)
|
||||
usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5 2>/dev/null)
|
||||
usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5)
|
||||
usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5)
|
||||
QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
|
||||
libs_softmmu="$libs_softmmu $usb_redir_libs"
|
||||
else
|
||||
|
@ -284,9 +284,9 @@ static void Adlib_fini (AdlibState *s)
|
||||
}
|
||||
|
||||
static MemoryRegionPortio adlib_portio_list[] = {
|
||||
{ 0x388, 4, 1, .read = adlib_read, .write = adlib_write, },
|
||||
{ 0, 4, 1, .read = adlib_read, .write = adlib_write, },
|
||||
{ 0, 2, 1, .read = adlib_read, .write = adlib_write, },
|
||||
{ 0x388, 4, 1, .read = adlib_read, .write = adlib_write, },
|
||||
PORTIO_END_OF_LIST(),
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@
|
||||
#ifdef PFLASH_DEBUG
|
||||
#define DPRINTF(fmt, ...) \
|
||||
do { \
|
||||
fprintf(stderr "PFLASH: " fmt , ## __VA_ARGS__); \
|
||||
fprintf(stderr, "PFLASH: " fmt , ## __VA_ARGS__); \
|
||||
} while (0)
|
||||
#else
|
||||
#define DPRINTF(fmt, ...) do { } while (0)
|
||||
|
@ -124,7 +124,7 @@ static void sch_handle_clear_func(SubchDev *sch)
|
||||
/* Path management: In our simple css, we always choose the only path. */
|
||||
path = 0x80;
|
||||
|
||||
/* Reset values prior to 'issueing the clear signal'. */
|
||||
/* Reset values prior to 'issuing the clear signal'. */
|
||||
p->lpum = 0;
|
||||
p->pom = 0xff;
|
||||
s->flags &= ~SCSW_FLAGS_MASK_PNO;
|
||||
|
@ -67,7 +67,7 @@
|
||||
#define CURTICNT 0x0090
|
||||
|
||||
#define TICK_TIMER_ENABLE 0x0100
|
||||
#define TICNT_THRESHHOLD 2
|
||||
#define TICNT_THRESHOLD 2
|
||||
|
||||
|
||||
#define RTC_ENABLE 0x0001
|
||||
@ -429,7 +429,7 @@ static void exynos4210_rtc_write(void *opaque, hwaddr offset,
|
||||
s->reg_rtccon = value;
|
||||
break;
|
||||
case TICCNT:
|
||||
if (value > TICNT_THRESHHOLD) {
|
||||
if (value > TICNT_THRESHOLD) {
|
||||
s->reg_ticcnt = value;
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
|
@ -640,8 +640,8 @@ typedef struct {
|
||||
#define OCF_SETUP_SYNC_CONN 0x0028
|
||||
typedef struct {
|
||||
uint16_t handle;
|
||||
uint32_t tx_bandwith;
|
||||
uint32_t rx_bandwith;
|
||||
uint32_t tx_bandwidth;
|
||||
uint32_t rx_bandwidth;
|
||||
uint16_t max_latency;
|
||||
uint16_t voice_setting;
|
||||
uint8_t retrans_effort;
|
||||
@ -652,8 +652,8 @@ typedef struct {
|
||||
#define OCF_ACCEPT_SYNC_CONN_REQ 0x0029
|
||||
typedef struct {
|
||||
bdaddr_t bdaddr;
|
||||
uint32_t tx_bandwith;
|
||||
uint32_t rx_bandwith;
|
||||
uint32_t tx_bandwidth;
|
||||
uint32_t rx_bandwidth;
|
||||
uint16_t max_latency;
|
||||
uint16_t voice_setting;
|
||||
uint8_t retrans_effort;
|
||||
|
@ -232,7 +232,7 @@ vcard_apdu_set_class(VCardAPDU *apdu) {
|
||||
case 0xf0:
|
||||
default:
|
||||
apdu->a_gen_type =
|
||||
(apdu->a_cla == 0xff) ? VCARD_7816_PTS : VCARD_7816_PROPIETARY;
|
||||
(apdu->a_cla == 0xff) ? VCARD_7816_PTS : VCARD_7816_PROPRIETARY;
|
||||
break;
|
||||
}
|
||||
return VCARD7816_STATUS_SUCCESS;
|
||||
|
@ -43,7 +43,7 @@ typedef enum {
|
||||
VCARD_7816_ISO,
|
||||
VCARD_7816_RFU,
|
||||
VCARD_7816_PTS,
|
||||
VCARD_7816_PROPIETARY
|
||||
VCARD_7816_PROPRIETARY
|
||||
} VCardAPDUType;
|
||||
|
||||
|
||||
|
@ -78,7 +78,7 @@
|
||||
#define EV_SUCCESS 0
|
||||
#define EV_EPERM 1 /* Operation not permitted */
|
||||
#define EV_ENOENT 2 /* Entry Not Found */
|
||||
#define EV_EIO 3 /* I/O error occured */
|
||||
#define EV_EIO 3 /* I/O error occurred */
|
||||
#define EV_EAGAIN 4 /* The operation had insufficient
|
||||
* resources to complete and should be
|
||||
* retried
|
||||
@ -89,7 +89,7 @@
|
||||
#define EV_ENODEV 7 /* No such device */
|
||||
#define EV_EINVAL 8 /* An argument supplied to the hcall
|
||||
was out of range or invalid */
|
||||
#define EV_INTERNAL 9 /* An internal error occured */
|
||||
#define EV_INTERNAL 9 /* An internal error occurred */
|
||||
#define EV_CONFIG 10 /* A configuration error was detected */
|
||||
#define EV_INVALID_STATE 11 /* The object is in an invalid state */
|
||||
#define EV_UNIMPLEMENTED 12 /* Unimplemented hypercall */
|
||||
|
@ -756,7 +756,7 @@ static void qemu_rdma_dump_gid(const char *who, struct rdma_cm_id *id)
|
||||
* connections (both IPv4 and IPv6) if the destination machine does not have
|
||||
* a regular infiniband network available for use.
|
||||
*
|
||||
* The only way to gaurantee that an error is thrown for broken kernels is
|
||||
* The only way to guarantee that an error is thrown for broken kernels is
|
||||
* for the management software to choose a *specific* interface at bind time
|
||||
* and validate what time of hardware it is.
|
||||
*
|
||||
@ -778,7 +778,7 @@ static void qemu_rdma_dump_gid(const char *who, struct rdma_cm_id *id)
|
||||
* Infiniband.
|
||||
*
|
||||
* If we detect that we have a *pure* RoCE environment, then we can safely
|
||||
* thrown an error even if the management sofware has specified '[::]' as the
|
||||
* thrown an error even if the management software has specified '[::]' as the
|
||||
* bind address.
|
||||
*
|
||||
* However, if there is are multiple hetergeneous devices, then we cannot make
|
||||
@ -801,7 +801,7 @@ static int qemu_rdma_broken_ipv6_kernel(Error **errp, struct ibv_context *verbs)
|
||||
* devices (non-ethernet).
|
||||
*
|
||||
* If not, then we can safely proceed with the migration.
|
||||
* Otherwise, there are no gaurantees until the bug is fixed in linux.
|
||||
* Otherwise, there are no guarantees until the bug is fixed in linux.
|
||||
*/
|
||||
if (!verbs) {
|
||||
int num_devices, x;
|
||||
@ -920,9 +920,11 @@ static int qemu_rdma_resolve_host(RDMAContext *rdma, Error **errp)
|
||||
ret = rdma_resolve_addr(rdma->cm_id, NULL, e->ai_dst_addr,
|
||||
RDMA_RESOLVE_TIMEOUT_MS);
|
||||
if (!ret) {
|
||||
ret = qemu_rdma_broken_ipv6_kernel(errp, rdma->cm_id->verbs);
|
||||
if (ret) {
|
||||
continue;
|
||||
if (e->ai_family == AF_INET6) {
|
||||
ret = qemu_rdma_broken_ipv6_kernel(errp, rdma->cm_id->verbs);
|
||||
if (ret) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
goto route;
|
||||
}
|
||||
|
@ -1402,22 +1402,22 @@ Change I/O throttle limits for a block drive.
|
||||
Arguments:
|
||||
|
||||
- "device": device name (json-string)
|
||||
- "bps": total throughput limit in bytes per second(json-int)
|
||||
- "bps_rd": read throughput limit in bytes per second(json-int)
|
||||
- "bps_wr": read throughput limit in bytes per second(json-int)
|
||||
- "iops": total I/O operations per second(json-int)
|
||||
- "iops_rd": read I/O operations per second(json-int)
|
||||
- "iops_wr": write I/O operations per second(json-int)
|
||||
- "bps": total throughput limit in bytes per second (json-int)
|
||||
- "bps_rd": read throughput limit in bytes per second (json-int)
|
||||
- "bps_wr": write throughput limit in bytes per second (json-int)
|
||||
- "iops": total I/O operations per second (json-int)
|
||||
- "iops_rd": read I/O operations per second (json-int)
|
||||
- "iops_wr": write I/O operations per second (json-int)
|
||||
|
||||
Example:
|
||||
|
||||
-> { "execute": "block_set_io_throttle", "arguments": { "device": "virtio0",
|
||||
"bps": "1000000",
|
||||
"bps_rd": "0",
|
||||
"bps_wr": "0",
|
||||
"iops": "0",
|
||||
"iops_rd": "0",
|
||||
"iops_wr": "0" } }
|
||||
"bps": 1000000,
|
||||
"bps_rd": 0,
|
||||
"bps_wr": 0,
|
||||
"iops": 0,
|
||||
"iops_rd": 0,
|
||||
"iops_wr": 0 } }
|
||||
<- { "return": {} }
|
||||
|
||||
EQMP
|
||||
@ -1791,7 +1791,7 @@ Each json-object contain the following:
|
||||
- "vm-state-size": size of the VM state in bytes (json-int)
|
||||
- "date-sec": UTC date of the snapshot in seconds (json-int)
|
||||
- "date-nsec": fractional part in nanoseconds to be used with
|
||||
date-sec(json-int)
|
||||
date-sec (json-int)
|
||||
- "vm-clock-sec": VM clock relative to boot in seconds
|
||||
(json-int)
|
||||
- "vm-clock-nsec": fractional part in nanoseconds to be used
|
||||
|
@ -38,7 +38,7 @@ void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t ethaddr[ETH_ALEN])
|
||||
ethaddr[3], ethaddr[4], ethaddr[5]));
|
||||
|
||||
/* Check 0.0.0.0/8 invalid source-only addresses */
|
||||
if ((ip_addr & htonl(~(0xf << 28))) == 0) {
|
||||
if ((ip_addr & htonl(~(0xfU << 28))) == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ bool arp_table_search(Slirp *slirp, uint32_t ip_addr,
|
||||
DEBUG_ARG("ip = 0x%x", ip_addr);
|
||||
|
||||
/* Check 0.0.0.0/8 invalid source-only addresses */
|
||||
assert((ip_addr & htonl(~(0xf << 28))) != 0);
|
||||
assert((ip_addr & htonl(~(0xfU << 28))) != 0);
|
||||
|
||||
/* If broadcast address */
|
||||
if (ip_addr == 0xffffffff || ip_addr == broadcast_addr) {
|
||||
|
@ -627,7 +627,9 @@ tcp_listen(Slirp *slirp, uint32_t haddr, u_int hport, uint32_t laddr,
|
||||
addr.sin_port = hport;
|
||||
|
||||
if (((s = qemu_socket(AF_INET,SOCK_STREAM,0)) < 0) ||
|
||||
#ifndef _WIN32
|
||||
(qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)) < 0) ||
|
||||
#endif
|
||||
(bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) ||
|
||||
(listen(s,1) < 0)) {
|
||||
int tmperrno = errno; /* Don't clobber the real reason we failed */
|
||||
|
@ -6715,6 +6715,7 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s)
|
||||
/* setend */
|
||||
if (((insn >> 9) & 1) != s->bswap_code) {
|
||||
/* Dynamic endianness switching not implemented. */
|
||||
qemu_log_mask(LOG_UNIMP, "arm: unimplemented setend\n");
|
||||
goto illegal_op;
|
||||
}
|
||||
return;
|
||||
@ -8740,6 +8741,8 @@ static int disas_thumb2_insn(CPUARMState *env, DisasContext *s, uint16_t insn_hw
|
||||
|
||||
if (insn & (1 << 26)) {
|
||||
/* Secure monitor call (v6Z) */
|
||||
qemu_log_mask(LOG_UNIMP,
|
||||
"arm: unimplemented secure monitor call\n");
|
||||
goto illegal_op; /* not implemented. */
|
||||
} else {
|
||||
op = (insn >> 20) & 7;
|
||||
@ -9779,6 +9782,7 @@ static void disas_thumb_insn(CPUARMState *env, DisasContext *s)
|
||||
ARCH(6);
|
||||
if (((insn >> 3) & 1) != s->bswap_code) {
|
||||
/* Dynamic endianness switching not implemented. */
|
||||
qemu_log_mask(LOG_UNIMP, "arm: unimplemented setend\n");
|
||||
goto illegal_op;
|
||||
}
|
||||
break;
|
||||
|
@ -415,13 +415,6 @@ static void tcg_out_i(TCGContext *s, tcg_target_ulong v)
|
||||
s->code_ptr += sizeof(tcg_target_ulong);
|
||||
}
|
||||
|
||||
/* Write 64 bit value. */
|
||||
static void tcg_out64(TCGContext *s, uint64_t v)
|
||||
{
|
||||
*(uint64_t *)s->code_ptr = v;
|
||||
s->code_ptr += sizeof(v);
|
||||
}
|
||||
|
||||
/* Write opcode. */
|
||||
static void tcg_out_op_t(TCGContext *s, TCGOpcode op)
|
||||
{
|
||||
|
@ -396,7 +396,7 @@ static void test_timer_schedule(void)
|
||||
g_assert(!aio_poll(ctx, false));
|
||||
g_assert_cmpint(data.n, ==, 0);
|
||||
|
||||
sleep(1);
|
||||
g_usleep(1 * G_USEC_PER_SEC);
|
||||
g_assert_cmpint(data.n, ==, 0);
|
||||
|
||||
g_assert(aio_poll(ctx, false));
|
||||
@ -729,7 +729,7 @@ static void test_source_timer_schedule(void)
|
||||
|
||||
g_assert_cmpint(data.n, ==, 0);
|
||||
|
||||
sleep(1);
|
||||
g_usleep(1 * G_USEC_PER_SEC);
|
||||
g_assert_cmpint(data.n, ==, 0);
|
||||
|
||||
g_assert(g_main_context_iteration(NULL, false));
|
||||
@ -739,7 +739,7 @@ static void test_source_timer_schedule(void)
|
||||
do {
|
||||
g_assert(g_main_context_iteration(NULL, true));
|
||||
} while (qemu_clock_get_ns(data.clock_type) <= expiry);
|
||||
sleep(1);
|
||||
g_usleep(1 * G_USEC_PER_SEC);
|
||||
g_main_context_iteration(NULL, false);
|
||||
|
||||
g_assert_cmpint(data.n, ==, 2);
|
||||
|
Loading…
Reference in New Issue
Block a user