mirror of https://gitee.com/openkylin/qemu.git
various bugfixes for 3.1: fmops, ps2, cirrus, hda, usb-host, qapi
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJb/OjpAAoJEEy22O7T6HE44jYQAM3G/VpOnlfHjRP9FUNyW9rW tIKnRzabMirgGIR91Z9zgVA/WprI+v5XMZ6MzYasxF20c87I3apAwwh6ihFmaw2A h+X2379194VAcBBFdhKbkXm32M1b6eeIsUCp1atVbCxNmshbMTIcAt4E7/IkI+zr 0V9lES3XEd7bvFyYmZtlQJj0ugaBa2H/GvPc9X6oIVxKQJbJ2z/Po3hGUTRFp6hN kWxWV/TcVXlQ0qhj9slVMUPr6dI9iZ6jlxNJ1OBbD8TMTIwVpyITvsuvUT+qEYuE kAg6J15ChtV2AnNLu1TfyCVvr+x2ExPvIJEgFvsKvaQCEMMRSB9xYd5whEQusnHY F39mSbOLNcrHDlyjm6AySH5FDrzhJun1ZmfRsvHe9xsojE0X1R+Ygkvch9vldTxO XEGqacaz6jdzHy19PSTlypsJG+yIzZXYntEwLCsI+xd/JzLwQXAkMSiu01WWr+hM iHOOdbYLUfv4iTIrOjBZB8l/2M0nSlP2LZz8UmWcmLxMkPTYh+fowgp7PqZWj7ws ayDAC8t4Qy0dEv96/zpsgpl7/GSCTSTSs2GY+2Ft9FFLHHDKlF6rgWKbfMyM2dCD zPlFl99ZdtvMBlwG+kt5J3UaS2JB0u6h1I6bgliIUz1i+Jf79Y1diMA8SPmf+PJ0 U9xx4tiXzCGCbZIUdqGX =RmNv -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kraxel/tags/fixes-31-20181127-pull-request' into staging various bugfixes for 3.1: fmops, ps2, cirrus, hda, usb-host, qapi # gpg: Signature made Tue 27 Nov 2018 06:49:13 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/fixes-31-20181127-pull-request: qapi: add query-display-options command usb-host: set ifs.detached as true if kernel driver is not active audio/hda: fix guest triggerable assert cirrus_vga/migration: update the bank offset before use ps2kbd: default to scan enabled after reset fmops: fix off-by-one in AR_TABLE and DR_TABLE array size Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
4822f1ee9e
|
@ -72,8 +72,8 @@ typedef struct fm_opl_f {
|
|||
/* Rhythm sention */
|
||||
uint8_t rhythm; /* Rhythm mode , key flag */
|
||||
/* time tables */
|
||||
int32_t AR_TABLE[75]; /* atttack rate tables */
|
||||
int32_t DR_TABLE[75]; /* decay rate tables */
|
||||
int32_t AR_TABLE[76]; /* attack rate tables */
|
||||
int32_t DR_TABLE[76]; /* decay rate tables */
|
||||
uint32_t FN_TABLE[1024]; /* fnumber -> increment counter */
|
||||
/* LFO */
|
||||
int32_t *ams_table;
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "hw/pci/msi.h"
|
||||
#include "qemu/timer.h"
|
||||
#include "qemu/bitops.h"
|
||||
#include "qemu/log.h"
|
||||
#include "hw/audio/soundhw.h"
|
||||
#include "intel-hda.h"
|
||||
#include "intel-hda-defs.h"
|
||||
|
@ -929,6 +930,11 @@ static void intel_hda_reg_write(IntelHDAState *d, const IntelHDAReg *reg, uint32
|
|||
if (!reg) {
|
||||
return;
|
||||
}
|
||||
if (!reg->wmask) {
|
||||
qemu_log_mask(LOG_GUEST_ERROR, "intel-hda: write to r/o reg %s\n",
|
||||
reg->name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (d->debug) {
|
||||
time_t now = time(NULL);
|
||||
|
|
|
@ -2746,11 +2746,12 @@ static int cirrus_post_load(void *opaque, int version_id)
|
|||
s->vga.gr[0x00] = s->cirrus_shadow_gr0 & 0x0f;
|
||||
s->vga.gr[0x01] = s->cirrus_shadow_gr1 & 0x0f;
|
||||
|
||||
cirrus_update_bank_ptr(s, 0);
|
||||
cirrus_update_bank_ptr(s, 1);
|
||||
cirrus_update_memory_access(s);
|
||||
/* force refresh */
|
||||
s->vga.graphic_mode = -1;
|
||||
cirrus_update_bank_ptr(s, 0);
|
||||
cirrus_update_bank_ptr(s, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -942,7 +942,7 @@ static void ps2_kbd_reset(void *opaque)
|
|||
|
||||
trace_ps2_kbd_reset(opaque);
|
||||
ps2_common_reset(&s->common);
|
||||
s->scan_enabled = 0;
|
||||
s->scan_enabled = 1;
|
||||
s->translate = 0;
|
||||
s->scancode_set = 2;
|
||||
s->modifiers = 0;
|
||||
|
|
|
@ -1120,6 +1120,9 @@ static void usb_host_detach_kernel(USBHostDevice *s)
|
|||
rc = libusb_kernel_driver_active(s->dh, i);
|
||||
usb_host_libusb_error("libusb_kernel_driver_active", rc);
|
||||
if (rc != 1) {
|
||||
if (rc == 0) {
|
||||
s->ifs[i].detached = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
trace_usb_host_detach_kernel(s->bus_num, s->addr, i);
|
||||
|
|
13
qapi/ui.json
13
qapi/ui.json
|
@ -1102,3 +1102,16 @@
|
|||
'discriminator' : 'type',
|
||||
'data' : { 'gtk' : 'DisplayGTK',
|
||||
'egl-headless' : 'DisplayEGLHeadless'} }
|
||||
|
||||
##
|
||||
# @query-display-options:
|
||||
#
|
||||
# Returns information about display configuration
|
||||
#
|
||||
# Returns: @DisplayOptions
|
||||
#
|
||||
# Since: 3.1
|
||||
#
|
||||
##
|
||||
{ 'command': 'query-display-options',
|
||||
'returns': 'DisplayOptions' }
|
||||
|
|
6
vl.c
6
vl.c
|
@ -128,6 +128,7 @@ int main(int argc, char **argv)
|
|||
#include "qapi/qapi-commands-block-core.h"
|
||||
#include "qapi/qapi-commands-misc.h"
|
||||
#include "qapi/qapi-commands-run-state.h"
|
||||
#include "qapi/qapi-commands-ui.h"
|
||||
#include "qapi/qmp/qerror.h"
|
||||
#include "sysemu/iothread.h"
|
||||
|
||||
|
@ -2055,6 +2056,11 @@ static void parse_display_qapi(const char *optarg)
|
|||
visit_free(v);
|
||||
}
|
||||
|
||||
DisplayOptions *qmp_query_display_options(Error **errp)
|
||||
{
|
||||
return QAPI_CLONE(DisplayOptions, &dpy);
|
||||
}
|
||||
|
||||
static void parse_display(const char *p)
|
||||
{
|
||||
const char *opts;
|
||||
|
|
Loading…
Reference in New Issue