1. 31 1月, 2018 20 次提交
  2. 30 1月, 2018 9 次提交
  3. 29 1月, 2018 11 次提交
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/input-20180129-v2-pull-request' into staging · 30d9fefe
      Peter Maydell 提交于
      input: switch devices to keycodemapdb, bugfixes.
      
      # gpg: Signature made Mon 29 Jan 2018 10:23:00 GMT
      # gpg:                using RSA key 0x4CB6D8EED3E87138
      # 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/input-20180129-v2-pull-request:
        hw: convert virtio-input-hid device to keycodemapdb
        ui: fix alphabetical ordering of keymaps
        hw: convert the escc device to keycodemapdb
        hw: convert ps2 device to keycodemapdb
        ps2: check PS2Queue pointers in post_load routine
        input: virtio: don't send mouse wheel event twice
        input: add mouse side buttons to virtio input
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      30d9fefe
    • P
      Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging · 0d144291
      Peter Maydell 提交于
      # gpg: Signature made Mon 29 Jan 2018 08:14:19 GMT
      # gpg:                using RSA key 0xEF04965B398D6211
      # gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@redhat.com>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211
      
      * remotes/jasowang/tags/net-pull-request:
        MAINTAINERS: update Dmitry Fleytman email
        qemu-doc: Get rid of "vlan=X" example in the documentation
        net: Allow netdevs to be used with 'hostfwd_add' and 'hostfwd_remove'
        net: Allow hubports to connect to other netdevs
        colo: compare the packet based on the tcp sequence number
        colo: modified the payload compare function
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0d144291
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.12-20180129' into staging · fccfcc63
      Peter Maydell 提交于
      ppc patch queue 2018-01-29
      
      Here's another batch of patches for ppc, spapr and related things.
      Higlights:
      
        * Implement (with a bunch of necessary infrastructure) a hypercall
          to let guests properly apply Spectre and Meltdown workarounds.
        * Convert a number of old devices to trace events
        * Fix some bugs
      
      # gpg: Signature made Mon 29 Jan 2018 03:27:30 GMT
      # gpg:                using RSA key 0x6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>"
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-2.12-20180129:
        target/ppc/spapr: Add H-Call H_GET_CPU_CHARACTERISTICS
        target/ppc/spapr_caps: Add new tristate cap safe_indirect_branch
        target/ppc/spapr_caps: Add new tristate cap safe_bounds_check
        target/ppc/spapr_caps: Add new tristate cap safe_cache
        target/ppc/spapr_caps: Add support for tristate spapr_capabilities
        target/ppc/kvm: Add cap_ppc_safe_[cache/bounds_check/indirect_branch]
        spapr_pci: fix MSI/MSIX selection
        input: add missing newline from trace-events
        uninorth: convert to trace-events
        grackle: convert to trace-events
        ppc: Deprecate qemu-system-ppcemb
        ppc/pnv: fix PnvChip redefinition in <hw/ppc/pnv_xscom.h>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      fccfcc63
    • S
      tracetool: report error on foo() instead of foo(void) · 24f4d3d3
      Stefan Hajnoczi 提交于
      C functions with no arguments must be declared foo(void) instead of
      foo().  The tracetool argument list parser has never accepted an empty
      argument list.  This patch adds a clear error message for this error
      case.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20180110202553.31889-4-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      24f4d3d3
    • S
      tracetool: clarify that "formats" means "format strings" · 6e497fa1
      Stefan Hajnoczi 提交于
      The terminology used by tracetool is not consistent with C sprintf or
      docs/devel/tracing.txt.  The word "formats" is sometimes used to mean
      "format strings".
      
      This patch clarifies comments and error messages that contain this word.
      
      Note that the error message lines are longer than 80 characters but I
      have not wrapped them to aid grepping.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20180110202553.31889-3-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      6e497fa1
    • S
      tracetool: prefix parse errors with line numbers · 5069b561
      Stefan Hajnoczi 提交于
      Include the file line number in the message that is printed when
      trace-events parse errors are raised.
      
      [Use enumerate(fobj, 1) to avoid having to increment a 0-based index
      later, as suggested by Eric Blake.
      --Stefan]
      Suggested-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20180110202553.31889-2-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      5069b561
    • D
      hw: convert virtio-input-hid device to keycodemapdb · ae6b06ab
      Daniel P. Berrange 提交于
      Replace the keymap_qcode table with automatically generated
      tables.
      
      Missing entries in keymap_qcode now fixed:
      
        Q_KEY_CODE_ASTERISK -> KEY_KPASTERISK
        Q_KEY_CODE_KP_MULTIPLY -> KEY_KPASTERISK
        Q_KEY_CODE_STOP -> KEY_STOP
        Q_KEY_CODE_AGAIN -> KEY_AGAIN
        Q_KEY_CODE_PROPS -> KEY_PROPS
        Q_KEY_CODE_UNDO -> KEY_UNDO
        Q_KEY_CODE_FRONT -> KEY_FRONT
        Q_KEY_CODE_COPY -> KEY_COPY
        Q_KEY_CODE_OPEN -> KEY_OPEN
        Q_KEY_CODE_PASTE -> KEY_PASTE
        Q_KEY_CODE_FIND -> KEY_FIND
        Q_KEY_CODE_CUT -> KEY_CUT
        Q_KEY_CODE_LF -> KEY_LINEFEED
        Q_KEY_CODE_HELP -> KEY_HELP
        Q_KEY_CODE_COMPOSE -> KEY_COMPOSE
        Q_KEY_CODE_RO -> KEY_RO
        Q_KEY_CODE_HIRAGANA -> KEY_HIRAGANA
        Q_KEY_CODE_HENKAN -> KEY_HENKAN
        Q_KEY_CODE_YEN -> KEY_YEN
        Q_KEY_CODE_KP_COMMA -> KEY_KPCOMMA
        Q_KEY_CODE_KP_EQUALS -> KEY_KPEQUAL
        Q_KEY_CODE_POWER -> KEY_POWER
        Q_KEY_CODE_SLEEP -> KEY_SLEEP
        Q_KEY_CODE_WAKE -> KEY_WAKEUP
        Q_KEY_CODE_AUDIONEXT -> KEY_NEXTSONG
        Q_KEY_CODE_AUDIOPREV -> KEY_PREVIOUSSONG
        Q_KEY_CODE_AUDIOSTOP -> KEY_STOPCD
        Q_KEY_CODE_AUDIOPLAY -> KEY_PLAYPAUSE
        Q_KEY_CODE_AUDIOMUTE -> KEY_MUTE
        Q_KEY_CODE_VOLUMEUP -> KEY_VOLUMEUP
        Q_KEY_CODE_VOLUMEDOWN -> KEY_VOLUMEDOWN
        Q_KEY_CODE_MEDIASELECT -> KEY_MEDIA
        Q_KEY_CODE_MAIL -> KEY_MAIL
        Q_KEY_CODE_CALCULATOR -> KEY_CALC
        Q_KEY_CODE_COMPUTER -> KEY_COMPUTER
        Q_KEY_CODE_AC_HOME -> KEY_HOMEPAGE
        Q_KEY_CODE_AC_BACK -> KEY_BACK
        Q_KEY_CODE_AC_FORWARD -> KEY_FORWARD
        Q_KEY_CODE_AC_REFRESH -> KEY_REFRESH
        Q_KEY_CODE_AC_BOOKMARKS -> KEY_BOOKMARKS
      
      NB, the virtio-input device reports a bitmask to the guest driver that
      has a bit set for each Linux keycode that the host is able to send to
      the guest.
      
      Thus by adding these extra key mappings we are technically changing the
      host<->guest ABI. This would also happen any time we defined new mappings
      for QEMU keycodes in future.
      
      When a keycode is removed from the list of possible keycodes that host can
      send to the guest, it means that the guest OS will think it is possible
      to receive a key that in pratice can never be generated, which is harmless.
      
      When a keycode is added to the list of possible keycodes that the host can
      send to the guest, it means that the guest OS can see an unexpected event.
      The Linux virtio_input.c driver code simply forwards this event to the
      input_event() method in the Linux input subsystem. This in turn calls
      input_handle_event(), which then calls input_get_disposition(). This method
      checks if the input event is present in the permitted keys bitmap, and if
      not returns INPUT_IGNORE_EVENT. Thus the unexpected event will get dropped,
      which is harmless.
      
      If the guest OS reboots, or otherwise re-initializes the virt-input device,
      it will read the new keycode bitmap. No matter how many keys are defined,
      the config space has a fixed 128 byte bitmap. There is, however, a size
      field defiend which says how many bytes in the bitmap are used. So the guest
      OS reads the size of the bitmap, and then it reads the data from bitmap upto
      the designated size. So if the guest OS re-initializes at precisely the time
      that QEMU is migrated across versions, in the worst case, it could conceivably
      read the old size field, but then get the newly updated bitmap.  If a key were
      added this is harmless, since it simply means it may not process the newly
      added key. If a key were removed, then it could be readnig a byte from the
      bitmap that was not initialized. Fortunately QEMU always memsets() the entire
      bitmap to 0, prior to setting keybits. Thus the guest OS will simply read
      zeros, which is again harmless.
      
      Based on this analysis, it is believed that there is no need to preserve the
      virtio-input-hid keymaps across migration, as the host<->guest ABI change is
      harmless and self-resolving at time of guest reboot.
      
      NB, this behaviour should perhaps be formalized in the virtio-input spec
      to declare how guest OS drivers should be written to be robust in their
      handling of the potentially changable key bitmaps.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20180117164118.8510-5-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      ae6b06ab
    • D
      ui: fix alphabetical ordering of keymaps · 5a15e6b1
      Daniel P. Berrange 提交于
      The qcode-to-linux keymaps was accidentally added in the wrong place
      by
      
        commit de80d785
        Author: Owen Smith <owen.smith@citrix.com>
        Date:   Fri Nov 3 11:56:28 2017 +0000
      
          ui: generate qcode to linux mappings
      
      breaking the alphabetical ordering of keymaps
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20180117164118.8510-4-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      5a15e6b1
    • D
      hw: convert the escc device to keycodemapdb · e709a61a
      Daniel P. Berrange 提交于
      Replace the qcode_to_keycode table with automatically
      generated tables.
      
      Missing entries in qcode_to_keycode now fixed:
      
       - Q_KEY_CODE_KP_COMMA -> 0x2d
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20180117164118.8510-3-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      e709a61a
    • D
      hw: convert ps2 device to keycodemapdb · ab8f9d49
      Daniel P. Berrange 提交于
      Replace the qcode_to_keycode_set1, qcode_to_keycode_set2,
      and qcode_to_keycode_set3 tables with automatically
      generated tables.
      
      Missing entries in qcode_to_keycode_set1 now fixed:
      
       - Q_KEY_CODE_SYSRQ -> 0x54
       - Q_KEY_CODE_PRINT -> 0x54 (NB ignored due to special case)
       - Q_KEY_CODE_AGAIN -> 0xe005
       - Q_KEY_CODE_PROPS -> 0xe006
       - Q_KEY_CODE_UNDO -> 0xe007
       - Q_KEY_CODE_FRONT -> 0xe00c
       - Q_KEY_CODE_COPY -> 0xe078
       - Q_KEY_CODE_OPEN -> 0x64
       - Q_KEY_CODE_PASTE -> 0x65
       - Q_KEY_CODE_CUT -> 0xe03c
       - Q_KEY_CODE_LF -> 0x5b
       - Q_KEY_CODE_HELP -> 0xe075
       - Q_KEY_CODE_COMPOSE -> 0xe05d
       - Q_KEY_CODE_PAUSE -> 0xe046
       - Q_KEY_CODE_KP_EQUALS -> 0x59
      
      And some mistakes corrected:
      
       - Q_KEY_CODE_HIRAGANA was mapped to 0x70 (Katakanahiragana)
         instead of of 0x77 (Hirigana)
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0xe05d) and is now mapped to 0xe01e
       - Q_KEY_CODE_FIND was mapped to 0xe065 (Search) instead
         of to 0xe041 (Find)
       - Q_KEY_CODE_POWER, SLEEP & WAKE had 0x0e instead of 0xe0
         as the prefix
      
      Missing entries in qcode_to_keycode_set2 now fixed:
      
       - Q_KEY_CODE_PRINT -> 0x7f (NB ignored due to special case)
       - Q_KEY_CODE_COMPOSE -> 0xe02f
       - Q_KEY_CODE_PAUSE -> 0xe077
       - Q_KEY_CODE_KP_EQUALS -> 0x0f
      
      And some mistakes corrected:
      
       - Q_KEY_CODE_HIRAGANA was mapped to 0x13 (Katakanahiragana)
         instead of of 0x62 (Hirigana)
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0xe02f) and is now not mapped
       - Q_KEY_CODE_FIND was mapped to 0xe010 (Search) and is now
         not mapped.
       - Q_KEY_CODE_POWER, SLEEP & WAKE had 0x0e instead of 0xe0
         as the prefix
      
      Missing entries in qcode_to_keycode_set3 now fixed:
      
       - Q_KEY_CODE_ASTERISK -> 0x7e
       - Q_KEY_CODE_SYSRQ -> 0x57
       - Q_KEY_CODE_LESS -> 0x13
       - Q_KEY_CODE_STOP -> 0x0a
       - Q_KEY_CODE_AGAIN -> 0x0b
       - Q_KEY_CODE_PROPS -> 0x0c
       - Q_KEY_CODE_UNDO -> 0x10
       - Q_KEY_CODE_COPY -> 0x18
       - Q_KEY_CODE_OPEN -> 0x20
       - Q_KEY_CODE_PASTE -> 0x28
       - Q_KEY_CODE_FIND -> 0x30
       - Q_KEY_CODE_CUT -> 0x38
       - Q_KEY_CODE_HELP -> 0x09
       - Q_KEY_CODE_COMPOSE -> 0x8d
       - Q_KEY_CODE_AUDIONEXT -> 0x93
       - Q_KEY_CODE_AUDIOPREV -> 0x94
       - Q_KEY_CODE_AUDIOSTOP -> 0x98
       - Q_KEY_CODE_AUDIOMUTE -> 0x9c
       - Q_KEY_CODE_VOLUMEUP -> 0x95
       - Q_KEY_CODE_VOLUMEDOWN -> 0x9d
       - Q_KEY_CODE_CALCULATOR -> 0xa3
       - Q_KEY_CODE_AC_HOME -> 0x97
      
      And some mistakes corrected:
      
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0x8d) and is now 0x91
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20180117164118.8510-2-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      ab8f9d49
    • P
      ps2: check PS2Queue pointers in post_load routine · 802cbcb7
      Prasad J Pandit 提交于
      During Qemu guest migration, a destination process invokes ps2
      post_load function. In that, if 'rptr' and 'count' values were
      invalid, it could lead to OOB access or infinite loop issue.
      Add check to avoid it.
      Reported-by: NCyrille Chatras <cyrille.chatras@orange.com>
      Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org>
      Message-id: 20171116075155.22378-1-ppandit@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      802cbcb7