1. 22 10月, 2015 6 次提交
  2. 21 10月, 2015 2 次提交
  3. 18 10月, 2015 1 次提交
  4. 17 10月, 2015 3 次提交
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging · 6d57410a
      Peter Maydell 提交于
      target-arm queue:
       * break TBs after ISB instructions
       * more support code for future implementation of EL2 and 64-bit EL3
       * tell guest if KVM is enabled in SMBIOS version string
       * implement OSLAR/OSLSR system registers
       * provide better help text for Sharp PDA machine names
       * rename imx25_pdk to imx25-pdk (since it has never been released
         with the underscore-version name)
       * fix MMIO writes in zynq_slcr
       * implement MDCR_EL2
       * virt: allow the guest to configure PCI BARs with zero PCI addresses
       * fix breakpoint handling code
      
      # gpg: Signature made Fri 16 Oct 2015 14:56:15 BST using RSA key ID 14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
      
      * remotes/pmaydell/tags/pull-target-arm-20151016:
        target-arm: Fix CPU breakpoint handling
        target-arm: Fix GDB breakpoint handling
        target-arm: implement arm_debug_target_el()
        hw/arm/virt: Allow zero address for PCI IO space
        target-arm: Add MDCR_EL2
        misc: zynq_slcr: Fix MMIO writes
        arm: imx25-pdk: Fix machine name
        target-arm: Provide model numbers for Sharp PDAs
        target-arm: Implement AArch64 OSLAR/OSLSR_EL1 sysregs
        hw/arm/virt: smbios: inform guest of kvm
        target-arm: Avoid calling arm_el_is_aa64() function for unimplemented EL
        target-arm: Break the TB after ISB to execute self-modified code correctly
        target-arm: Add missing 'static' attribute
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6d57410a
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-cocoa-20151016' into staging · 9c1f5bbc
      Peter Maydell 提交于
      cocoa queue:
       * fixes for compiler warnings
       * fix mouse cursor flickering
      
      # gpg: Signature made Fri 16 Oct 2015 11:09:46 BST using RSA key ID 14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
      
      * remotes/pmaydell/tags/pull-cocoa-20151016:
        ui/cocoa.m: blinky mouse cursor fix
        ui/cocoa.m: addRemovableDevicesMenuItems() warning fix
        ui/cocoa.m: eliminate normalWindow warning
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      9c1f5bbc
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2015-10-15' into staging · 61f7901b
      Peter Maydell 提交于
      QAPI patches
      
      # gpg: Signature made Thu 15 Oct 2015 07:40:46 BST using RSA key ID EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      
      * remotes/armbru/tags/pull-qapi-2015-10-15:
        qapi: Track location that created an implicit type
        qapi: Create simple union type member earlier
        qapi: Lazy creation of array types
        qapi: Don't use info as witness of implicit object type
        qapi: Drop redundant args-member-array test
        qapi: Drop redundant flat-union-reverse-define test
        qapi: Drop redundant returns-int test
        qapi: Move empty-enum to compile-time test
        qapi: Drop redundant alternate-good test
        qapi: Prepare for errors during check()
        qapi: Use predicate callback to determine visit filtering
        qapi: Fix regression with '-netdev help'
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      61f7901b
  5. 16 10月, 2015 16 次提交
  6. 15 10月, 2015 12 次提交
    • E
      qapi: Track location that created an implicit type · 99df5289
      Eric Blake 提交于
      A future patch will move some error checking from the parser
      to the various QAPISchema*.check() methods, which run only
      after parsing completes.  It will thus be possible to create
      a python instance representing an implicit QAPI type that
      parses fine but will fail validation during check().  Since
      all errors have to have an associated 'info' location, we
      need a location to be associated with those implicit types.
      The intuitive info to use is the location of the enclosing
      entity that caused the creation of the implicit type.
      
      Note that we do not anticipate builtin types being used in
      an error message (as they are not part of the user's QAPI
      input, the user can't cause a semantic error in their
      behavior), so we exempt those types from requiring info, by
      setting a flag to track the completion of _def_predefineds(),
      and tracking that flag in _def_entity().
      
      No change to the generated code.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-13-git-send-email-eblake@redhat.com>
      [Missing QAPISchemaArrayType.is_implicit() supplied]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      99df5289
    • E
      qapi: Create simple union type member earlier · 46292ba7
      Eric Blake 提交于
      For simple unions, we were creating the implicit 'type' tag
      member during the QAPISchemaObjectTypeVariants constructor.
      This is different from every other implicit QAPISchemaEntity
      object, which get created by QAPISchema methods.  Hoist the
      creation to the caller (renaming _make_tag_enum() to
      _make_implicit_tag()), and pass the entity rather than the
      string name, so that we have the nice property that no
      entities are created as a side effect within a different
      entity.  A later patch will then have an easier time of
      associating location info with each entity creation.
      
      No change to generated code.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-10-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      46292ba7
    • E
      qapi: Lazy creation of array types · 9f08c8ec
      Eric Blake 提交于
      Commit ac88219a had several TODO markers about whether we needed
      to automatically create the corresponding array type alongside
      any other type.  It turns out that most of the time, we don't!
      
      There are a few exceptions: 1) We have a few situations where we
      use an array type in internal code but do not expose that type
      through QMP; fix it by declaring a dummy type that forces the
      generator to see that we want to use the array type.
      
      2) The builtin arrays (such as intList for QAPI ['int']) must
      always be generated, because of the way our QAPI_TYPES_BUILTIN
      compile guard works: we have situations (at the very least
      tests/test-qmp-output-visitor.c) that include both top-level
      "qapi-types.h" (via "error.h") and a secondary
      "test-qapi-types.h". If we were to only emit the builtin types
      when used locally, then the first .h file would not include all
      types, but the second .h does not declare anything at all because
      the first .h set QAPI_TYPES_BUILTIN, and we would end up with
      compilation error due to things like unknown type 'int8List'.
      
      Actually, we may need to revisit how we do type guards, and
      change from a single QAPI_TYPES_BUILTIN over to a different
      usage pattern that does one #ifdef per qapi type - right now,
      the only types that are declared multiple times between two qapi
      .json files for inclusion by a single .c file happen to be the
      builtin arrays.  But now that we have QAPI 'include' statements,
      it is logical to assume that we will soon reach a point where
      we want to reuse non-builtin types (yes, I'm thinking about what
      it will take to add introspection to QGA, where we will want to
      reuse the SchemaInfo type and friends).  One #ifdef per type
      will help ensure that generating the same qapi type into more
      than one qapi-types.h won't cause collisions when both are
      included in the same .c file; but we also have to solve how to
      avoid creating duplicate qapi-types.c entry points.  So that
      is a problem left for another day.
      
      Generated code for qapi-types and qapi-visit is drastically
      reduced; less than a third of the arrays that were blindly
      created were actually needed (a quick grep shows we dropped
      from 219 to 69 *List types), and the .o files lost more than
      30% of their bulk.  [For best results, diff the generated
      files with 'git diff --patience --no-index pre post'.]
      
      Interestingly, the introspection output is unchanged - this is
      because we already cull all types that are not indirectly
      reachable from a command or event, so introspection was already
      using only a subset of array types.  The subset of types
      introspected is now a much larger percentage of the overall set
      of array types emitted in qapi-types.h (since the larger set
      shrunk), but still not 100% (evidence that the array types
      emitted for our new Dummy structs, and the new struct itself,
      don't affect QMP).
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-9-git-send-email-eblake@redhat.com>
      [Moved array info tracking to a later patch]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9f08c8ec
    • E
      qapi: Don't use info as witness of implicit object type · 49823c4b
      Eric Blake 提交于
      A future patch will enable error reporting from the various
      QAPISchema*.check() methods.  But to report an error related
      to an implicit type, we'll need to associate a location with
      the type (the same location as the top-level entity that is
      causing the creation of the implicit type), and once we do
      that, keying off of whether foo.info exists is no longer a
      viable way to determine if foo is an implicit type.
      
      Instead, add an is_implicit() method to QAPISchemaEntity, and use it.
      It can be overridden later for ObjectType and EnumType, when implicit
      instances of those classes gain info.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-8-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      49823c4b
    • E
      qapi: Drop redundant args-member-array test · 849ab13c
      Eric Blake 提交于
      qapi-schema-test already ensures that we can correctly compile
      an array of enums (__org.qemu_x-command), an array of builtins
      (UserDefNativeListUnion), and an array of structs (again
      __org.qemu_x-command).  That means args-member-array is not
      adding any additional parse-only test coverage, so drop it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444760807-11307-1-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      849ab13c
    • E
      qapi: Drop redundant flat-union-reverse-define test · 70478cef
      Eric Blake 提交于
      As of commit 8c3f8e77, we test compilation of forward references
      for a struct base type (UserDefOne), flat union base type
      (UserDefUnionBase), and flat union branch type
      (UserDefFlatUnion2). The only remaining forward reference being
      tested for parsing in flat-union-reverse-define was a forward
      enum declaration.  Once we make sure that always compiles,
      the smaller parse-only test is redundant and can be deleted.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-7-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      70478cef
    • E
      qapi: Drop redundant returns-int test · cae95eae
      Eric Blake 提交于
      qapi-schema-test was already testing that we could have a
      command returning int, but burned a command name in the whitelist.
      Merge the redundant positive test returns-int, and pick a name
      that reduces the whitelist size.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-6-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      cae95eae
    • E
      qapi: Move empty-enum to compile-time test · 625b251c
      Eric Blake 提交于
      Rather than just asserting that we can parse an empty enum,
      let's also make sure we can compile it, by including it in
      qapi-schema-test.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-5-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      625b251c
    • E
      qapi: Drop redundant alternate-good test · baabb84c
      Eric Blake 提交于
      The alternate-good.json test was already covered by
      qapi-schema-test.json.  As future commits will be tweaking
      how alternates are laid out, removing the duplicate test now
      reduces churn.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-4-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      baabb84c
    • E
      qapi: Prepare for errors during check() · 7618b91f
      Eric Blake 提交于
      The next few patches will start migrating error checking from
      ad hoc parse methods into the QAPISchema*.check() methods.  But
      for an error message to display, we first have to fix the
      overall 'try' to catch those errors.  We also want to enable a
      few more assertions, such as making sure every attempt to
      raise a semantic error is passed a valid location info, or that
      various preconditions hold.
      
      The general approach for moving error checking will then be to
      relax an assertion into an if that raises an exception if the
      condition does not hold, and removing the counterpart ad hoc
      check done during the parse phase.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-3-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      7618b91f
    • E
      qapi: Use predicate callback to determine visit filtering · 25a0d9c9
      Eric Blake 提交于
      Previously, qapi-types and qapi-visit filtered out implicit
      objects during visit_object_type() by using 'info' (works since
      implicit objects do not [yet] have associated info); meanwhile
      qapi-introspect filtered out all schema types on the first pass
      by returning a python type from visit_begin(), which was then
      used at a distance in QAPISchema.visit() to do the filtering.
      
      Rather than keeping these ad hoc approaches, add a new visitor
      callback visit_needed() which returns False to skip a given
      entity, and which defaults to True unless overridden.  Use the
      new mechanism to simplify all three filtering visitors.
      
      No change to the generated code.
      Suggested-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444710158-8723-2-git-send-email-eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      25a0d9c9
    • E
      qapi: Fix regression with '-netdev help' · d08ac81a
      Eric Blake 提交于
      Commit e36c714e causes 'qemu -netdev help' to dump core, because the
      call to visit_end_union() is no longer conditional on whether *obj was
      allocated.
      
      Reported by Marc-André Lureau <marcandre.lureau@gmail.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1444861825-19256-1-git-send-email-eblake@redhat.com>
      [Commit message tweaked to say 'help' instead of '?']
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      d08ac81a