提交 5a93d5c2 编写于 作者: A Anthony Liguori

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: NAnthony Liguori <anthony@codemonkey.ws>
...@@ -290,7 +290,7 @@ static void coroutine_fn backup_run(void *opaque) ...@@ -290,7 +290,7 @@ static void coroutine_fn backup_run(void *opaque)
for (i = 0; i < BACKUP_SECTORS_PER_CLUSTER;) { for (i = 0; i < BACKUP_SECTORS_PER_CLUSTER;) {
/* bdrv_co_is_allocated() only returns true/false based /* 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. * are are all in the same state.
* For that reason we must verify each sector in the * For that reason we must verify each sector in the
* backup cluster length. We end up copying more than * backup cluster length. We end up copying more than
......
...@@ -572,12 +572,6 @@ static BlockDriverAIOCB *curl_aio_readv(BlockDriverState *bs, ...@@ -572,12 +572,6 @@ static BlockDriverAIOCB *curl_aio_readv(BlockDriverState *bs,
acb->nb_sectors = nb_sectors; acb->nb_sectors = nb_sectors;
acb->bh = qemu_bh_new(curl_readv_bh_cb, acb); 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); qemu_bh_schedule(acb->bh);
return &acb->common; return &acb->common;
} }
......
...@@ -572,7 +572,7 @@ fi ...@@ -572,7 +572,7 @@ fi
: ${make=${MAKE-make}} : ${make=${MAKE-make}}
: ${install=${INSTALL-install}} : ${install=${INSTALL-install}}
: ${python=${PYTHON-python}} : ${python=${PYTHON-python -B}}
: ${smbd=${SMBD-/usr/sbin/smbd}} : ${smbd=${SMBD-/usr/sbin/smbd}}
# Default objcc to clang if available, otherwise use CC # Default objcc to clang if available, otherwise use CC
...@@ -1213,6 +1213,7 @@ gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_ ...@@ -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="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
gcc_flags="-Wendif-labels $gcc_flags" gcc_flags="-Wendif-labels $gcc_flags"
gcc_flags="-Wno-initializer-overrides $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 # 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 # enable it for all configure tests. If a configure test failed due
# to -Werror this would just silently disable some features, # to -Werror this would just silently disable some features,
...@@ -1357,7 +1358,7 @@ fi ...@@ -1357,7 +1358,7 @@ fi
# Note that if the Python conditional here evaluates True we will exit # Note that if the Python conditional here evaluates True we will exit
# with status 1 which is a shell 'false' value. # 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." \ error_exit "Cannot use '$python', Python 2.4 or later is required." \
"Note that Python 3 or later is not yet supported." \ "Note that Python 3 or later is not yet supported." \
"Use --python=/path/to/python to specify a supported Python." "Use --python=/path/to/python to specify a supported Python."
...@@ -1478,7 +1479,7 @@ libs_softmmu="$libs_softmmu -lz" ...@@ -1478,7 +1479,7 @@ libs_softmmu="$libs_softmmu -lz"
# libseccomp check # libseccomp check
if test "$seccomp" != "no" ; then 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`" libs_softmmu="$libs_softmmu `$pkg_config --libs libseccomp`"
QEMU_CFLAGS="$QEMU_CFLAGS `$pkg_config --cflags libseccomp`" QEMU_CFLAGS="$QEMU_CFLAGS `$pkg_config --cflags libseccomp`"
seccomp="yes" seccomp="yes"
...@@ -1712,10 +1713,10 @@ if test "$gtk" != "no"; then ...@@ -1712,10 +1713,10 @@ if test "$gtk" != "no"; then
fi fi
gtk="no" gtk="no"
else else
gtk_cflags=`$pkg_config --cflags $gtkpackage 2>/dev/null` gtk_cflags=`$pkg_config --cflags $gtkpackage`
gtk_libs=`$pkg_config --libs $gtkpackage 2>/dev/null` gtk_libs=`$pkg_config --libs $gtkpackage`
vte_cflags=`$pkg_config --cflags $vtepackage 2>/dev/null` vte_cflags=`$pkg_config --cflags $vtepackage`
vte_libs=`$pkg_config --libs $vtepackage 2>/dev/null` vte_libs=`$pkg_config --libs $vtepackage`
libs_softmmu="$gtk_libs $vte_libs $libs_softmmu" libs_softmmu="$gtk_libs $vte_libs $libs_softmmu"
gtk="yes" gtk="yes"
fi fi
...@@ -1730,7 +1731,7 @@ if test "`basename $sdl_config`" != sdl-config && ! has ${sdl_config}; then ...@@ -1730,7 +1731,7 @@ if test "`basename $sdl_config`" != sdl-config && ! has ${sdl_config}; then
sdl_config=sdl-config sdl_config=sdl-config
fi fi
if $pkg_config sdl --modversion >/dev/null 2>&1; then if $pkg_config sdl --exists; then
sdlconfig="$pkg_config sdl" sdlconfig="$pkg_config sdl"
_sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'` _sdlversion=`$sdlconfig --modversion 2>/dev/null | sed 's/[^0-9]//g'`
elif has ${sdl_config}; then elif has ${sdl_config}; then
...@@ -1916,9 +1917,9 @@ int main(void) { ...@@ -1916,9 +1917,9 @@ int main(void) {
return png_ptr != 0; return png_ptr != 0;
} }
EOF EOF
if $pkg_config libpng --modversion >/dev/null 2>&1; then if $pkg_config libpng --exists; then
vnc_png_cflags=`$pkg_config libpng --cflags 2> /dev/null` vnc_png_cflags=`$pkg_config libpng --cflags`
vnc_png_libs=`$pkg_config libpng --libs 2> /dev/null` vnc_png_libs=`$pkg_config libpng --libs`
else else
vnc_png_cflags="" vnc_png_cflags=""
vnc_png_libs="-lpng" vnc_png_libs="-lpng"
...@@ -2195,7 +2196,7 @@ fi ...@@ -2195,7 +2196,7 @@ fi
########################################## ##########################################
# curl probe # curl probe
if test "$curl" != "no" ; then 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" curlconfig="$pkg_config libcurl"
else else
curlconfig=curl-config curlconfig=curl-config
...@@ -2247,10 +2248,9 @@ if test "$mingw32" = yes; then ...@@ -2247,10 +2248,9 @@ if test "$mingw32" = yes; then
else else
glib_req_ver=2.12 glib_req_ver=2.12
fi fi
if $pkg_config --atleast-version=$glib_req_ver gthread-2.0 > /dev/null 2>&1 if $pkg_config --atleast-version=$glib_req_ver gthread-2.0; then
then glib_cflags=`$pkg_config --cflags gthread-2.0`
glib_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null` glib_libs=`$pkg_config --libs gthread-2.0`
glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null`
LIBS="$glib_libs $LIBS" LIBS="$glib_libs $LIBS"
libs_qga="$glib_libs $libs_qga" libs_qga="$glib_libs $libs_qga"
else else
...@@ -2279,8 +2279,8 @@ if test "$pixman" = "none"; then ...@@ -2279,8 +2279,8 @@ if test "$pixman" = "none"; then
pixman_cflags= pixman_cflags=
pixman_libs= pixman_libs=
elif test "$pixman" = "system"; then elif test "$pixman" = "system"; then
pixman_cflags=`$pkg_config --cflags pixman-1 2>/dev/null` pixman_cflags=`$pkg_config --cflags pixman-1`
pixman_libs=`$pkg_config --libs pixman-1 2>/dev/null` pixman_libs=`$pkg_config --libs pixman-1`
else else
if test ! -d ${source_path}/pixman/pixman; then if test ! -d ${source_path}/pixman/pixman; then
error_exit "pixman not present. Your options:" \ error_exit "pixman not present. Your options:" \
...@@ -2379,8 +2379,7 @@ fi ...@@ -2379,8 +2379,7 @@ fi
# libssh2 probe # libssh2 probe
min_libssh2_version=1.2.8 min_libssh2_version=1.2.8
if test "$libssh2" != "no" ; then if test "$libssh2" != "no" ; then
if $pkg_config --atleast-version=$min_libssh2_version libssh2 >/dev/null 2>&1 if $pkg_config --atleast-version=$min_libssh2_version libssh2; then
then
libssh2_cflags=`$pkg_config libssh2 --cflags` libssh2_cflags=`$pkg_config libssh2 --cflags`
libssh2_libs=`$pkg_config libssh2 --libs` libssh2_libs=`$pkg_config libssh2 --libs`
libssh2=yes libssh2=yes
...@@ -2598,14 +2597,14 @@ fi ...@@ -2598,14 +2597,14 @@ fi
########################################## ##########################################
# glusterfs probe # glusterfs probe
if test "$glusterfs" != "no" ; then 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="yes"
glusterfs_cflags=`$pkg_config --cflags glusterfs-api 2>/dev/null` glusterfs_cflags=`$pkg_config --cflags glusterfs-api`
glusterfs_libs=`$pkg_config --libs glusterfs-api 2>/dev/null` glusterfs_libs=`$pkg_config --libs glusterfs-api`
CFLAGS="$CFLAGS $glusterfs_cflags" CFLAGS="$CFLAGS $glusterfs_cflags"
libs_tools="$glusterfs_libs $libs_tools" libs_tools="$glusterfs_libs $libs_tools"
libs_softmmu="$glusterfs_libs $libs_softmmu" 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" glusterfs_discard="yes"
fi fi
else else
...@@ -2968,10 +2967,10 @@ if test "$libiscsi" != "no" ; then ...@@ -2968,10 +2967,10 @@ if test "$libiscsi" != "no" ; then
#include <iscsi/iscsi.h> #include <iscsi/iscsi.h>
int main(void) { iscsi_unmap_sync(NULL,0,0,0,NULL,0); return 0; } int main(void) { iscsi_unmap_sync(NULL,0,0,0,NULL,0); return 0; }
EOF 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="yes"
libiscsi_cflags=$($pkg_config --cflags libiscsi 2>/dev/null) libiscsi_cflags=$($pkg_config --cflags libiscsi)
libiscsi_libs=$($pkg_config --libs libiscsi 2>/dev/null) libiscsi_libs=$($pkg_config --libs libiscsi)
CFLAGS="$CFLAGS $libiscsi_cflags" CFLAGS="$CFLAGS $libiscsi_cflags"
LIBS="$LIBS $libiscsi_libs" LIBS="$LIBS $libiscsi_libs"
elif compile_prog "" "-liscsi" ; then elif compile_prog "" "-liscsi" ; then
...@@ -3038,8 +3037,8 @@ int main(void) { spice_server_new(); return 0; } ...@@ -3038,8 +3037,8 @@ int main(void) { spice_server_new(); return 0; }
EOF EOF
spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null) spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
spice_libs=$($pkg_config --libs 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 && \ if $pkg_config --atleast-version=0.12.0 spice-server && \
$pkg_config --atleast-version=0.12.3 spice-protocol > /dev/null 2>&1 && \ $pkg_config --atleast-version=0.12.3 spice-protocol && \
compile_prog "$spice_cflags" "$spice_libs" ; then compile_prog "$spice_cflags" "$spice_libs" ; then
spice="yes" spice="yes"
libs_softmmu="$libs_softmmu $spice_libs" libs_softmmu="$libs_softmmu $spice_libs"
...@@ -3074,7 +3073,7 @@ EOF ...@@ -3074,7 +3073,7 @@ EOF
test_cflags="-Werror $test_cflags" test_cflags="-Werror $test_cflags"
fi fi
if test -n "$libtool" && 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 compile_prog "$test_cflags" "$libcacard_libs"; then
smartcard_nss="yes" smartcard_nss="yes"
QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags" QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags"
...@@ -3090,11 +3089,11 @@ fi ...@@ -3090,11 +3089,11 @@ fi
# check for libusb # check for libusb
if test "$libusb" != "no" ; then 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" libusb="yes"
usb="libusb" usb="libusb"
libusb_cflags=$($pkg_config --cflags libusb-1.0 2>/dev/null) libusb_cflags=$($pkg_config --cflags libusb-1.0)
libusb_libs=$($pkg_config --libs libusb-1.0 2>/dev/null) libusb_libs=$($pkg_config --libs libusb-1.0)
QEMU_CFLAGS="$QEMU_CFLAGS $libusb_cflags" QEMU_CFLAGS="$QEMU_CFLAGS $libusb_cflags"
libs_softmmu="$libs_softmmu $libusb_libs" libs_softmmu="$libs_softmmu $libusb_libs"
else else
...@@ -3107,10 +3106,10 @@ fi ...@@ -3107,10 +3106,10 @@ fi
# check for usbredirparser for usb network redirection support # check for usbredirparser for usb network redirection support
if test "$usb_redir" != "no" ; then 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="yes"
usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5 2>/dev/null) usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5)
usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5 2>/dev/null) usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5)
QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags" QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
libs_softmmu="$libs_softmmu $usb_redir_libs" libs_softmmu="$libs_softmmu $usb_redir_libs"
else else
......
...@@ -284,9 +284,9 @@ static void Adlib_fini (AdlibState *s) ...@@ -284,9 +284,9 @@ static void Adlib_fini (AdlibState *s)
} }
static MemoryRegionPortio adlib_portio_list[] = { static MemoryRegionPortio adlib_portio_list[] = {
{ 0x388, 4, 1, .read = adlib_read, .write = adlib_write, },
{ 0, 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, }, { 0, 2, 1, .read = adlib_read, .write = adlib_write, },
{ 0x388, 4, 1, .read = adlib_read, .write = adlib_write, },
PORTIO_END_OF_LIST(), PORTIO_END_OF_LIST(),
}; };
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#ifdef PFLASH_DEBUG #ifdef PFLASH_DEBUG
#define DPRINTF(fmt, ...) \ #define DPRINTF(fmt, ...) \
do { \ do { \
fprintf(stderr "PFLASH: " fmt , ## __VA_ARGS__); \ fprintf(stderr, "PFLASH: " fmt , ## __VA_ARGS__); \
} while (0) } while (0)
#else #else
#define DPRINTF(fmt, ...) do { } while (0) #define DPRINTF(fmt, ...) do { } while (0)
......
...@@ -124,7 +124,7 @@ static void sch_handle_clear_func(SubchDev *sch) ...@@ -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 management: In our simple css, we always choose the only path. */
path = 0x80; path = 0x80;
/* Reset values prior to 'issueing the clear signal'. */ /* Reset values prior to 'issuing the clear signal'. */
p->lpum = 0; p->lpum = 0;
p->pom = 0xff; p->pom = 0xff;
s->flags &= ~SCSW_FLAGS_MASK_PNO; s->flags &= ~SCSW_FLAGS_MASK_PNO;
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
#define CURTICNT 0x0090 #define CURTICNT 0x0090
#define TICK_TIMER_ENABLE 0x0100 #define TICK_TIMER_ENABLE 0x0100
#define TICNT_THRESHHOLD 2 #define TICNT_THRESHOLD 2
#define RTC_ENABLE 0x0001 #define RTC_ENABLE 0x0001
...@@ -429,7 +429,7 @@ static void exynos4210_rtc_write(void *opaque, hwaddr offset, ...@@ -429,7 +429,7 @@ static void exynos4210_rtc_write(void *opaque, hwaddr offset,
s->reg_rtccon = value; s->reg_rtccon = value;
break; break;
case TICCNT: case TICCNT:
if (value > TICNT_THRESHHOLD) { if (value > TICNT_THRESHOLD) {
s->reg_ticcnt = value; s->reg_ticcnt = value;
} else { } else {
fprintf(stderr, fprintf(stderr,
......
...@@ -640,8 +640,8 @@ typedef struct { ...@@ -640,8 +640,8 @@ typedef struct {
#define OCF_SETUP_SYNC_CONN 0x0028 #define OCF_SETUP_SYNC_CONN 0x0028
typedef struct { typedef struct {
uint16_t handle; uint16_t handle;
uint32_t tx_bandwith; uint32_t tx_bandwidth;
uint32_t rx_bandwith; uint32_t rx_bandwidth;
uint16_t max_latency; uint16_t max_latency;
uint16_t voice_setting; uint16_t voice_setting;
uint8_t retrans_effort; uint8_t retrans_effort;
...@@ -652,8 +652,8 @@ typedef struct { ...@@ -652,8 +652,8 @@ typedef struct {
#define OCF_ACCEPT_SYNC_CONN_REQ 0x0029 #define OCF_ACCEPT_SYNC_CONN_REQ 0x0029
typedef struct { typedef struct {
bdaddr_t bdaddr; bdaddr_t bdaddr;
uint32_t tx_bandwith; uint32_t tx_bandwidth;
uint32_t rx_bandwith; uint32_t rx_bandwidth;
uint16_t max_latency; uint16_t max_latency;
uint16_t voice_setting; uint16_t voice_setting;
uint8_t retrans_effort; uint8_t retrans_effort;
......
...@@ -232,7 +232,7 @@ vcard_apdu_set_class(VCardAPDU *apdu) { ...@@ -232,7 +232,7 @@ vcard_apdu_set_class(VCardAPDU *apdu) {
case 0xf0: case 0xf0:
default: default:
apdu->a_gen_type = 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; break;
} }
return VCARD7816_STATUS_SUCCESS; return VCARD7816_STATUS_SUCCESS;
......
...@@ -43,7 +43,7 @@ typedef enum { ...@@ -43,7 +43,7 @@ typedef enum {
VCARD_7816_ISO, VCARD_7816_ISO,
VCARD_7816_RFU, VCARD_7816_RFU,
VCARD_7816_PTS, VCARD_7816_PTS,
VCARD_7816_PROPIETARY VCARD_7816_PROPRIETARY
} VCardAPDUType; } VCardAPDUType;
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
#define EV_SUCCESS 0 #define EV_SUCCESS 0
#define EV_EPERM 1 /* Operation not permitted */ #define EV_EPERM 1 /* Operation not permitted */
#define EV_ENOENT 2 /* Entry Not Found */ #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 #define EV_EAGAIN 4 /* The operation had insufficient
* resources to complete and should be * resources to complete and should be
* retried * retried
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
#define EV_ENODEV 7 /* No such device */ #define EV_ENODEV 7 /* No such device */
#define EV_EINVAL 8 /* An argument supplied to the hcall #define EV_EINVAL 8 /* An argument supplied to the hcall
was out of range or invalid */ 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_CONFIG 10 /* A configuration error was detected */
#define EV_INVALID_STATE 11 /* The object is in an invalid state */ #define EV_INVALID_STATE 11 /* The object is in an invalid state */
#define EV_UNIMPLEMENTED 12 /* Unimplemented hypercall */ #define EV_UNIMPLEMENTED 12 /* Unimplemented hypercall */
......
...@@ -756,7 +756,7 @@ static void qemu_rdma_dump_gid(const char *who, struct rdma_cm_id *id) ...@@ -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 * connections (both IPv4 and IPv6) if the destination machine does not have
* a regular infiniband network available for use. * 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 * for the management software to choose a *specific* interface at bind time
* and validate what time of hardware it is. * 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) ...@@ -778,7 +778,7 @@ static void qemu_rdma_dump_gid(const char *who, struct rdma_cm_id *id)
* Infiniband. * Infiniband.
* *
* If we detect that we have a *pure* RoCE environment, then we can safely * 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. * bind address.
* *
* However, if there is are multiple hetergeneous devices, then we cannot make * 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) ...@@ -801,7 +801,7 @@ static int qemu_rdma_broken_ipv6_kernel(Error **errp, struct ibv_context *verbs)
* devices (non-ethernet). * devices (non-ethernet).
* *
* If not, then we can safely proceed with the migration. * 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) { if (!verbs) {
int num_devices, x; int num_devices, x;
...@@ -920,9 +920,11 @@ static int qemu_rdma_resolve_host(RDMAContext *rdma, Error **errp) ...@@ -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, ret = rdma_resolve_addr(rdma->cm_id, NULL, e->ai_dst_addr,
RDMA_RESOLVE_TIMEOUT_MS); RDMA_RESOLVE_TIMEOUT_MS);
if (!ret) { if (!ret) {
ret = qemu_rdma_broken_ipv6_kernel(errp, rdma->cm_id->verbs); if (e->ai_family == AF_INET6) {
if (ret) { ret = qemu_rdma_broken_ipv6_kernel(errp, rdma->cm_id->verbs);
continue; if (ret) {
continue;
}
} }
goto route; goto route;
} }
......
...@@ -1402,22 +1402,22 @@ Change I/O throttle limits for a block drive. ...@@ -1402,22 +1402,22 @@ Change I/O throttle limits for a block drive.
Arguments: Arguments:
- "device": device name (json-string) - "device": device name (json-string)
- "bps": total throughput limit in bytes 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_rd": read throughput limit in bytes per second (json-int)
- "bps_wr": 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": total I/O operations per second (json-int)
- "iops_rd": read 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) - "iops_wr": write I/O operations per second (json-int)
Example: Example:
-> { "execute": "block_set_io_throttle", "arguments": { "device": "virtio0", -> { "execute": "block_set_io_throttle", "arguments": { "device": "virtio0",
"bps": "1000000", "bps": 1000000,
"bps_rd": "0", "bps_rd": 0,
"bps_wr": "0", "bps_wr": 0,
"iops": "0", "iops": 0,
"iops_rd": "0", "iops_rd": 0,
"iops_wr": "0" } } "iops_wr": 0 } }
<- { "return": {} } <- { "return": {} }
EQMP EQMP
...@@ -1791,7 +1791,7 @@ Each json-object contain the following: ...@@ -1791,7 +1791,7 @@ Each json-object contain the following:
- "vm-state-size": size of the VM state in bytes (json-int) - "vm-state-size": size of the VM state in bytes (json-int)
- "date-sec": UTC date of the snapshot in seconds (json-int) - "date-sec": UTC date of the snapshot in seconds (json-int)
- "date-nsec": fractional part in nanoseconds to be used with - "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 - "vm-clock-sec": VM clock relative to boot in seconds
(json-int) (json-int)
- "vm-clock-nsec": fractional part in nanoseconds to be used - "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]) ...@@ -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])); ethaddr[3], ethaddr[4], ethaddr[5]));
/* Check 0.0.0.0/8 invalid source-only addresses */ /* 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; return;
} }
...@@ -74,7 +74,7 @@ bool arp_table_search(Slirp *slirp, uint32_t ip_addr, ...@@ -74,7 +74,7 @@ bool arp_table_search(Slirp *slirp, uint32_t ip_addr,
DEBUG_ARG("ip = 0x%x", ip_addr); DEBUG_ARG("ip = 0x%x", ip_addr);
/* Check 0.0.0.0/8 invalid source-only addresses */ /* 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 broadcast address */
if (ip_addr == 0xffffffff || ip_addr == broadcast_addr) { 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, ...@@ -627,7 +627,9 @@ tcp_listen(Slirp *slirp, uint32_t haddr, u_int hport, uint32_t laddr,
addr.sin_port = hport; addr.sin_port = hport;
if (((s = qemu_socket(AF_INET,SOCK_STREAM,0)) < 0) || if (((s = qemu_socket(AF_INET,SOCK_STREAM,0)) < 0) ||
#ifndef _WIN32
(qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)) < 0) || (qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)) < 0) ||
#endif
(bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) || (bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) ||
(listen(s,1) < 0)) { (listen(s,1) < 0)) {
int tmperrno = errno; /* Don't clobber the real reason we failed */ int tmperrno = errno; /* Don't clobber the real reason we failed */
......
...@@ -6715,6 +6715,7 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s) ...@@ -6715,6 +6715,7 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s)
/* setend */ /* setend */
if (((insn >> 9) & 1) != s->bswap_code) { if (((insn >> 9) & 1) != s->bswap_code) {
/* Dynamic endianness switching not implemented. */ /* Dynamic endianness switching not implemented. */
qemu_log_mask(LOG_UNIMP, "arm: unimplemented setend\n");
goto illegal_op; goto illegal_op;
} }
return; return;
...@@ -8740,6 +8741,8 @@ static int disas_thumb2_insn(CPUARMState *env, DisasContext *s, uint16_t insn_hw ...@@ -8740,6 +8741,8 @@ static int disas_thumb2_insn(CPUARMState *env, DisasContext *s, uint16_t insn_hw
if (insn & (1 << 26)) { if (insn & (1 << 26)) {
/* Secure monitor call (v6Z) */ /* Secure monitor call (v6Z) */
qemu_log_mask(LOG_UNIMP,
"arm: unimplemented secure monitor call\n");
goto illegal_op; /* not implemented. */ goto illegal_op; /* not implemented. */
} else { } else {
op = (insn >> 20) & 7; op = (insn >> 20) & 7;
...@@ -9779,6 +9782,7 @@ static void disas_thumb_insn(CPUARMState *env, DisasContext *s) ...@@ -9779,6 +9782,7 @@ static void disas_thumb_insn(CPUARMState *env, DisasContext *s)
ARCH(6); ARCH(6);
if (((insn >> 3) & 1) != s->bswap_code) { if (((insn >> 3) & 1) != s->bswap_code) {
/* Dynamic endianness switching not implemented. */ /* Dynamic endianness switching not implemented. */
qemu_log_mask(LOG_UNIMP, "arm: unimplemented setend\n");
goto illegal_op; goto illegal_op;
} }
break; break;
......
...@@ -415,13 +415,6 @@ static void tcg_out_i(TCGContext *s, tcg_target_ulong v) ...@@ -415,13 +415,6 @@ static void tcg_out_i(TCGContext *s, tcg_target_ulong v)
s->code_ptr += sizeof(tcg_target_ulong); 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. */ /* Write opcode. */
static void tcg_out_op_t(TCGContext *s, TCGOpcode op) static void tcg_out_op_t(TCGContext *s, TCGOpcode op)
{ {
......
...@@ -396,7 +396,7 @@ static void test_timer_schedule(void) ...@@ -396,7 +396,7 @@ static void test_timer_schedule(void)
g_assert(!aio_poll(ctx, false)); g_assert(!aio_poll(ctx, false));
g_assert_cmpint(data.n, ==, 0); g_assert_cmpint(data.n, ==, 0);
sleep(1); g_usleep(1 * G_USEC_PER_SEC);
g_assert_cmpint(data.n, ==, 0); g_assert_cmpint(data.n, ==, 0);
g_assert(aio_poll(ctx, false)); g_assert(aio_poll(ctx, false));
...@@ -729,7 +729,7 @@ static void test_source_timer_schedule(void) ...@@ -729,7 +729,7 @@ static void test_source_timer_schedule(void)
g_assert_cmpint(data.n, ==, 0); g_assert_cmpint(data.n, ==, 0);
sleep(1); g_usleep(1 * G_USEC_PER_SEC);
g_assert_cmpint(data.n, ==, 0); g_assert_cmpint(data.n, ==, 0);
g_assert(g_main_context_iteration(NULL, false)); g_assert(g_main_context_iteration(NULL, false));
...@@ -739,7 +739,7 @@ static void test_source_timer_schedule(void) ...@@ -739,7 +739,7 @@ static void test_source_timer_schedule(void)
do { do {
g_assert(g_main_context_iteration(NULL, true)); g_assert(g_main_context_iteration(NULL, true));
} while (qemu_clock_get_ns(data.clock_type) <= expiry); } 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_main_context_iteration(NULL, false);
g_assert_cmpint(data.n, ==, 2); g_assert_cmpint(data.n, ==, 2);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册