1. 25 9月, 2018 3 次提交
    • M
      json: Make lexer's "character consumed" logic less confusing · c0ee3afa
      Markus Armbruster 提交于
      The lexer uses macro TERMINAL_NEEDED_LOOKAHEAD() to decide whether a
      state transition consumes the input character.  It returns true when
      the state transition is defined with the TERMINAL() macro.  To detect
      that, it checks whether input '\0' would have resulted in the same
      state transition, and the new state is not IN_ERROR.
      
      Why does that even work?  For all states, the new state on input '\0'
      is either IN_ERROR or defined with TERMINAL().  If the state
      transition equals the one we'd get for input '\0', it goes to IN_ERROR
      or to the argument of TERMINAL().  We never use TERMINAL(IN_ERROR),
      because it makes no sense.  Thus, if it doesn't go to IN_ERROR, it
      must be defined with TERMINAL().
      
      Since this isn't quite confusing enough, we negate the result to get
      @char_consumed, and ignore it when @flush is true.
      
      Instead of deriving the lookahead bit from the state transition, make
      it explicit.  This is easier to understand, and a bit more flexible,
      too.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180831075841.13363-4-armbru@redhat.com>
      c0ee3afa
    • M
      json: Clean up how lexer consumes "end of input" · 852dfa76
      Markus Armbruster 提交于
      When the lexer isn't in its start state at the end of input, it's
      working on a token.  To flush it out, it needs to transit to its start
      state on "end of input" lookahead.
      
      There are two ways to the start state, depending on the current state:
      
      * If the lexer is in a TERMINAL(JSON_FOO) state, it can emit a
        JSON_FOO token.
      
      * Else, it can go to IN_ERROR state, and emit a JSON_ERROR token.
      
      There are complications, however:
      
      * The transition to IN_ERROR state consumes the input character and
        adds it to the JSON_ERROR token.  The latter is inappropriate for
        the "end of input" character, so we suppress that.  See also recent
        commit a2ec6be7 "json: Fix lexer to include the bad character in
        JSON_ERROR token".
      
      * The transition to a TERMINAL(JSON_FOO) state doesn't consume the
        input character.  In that case, the lexer normally loops until it is
        consumed.  We have to suppress that for the "end of input" input
        character.  If we didn't, the lexer would consume it by entering
        IN_ERROR state, emitting a bogus JSON_ERROR token.  We fixed that in
        commit bd3924a3.
      
      However, simply breaking the loop this way assumes that the lexer
      needs exactly one state transition to reach its start state.  That
      assumption is correct now, but it's unclean, and I'll soon break it.
      Clean up: instead of breaking the loop after one iteration, break it
      after it reached the start state.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180831075841.13363-3-armbru@redhat.com>
      852dfa76
    • M
      json: Fix lexer for lookahead character beyond '\x7F' · 2a96042a
      Markus Armbruster 提交于
      The lexer fails to end a valid token when the lookahead character is
      beyond '\x7F'.  For instance, input
      
          true\xC2\xA2
      
      produces the tokens
      
          JSON_ERROR     true\xC2
          JSON_ERROR     \xA2
      
      This should be
      
          JSON_KEYWORD   true
          JSON_ERROR     \xC2
          JSON_ERROR     \xA2
      
      instead.
      
      The culprit is
      
          #define TERMINAL(state) [0 ... 0x7F] = (state)
      
      It leaves [0x80..0xFF] zero, i.e. IN_ERROR.  Has always been broken.
      Fix it to initialize the complete array.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180831075841.13363-2-armbru@redhat.com>
      2a96042a
  2. 24 9月, 2018 8 次提交
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/vga-20180903-pull-request' into staging · d5a51573
      Peter Maydell 提交于
      vga: virtio reset fix, virtio iommu support.
      
      # gpg: Signature made Mon 03 Sep 2018 07:57:32 BST
      # 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/vga-20180903-pull-request:
        virtio-gpu: add iommu support
        virtio-gpu: pass down VirtIOGPU pointer to a bunch of functions
        use dpy_gfx_update_full
        Revert "virtio-gpu: fix crashes upon warm reboot with vga mode"
        virtio-vga: fix reset
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d5a51573
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2018-09-01' into staging · efd1d522
      Peter Maydell 提交于
      Monitor patches for 2018-09-01
      
      # gpg: Signature made Sat 01 Sep 2018 12:06:52 BST
      # gpg:                using RSA key 3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-monitor-2018-09-01:
        monitor: no need to save need_resume
        Revert "qmp: isolate responses into io thread"
        qmp: constify qmp_is_oob()
        monitor: consitify qmp_send_response() QDict argument
        monitor: accept input on resume
        monitor: simplify monitor_qmp_setup_handlers_bh
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      efd1d522
    • P
      Merge remote-tracking branch 'remotes/xanclic/tags/pull-block-2018-08-31-v2' into staging · d6f71af6
      Peter Maydell 提交于
      Block patches:
      - (Block) job exit refactoring, part 1
        (removing job_defer_to_main_loop())
      - test-bdrv-drain leak fix
      
      # gpg: Signature made Fri 31 Aug 2018 15:30:33 BST
      # gpg:                using RSA key F407DB0061D5CF40
      # gpg: Good signature from "Max Reitz <mreitz@redhat.com>"
      # Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40
      
      * remotes/xanclic/tags/pull-block-2018-08-31-v2:
        jobs: remove job_defer_to_main_loop
        jobs: remove ret argument to job_completed; privatize it
        block/backup: make function variables consistently named
        jobs: utilize job_exit shim
        block/mirror: utilize job_exit shim
        block/commit: utilize job_exit shim
        jobs: add exit shim
        jobs: canonize Error object
        jobs: change start callback to run callback
        tests: fix bdrv-drain leak
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d6f71af6
    • P
      Revert "tests: add qmp/qom-set-without-value test" · 539c251b
      Peter Maydell 提交于
      Markus spotted some issues with this new test case which
      unfortunately I didn't notice had been flagged until after
      I'd applied the pull request. Revert the relevant commit.
      
      This reverts commit 2b70ea92.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      539c251b
    • P
      Merge remote-tracking branch... · 2dff7552
      Peter Maydell 提交于
      Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios.for-upstream-20180831' into staging
      
      qemu-openbios.for-upstream queue
      
      # gpg: Signature made Fri 31 Aug 2018 12:26:55 BST
      # gpg:                using RSA key 5BC2C56FAE0F321F
      # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>"
      # Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F
      
      * remotes/mcayland/tags/qemu-openbios.for-upstream-20180831:
        Update OpenBIOS images to a1280807 built from submodule.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2dff7552
    • P
      Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2018-08-31' into staging · 09d8277e
      Peter Maydell 提交于
      Removal of deprecated options and improvements for the qtests
      
      # gpg: Signature made Fri 31 Aug 2018 09:10:23 BST
      # gpg:                using RSA key 2ED9D774FE702DB5
      # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>"
      # gpg:                 aka "Thomas Huth <thuth@redhat.com>"
      # gpg:                 aka "Thomas Huth <huth@tuxfamily.org>"
      # gpg:                 aka "Thomas Huth <th.huth@posteo.de>"
      # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5
      
      * remotes/huth-gitlab/tags/pull-request-2018-08-31:
        tests: add a qmp success-response test
        tests: add qmp/qom-set-without-value test
        tests: add qmp/object-add-without-props test
        tests: add qmp_assert_error_class()
        tests/libqos: Utilize newer glib spawn check
        net: Remove the deprecated -tftp, -bootp, -redir and -smb options
        Remove the deprecated options -startdate, -localtime and -rtc-td-hack
        Remove the deprecated -nodefconfig option
        Remove the deprecated -balloon option
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      09d8277e
    • P
      Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20180829' into staging · 2fde22f8
      Peter Maydell 提交于
      - various fixes and improvements in the tcg code
      - split off the individual virtio-ccw devices into separate files
      
      # gpg: Signature made Wed 29 Aug 2018 10:38:03 BST
      # gpg:                using RSA key DECF6B93C6F02FAF
      # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>"
      # gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cohuck@kernel.org>"
      # gpg:                 aka "Cornelia Huck <cohuck@redhat.com>"
      # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF
      
      * remotes/cohuck/tags/s390x-20180829:
        target/s390x: use regular spaces in translate.c
        hw/s390x: Move virtio-ccw-blk code to a separate file
        hw/s390x: Move virtio-ccw-net code to a separate file
        hw/s390x: Move virtio-ccw-input code to a separate file
        hw/s390x: Move virtio-ccw-gpu code to a separate file
        hw/s390x: Move vhost-vsock-ccw code to a separate file
        hw/s390x: Move virtio-ccw-crypto code to a separate file
        hw/s390x: Move virtio-ccw-9p code to a separate file
        hw/s390x: Move virtio-ccw-rng code to a separate file
        hw/s390x: Move virtio-ccw-scsi code to a separate file
        hw/s390x: Move virtio-ccw-balloon code to a separate file
        hw/s390x: Move virtio-ccw-serial code to a separate file
        hw/s390x/virtio-ccw: Consolidate calls to virtio_ccw_unrealize()
        target/s390x: fix PACK reading 1 byte less and writing 1 byte more
        target/s390x: add EX support for TRT and TRTR
        target/s390x: fix IPM polluting irrelevant bits
        target/s390x: fix CSST decoding and runtime alignment check
        target/s390x: add BAL and BALR instructions
        tests/tcg: add a simple s390x test
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2fde22f8
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2018-08-28' into staging · 850a8242
      Peter Maydell 提交于
      QAPI patches for 2018-08-28
      
      # gpg: Signature made Tue 28 Aug 2018 17:23:32 BST
      # gpg:                using RSA key 3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-qapi-2018-08-28:
        qapi: Add comments to aid debugging generated introspection
        qapi: Minor introspect.py cleanups
        qapi: Update docs for generator changes since commit 9ee86b85
        qapi: Emit a blank line before dummy declaration
        qapi: Drop qapi_event_send_FOO()'s Error ** argument
        qapi: Fix build_params() for empty parameter list
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      850a8242
  3. 03 9月, 2018 2 次提交
  4. 31 8月, 2018 20 次提交
  5. 30 8月, 2018 7 次提交