1. 11 11月, 2019 2 次提交
  2. 09 11月, 2019 1 次提交
  3. 31 1月, 2019 2 次提交
  4. 05 12月, 2018 1 次提交
  5. 20 3月, 2018 3 次提交
  6. 19 3月, 2018 1 次提交
  7. 16 3月, 2018 4 次提交
  8. 19 9月, 2017 1 次提交
    • A
      python: Don't hardcode interpreter path · f34fdd5a
      Andrea Bolognani 提交于
      This is particularly useful on operating systems that don't ship
      Python as part of the base system (eg. FreeBSD) while still working
      just as well as it did before on Linux.
      
      While at it, make it explicit that our scripts are only going to
      work with Python 2, and remove the usage of unbuffered I/O, which
      as far as I can tell has no effect on the output files.
      Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
      f34fdd5a
  9. 08 7月, 2017 1 次提交
    • S
      hyperv: Generate object property type information · e4a2f5a2
      Sri Ramanujam 提交于
      Update the generator to generate basic property type information for
      each CIM object representation. Right now, it generates arrays of
      hypervCimType structs:
      
      struct _hypervCimType {
          const char *name;
          const char *type;
          bool isArray;
      };
      e4a2f5a2
  10. 19 4月, 2017 1 次提交
    • D
      hyperv: recognize array property as distinct type. · bb9fca7b
      Dawid Zamirski 提交于
      When hyperv code generator for WMI classes identifies common
      properties, it needs to take into account array type as a distinct
      type, i.e string != string[]. This is the case where v1 of the
      Msvm_VirtualSystemSettingData has Notes property as string whereas v2
      uses Notes[], therefore they have to be treated as different fields and
      cannot be placed in the "common" struct.
      bb9fca7b
  11. 08 4月, 2017 1 次提交
    • D
      hyperv: add support for Hyper-V 2012 and newer · 3372f8fb
      Dawid Zamirski 提交于
      This patch reworks the Hyper-V driver structs and the code generator
      to provide seamless support for both Hyper-V 2008 and 2012 or newer.
      This does not implement any new libvirt APIs, it just adapts existing
      2008-only driver to also handle 2012 and newer by sharing as much
      driver code as possible (currently it's all of it :-)). This is needed
      to set the foundation before we can move forward with implementing the
      rest of the driver APIs.
      
      With the 2012 release, Microsoft introduced "v2" version of Msvm_* WMI
      classes. Those are largely the same as "v1" (used in 2008) but have some
      new properties as well as need different wsman request URIs. To
      accomodate those differences, most of work went into the code generator
      so that it's "aware" of possibility of multiple versions of the same WMI
      class and produce C code accordingly.
      
      To accomplish this the following changes were made:
      
       * the abstract hypervObject struct's data member was changed to a union
         that has "common", "v1" and "v2" members. Those are structs that
         represent WMI classes that we get back from wsman response. The
         "common" struct has members that are present in both "v1" and "v2"
         which the driver API callbacks can use to read the data from in
         version-independent manner (if version-specific member needs to be
         accessed the driver can check priv->wmiVersion and read from "v1" or
         "v2" as needed). Those structs are guaranteed to be  memory aligned
         by the code generator (see the align_property_members implementation
         that takes care of that)
       * the generator produces *_WmiInfo for each WMI class "family" that
         holds an array of hypervWmiClassInfoPtr each providing information
         as to which request URI to use for each "version" of given WMI class
         as well as XmlSerializerInfo struct needed to unserilize WS-MAN
         responsed into the data structs. The driver uses those to make proper
         WS-MAN request depending on which version it's connected to.
       * the generator no longer produces "helper" functions such as
         hypervGetMsvmComputerSystemList as those were originally just simple
         wrappers around hypervEnumAndPull, instead those were hand-written
         now (to keep driver changes minimal). The reason is that we'll have
         more code coming implementing missing libvirt APIs and surely code
         patterns will emerge that would warrant more useful "utility" functions
         like that.
       * a hypervInitConnection was added to the driver which "detects"
         Hyper-V version by testing simple wsman request using v2 then falling
         back to v1, obviously if both fail, the we're erroring out.
      
      To express how the above translates in code:
      
      void
      hypervImplementSomeLibvirtApi(virConnectPtr conn, ...)
      {
          hypervPrivate *priv = conn->privateData;
          virBuffer query = VIR_BUFFER_INITIALIZER;
          hypervWqlQuery wqlQuery = HYPERV_WQL_QUERY_INITIALIZER;
          Msvm_ComputerSystem *list = NULL; /* typed hypervObject instance */
      
          /* the WmiInfo struct has the data needed for wsman request and
           * response handling for both v1 and v2 */
          wqlQuery.info = Msvm_ComputerSystem_WmiInfo;
          wqlQuery.query = &query;
      
          virBufferAddLit(&query, "select * from Msvm_ComputerSystem");
      
          if (hypervEnumAndPull(priv, &wqlQuery, (hypervObject **) &list) < 0) {
              goto cleanup;
          }
      
          if (list == NULL) {
              /* none found */
              goto cleanup;
          }
      
          /* works with v1 and v2 */
          char *vmName = list->data.common->Name;
      
          /* access property that is in v2 only */
          if (priv->wmiVersion == HYPERV_WMI_VERSION_V2)
              char *foo = list->data.v2->V2Property;
          else
              char *foo = list->data.v1->V1Property;
      
       cleanup:
          hypervFreeObject(priv, (hypervObject *)list);
      }
      3372f8fb
  12. 15 9月, 2016 1 次提交
  13. 04 12月, 2013 1 次提交
    • M
      src: Align make output · 2e1ced57
      Michal Privoznik 提交于
      The make inserts six spaces instead of four:
      
        GEN      access/viraccessapichecklxc.h
        GEN    hyperv/hyperv_wmi.generated.h
        GEN      access/viraccessapichecklxc.c
        GEN    hyperv/hyperv_wmi.generated.c
        GEN    hyperv/hyperv_wmi_classes.generated.typedef
        GEN    hyperv/hyperv_wmi_classes.generated.h
        GEN    hyperv/hyperv_wmi_classes.generated.c
        GEN      libvirt_access_qemu.xml
        GEN      libvirt_access.syms
        GEN      libvirt_access_lxc.xml
        GEN      libvirt_access_qemu.syms
        GEN      libvirt_access_lxc.syms
        GEN      libvirt_qemu.def
        GEN    esx/esx_vi_types.generated.typedef
        GEN    esx/esx_vi_types.generated.typeenum
        GEN    esx/esx_vi_types.generated.typetostring
        GEN    esx/esx_vi_types.generated.typefromstring
        GEN    esx/esx_vi_types.generated.h
        GEN    esx/esx_vi_types.generated.c
        GEN    esx/esx_vi_methods.generated.h
        GEN    esx/esx_vi_methods.generated.c
        GEN    esx/esx_vi_methods.generated.macro
        GEN    esx/esx_vi.generated.h
        GEN    esx/esx_vi.generated.c
        GEN      libvirt_lxc.def
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      2e1ced57
  14. 21 9月, 2012 1 次提交
  15. 27 7月, 2012 1 次提交
    • E
      maint: avoid regression on copyright listings · 3ad13c92
      Eric Blake 提交于
      Commit f9ce7dad tried to kill uses of a raw street address, but
      missed a few instances.  Automate things so we don't introduce
      new problems in the future.
      
      * cfg.mk (sc_copyright_address): New rule.
      (exclude_file_name_regexp--sc_copyright_address): Add exemption.
      * bootstrap.conf: Adjust offenders.
      * build-aux/augeas-gentest.pl: Likewise.
      * examples/systemtap/events.stp: Likewise.
      * examples/systemtap/qemu-monitor.stp: Likewise.
      * examples/systemtap/rpc-monitor.stp: Likewise.
      * src/dtrace2systemtap.pl: Likewise.
      * src/esx/esx_vi_generator.py: Likewise.
      * src/hyperv/hyperv_wmi_generator.py: Likewise.
      * src/remote/qemu_protocol.x: Likewise.
      * src/remote/remote_protocol.x: Likewise.
      * src/rpc/gensystemtap.pl: Likewise.
      * src/rpc/virnetprotocol.x: Likewise.
      * tests/object-locking.ml: Likewise.
      * tools/virt-xml-validate.in: Likewise.
      3ad13c92
  16. 26 8月, 2011 1 次提交
    • M
      hyperv: Add OpenWSMAN based client for the Hyper-V WMI API · e224b6f8
      Matthias Bolte 提交于
      Add a generator script to generate the structs and serialization
      information for OpenWSMAN.
      
      openwsman.h collects workarounds for problems in OpenWSMAN <= 2.2.6.
      There are also disabled sections that would use ws_serializer_free_mem
      but can't because it's broken in OpenWSMAN <= 2.2.6. Patches to fix
      this have been posted upstream.
      e224b6f8