1. 08 7月, 2016 1 次提交
  2. 17 6月, 2016 1 次提交
    • I
      QMP: Add query-hotpluggable-cpus · d4633541
      Igor Mammedov 提交于
      It will allow mgmt to query present and hotpluggable CPU objects,
      it is required from a target platform that wishes to support command
      to implement and set MachineClass.query_hotpluggable_cpus callback,
      which will return a list of possible CPU objects with options that
      would be needed for hotplugging possible CPU objects.
      
      There are:
      'type': 'str' - QOM CPU object type for usage with device_add
      'vcpus-count': 'int' - number of logical VCPU threads per
                              CPU object (mgmt needs to know)
      
      and a set of optional fields that are to used for hotplugging a CPU
      objects and would allows mgmt tools to know what/where it could be
      hotplugged;
      [node],[socket],[core],[thread]
      
      For present CPUs there is a 'qom-path' field which would allow mgmt to
      inspect whatever object/abstraction the target platform considers
      as CPU object.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NBharata B Rao <bharata@linux.vnet.ibm.com>
      Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      d4633541
  3. 21 5月, 2016 2 次提交
  4. 08 4月, 2016 1 次提交
    • G
      Sort the fw_cfg file list · bab47d9a
      Gerd Hoffmann 提交于
      Entries are inserted in filename order instead of being
      appended to the end in case sorting is enabled.
      
      This will avoid any future issues of moving the file creation
      around, it doesn't matter what order they are created now,
      the will always be in filename order.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      
      Added machine type handling for compatibility.  This was
      a fairly complex change, this will preserve the order of fw_cfg
      for older versions no matter what order the firmware files
      actually come in.  A list is kept of the correct legacy order
      and the entries will be inserted based upon their order in
      the list.  Except that some entries are ordered (in a specific
      area of the list) based upon what order they appear on the
      command line.  Special handling is added for those entries.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      bab47d9a
  5. 23 3月, 2016 1 次提交
  6. 17 3月, 2016 1 次提交
    • E
      machine: Use type_init() to register machine classes · 0e6aac87
      Eduardo Habkost 提交于
      Change all machine_init() users that simply call type_register*()
      to use type_init().
      
      Cc: Evgeny Voevodin <e.voevodin@samsung.com>
      Cc: Maksim Kozlov <m.kozlov@samsung.com>
      Cc: Igor Mitsyanko <i.mitsyanko@gmail.com>
      Cc: Dmitry Solodkiy <d.solodkiy@samsung.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Andrzej Zaborowski <balrogg@gmail.com>
      Cc: Michael Walle <michael@walle.cc>
      Cc: "Hervé Poussineau" <hpoussin@reactos.org>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Leon Alrae <leon.alrae@imgtec.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: David Gibson <david@gibson.dropbear.id.au>
      Cc: Blue Swirl <blauwirbel@gmail.com>
      Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Acked-by: NMarcel Apfelbaum <marcel@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Acked-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      0e6aac87
  7. 11 3月, 2016 1 次提交
    • I
      machine: introduce MachineClass.possible_cpu_arch_ids() hook · 3811ef14
      Igor Mammedov 提交于
      on x86 currently range 0..max_cpus is used to generate
      architecture-dependent CPU ID (APIC Id) for each present
      and possible CPUs. However architecture-dependent CPU IDs
      list could be sparse and code that needs to enumerate
      all IDs (ACPI) ended up doing guess work enumerating all
      possible and impossible IDs up to
        apic_id_limit = x86_cpu_apic_id_from_index(max_cpus).
      
      That leads to creation of MADT entries and Processor
      objects in ACPI tables for not possible CPUs.
      Fix it by allowing board specify a concrete list of
      CPU IDs accourding its own rules (which for x86 depends
      on topology). So that code that needs this list could
      request it from board instead of trying to guess
      what IDs are correct on its own.
      
      This interface will also allow to help making AML
      part of CPU hotplug target independent so it could
      be reused for ARM target.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NMarcel Apfelbaum <marcel@redhat.com>
      3811ef14
  8. 28 2月, 2016 1 次提交
  9. 25 2月, 2016 1 次提交
  10. 11 1月, 2016 1 次提交
  11. 22 12月, 2015 1 次提交
  12. 18 12月, 2015 1 次提交
  13. 25 11月, 2015 1 次提交
  14. 17 11月, 2015 1 次提交
  15. 19 9月, 2015 3 次提交
  16. 10 9月, 2015 1 次提交
  17. 13 8月, 2015 1 次提交
  18. 07 7月, 2015 1 次提交
    • P
      ich9: add TCO interface emulation · 92055797
      Paulo Alcantara 提交于
      This interface provides some registers within a 32-byte range and can be
      acessed through PCI-to-LPC bridge interface (PMBASE + 0x60).
      
      It's commonly used as a watchdog timer to detect system lockups through
      SMIs that are generated -- if TCO_EN bit is set -- on every timeout. If
      NO_REBOOT bit is not set in GCS (General Control and Status register),
      the system will be resetted upon second timeout if TCO_RLD register
      wasn't previously written to prevent timeout.
      
      This patch adds support to TCO watchdog logic and few other features
      like mapping NMIs to SMIs (NMI2SMI_EN bit), system intruder detection,
      etc. are not implemented yet.
      Signed-off-by: NPaulo Alcantara <pcacjr@zytor.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      92055797
  19. 04 6月, 2015 1 次提交
  20. 31 5月, 2015 1 次提交
  21. 26 3月, 2015 1 次提交
  22. 20 3月, 2015 1 次提交
  23. 16 3月, 2015 1 次提交
  24. 12 3月, 2015 8 次提交
  25. 09 1月, 2015 1 次提交
  26. 07 1月, 2015 1 次提交
  27. 05 11月, 2014 1 次提交
    • A
      sysbus: Make devices spawnable via -device · 33cd52b5
      Alexander Graf 提交于
      Now that we can properly map sysbus devices that haven't been connected to
      something forcefully by C code, we can allow the -device command line option
      to spawn them.
      
      For machines that don't implement dynamic sysbus assignment in their board
      files we add a new bool "has_dynamic_sysbus" to the machine class.
      When that property is false (default), we bail out when we see dynamically
      spawned sysbus devices, like we did before.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      33cd52b5
  28. 04 11月, 2014 1 次提交
  29. 02 11月, 2014 1 次提交
    • L
      well-defined listing order for machine types · 2709f263
      Laszlo Ersek 提交于
      Commit 261747f1 ("vl: Use MachineClass instead of global QEMUMachine
      list") broke the ordering of the machine types in the user-visible output
      of
      
        qemu-system-XXXX -M \?
      
      This occurred because registration was rebased from a manually maintained
      linked list to GLib hash tables:
      
        qemu_register_machine()
          type_register()
            type_register_internal()
              type_table_add()
                g_hash_table_insert()
      
      and because the listing was rebased accordingly, from the traversal of the
      list to the traversal of the hash table (rendered as an ad-hoc list):
      
        machine_parse()
          object_class_get_list(TYPE_MACHINE)
            object_class_foreach()
              g_hash_table_foreach()
      
      The current order is a "random" one, for practical purposes, which is
      annoying for users.
      
      Introduce new members QEMUMachine.family and MachineClass.family, allowing
      machine types to be "clustered". Introduce a comparator function that
      establishes a total ordering between machine types, ordering machine types
      in the same family next to each other. In machine_parse(), list the
      supported machine types sorted with the comparator function.
      
      The comparator function:
      - sorts whole families before standalone machine types,
      - sorts whole families between each other in alphabetically increasing
        order,
      - sorts machine types inside the same family in alphabetically decreasing
        order,
      - sorts standalone machine types between each other in alphabetically
        increasing order.
      
      After this patch, all machine types are considered standalone, and
      accordingly, the output is alphabetically ascending. This will be refined
      in the following patches.
      
      Effects on the x86_64 output:
      
      Before:
      
      > Supported machines are:
      > pc-0.13              Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-2.0        Standard PC (i440FX + PIIX, 1996)
      > pc-1.0               Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-2.1        Standard PC (i440FX + PIIX, 1996)
      > pc-q35-1.7           Standard PC (Q35 + ICH9, 2009)
      > pc-1.1               Standard PC (i440FX + PIIX, 1996)
      > pc-0.14              Standard PC (i440FX + PIIX, 1996)
      > pc-q35-2.0           Standard PC (Q35 + ICH9, 2009)
      > pc-i440fx-1.4        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-1.5        Standard PC (i440FX + PIIX, 1996)
      > pc-0.15              Standard PC (i440FX + PIIX, 1996)
      > pc-q35-1.4           Standard PC (Q35 + ICH9, 2009)
      > isapc                ISA-only PC
      > pc                   Standard PC (i440FX + PIIX, 1996) (alias of pc-i440fx-2.2)
      > pc-i440fx-2.2        Standard PC (i440FX + PIIX, 1996) (default)
      > pc-1.2               Standard PC (i440FX + PIIX, 1996)
      > pc-0.10              Standard PC (i440FX + PIIX, 1996)
      > pc-0.11              Standard PC (i440FX + PIIX, 1996)
      > pc-q35-2.1           Standard PC (Q35 + ICH9, 2009)
      > q35                  Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-2.2)
      > pc-q35-2.2           Standard PC (Q35 + ICH9, 2009)
      > pc-i440fx-1.6        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-1.7        Standard PC (i440FX + PIIX, 1996)
      > none                 empty machine
      > pc-q35-1.5           Standard PC (Q35 + ICH9, 2009)
      > pc-q35-1.6           Standard PC (Q35 + ICH9, 2009)
      > pc-0.12              Standard PC (i440FX + PIIX, 1996)
      > pc-1.3               Standard PC (i440FX + PIIX, 1996)
      
      After:
      
      > Supported machines are:
      > isapc                ISA-only PC
      > none                 empty machine
      > pc-0.10              Standard PC (i440FX + PIIX, 1996)
      > pc-0.11              Standard PC (i440FX + PIIX, 1996)
      > pc-0.12              Standard PC (i440FX + PIIX, 1996)
      > pc-0.13              Standard PC (i440FX + PIIX, 1996)
      > pc-0.14              Standard PC (i440FX + PIIX, 1996)
      > pc-0.15              Standard PC (i440FX + PIIX, 1996)
      > pc-1.0               Standard PC (i440FX + PIIX, 1996)
      > pc-1.1               Standard PC (i440FX + PIIX, 1996)
      > pc-1.2               Standard PC (i440FX + PIIX, 1996)
      > pc-1.3               Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-1.4        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-1.5        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-1.6        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-1.7        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-2.0        Standard PC (i440FX + PIIX, 1996)
      > pc-i440fx-2.1        Standard PC (i440FX + PIIX, 1996)
      > pc                   Standard PC (i440FX + PIIX, 1996) (alias of pc-i440fx-2.2)
      > pc-i440fx-2.2        Standard PC (i440FX + PIIX, 1996) (default)
      > pc-q35-1.4           Standard PC (Q35 + ICH9, 2009)
      > pc-q35-1.5           Standard PC (Q35 + ICH9, 2009)
      > pc-q35-1.6           Standard PC (Q35 + ICH9, 2009)
      > pc-q35-1.7           Standard PC (Q35 + ICH9, 2009)
      > pc-q35-2.0           Standard PC (Q35 + ICH9, 2009)
      > pc-q35-2.1           Standard PC (Q35 + ICH9, 2009)
      > q35                  Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-2.2)
      > pc-q35-2.2           Standard PC (Q35 + ICH9, 2009)
      
      Effects on the aarch64 output:
      
      Before:
      
      > Supported machines are:
      > lm3s811evb           Stellaris LM3S811EVB
      > canon-a1100          Canon PowerShot A1100 IS
      > vexpress-a15         ARM Versatile Express for Cortex-A15
      > vexpress-a9          ARM Versatile Express for Cortex-A9
      > xilinx-zynq-a9       Xilinx Zynq Platform Baseboard for Cortex-A9
      > connex               Gumstix Connex (PXA255)
      > n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
      > lm3s6965evb          Stellaris LM3S6965EVB
      > versatileab          ARM Versatile/AB (ARM926EJ-S)
      > borzoi               Borzoi PDA (PXA270)
      > tosa                 Tosa PDA (PXA255)
      > cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
      > midway               Calxeda Midway (ECX-2000)
      > mainstone            Mainstone II (PXA27x)
      > n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
      > terrier              Terrier PDA (PXA270)
      > highbank             Calxeda Highbank (ECX-1000)
      > cubieboard           cubietech cubieboard
      > sx1-v1               Siemens SX1 (OMAP310) V1
      > sx1                  Siemens SX1 (OMAP310) V2
      > realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
      > kzm                  ARM KZM Emulation Baseboard (ARM1136)
      > akita                Akita PDA (PXA270)
      > z2                   Zipit Z2 (PXA27x)
      > musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
      > realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
      > versatilepb          ARM Versatile/PB (ARM926EJ-S)
      > realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
      > realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
      > spitz                Spitz PDA (PXA270)
      > none                 empty machine
      > virt                 ARM Virtual Machine
      > collie               Collie PDA (SA-1110)
      > smdkc210             Samsung SMDKC210 board (Exynos4210)
      > verdex               Gumstix Verdex (PXA270)
      > nuri                 Samsung NURI board (Exynos4210)
      > integratorcp         ARM Integrator/CP (ARM926EJ-S)
      
      After:
      
      > Supported machines are:
      > akita                Akita PDA (PXA270)
      > borzoi               Borzoi PDA (PXA270)
      > canon-a1100          Canon PowerShot A1100 IS
      > cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
      > collie               Collie PDA (SA-1110)
      > connex               Gumstix Connex (PXA255)
      > cubieboard           cubietech cubieboard
      > highbank             Calxeda Highbank (ECX-1000)
      > integratorcp         ARM Integrator/CP (ARM926EJ-S)
      > kzm                  ARM KZM Emulation Baseboard (ARM1136)
      > lm3s6965evb          Stellaris LM3S6965EVB
      > lm3s811evb           Stellaris LM3S811EVB
      > mainstone            Mainstone II (PXA27x)
      > midway               Calxeda Midway (ECX-2000)
      > musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
      > n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
      > n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
      > none                 empty machine
      > nuri                 Samsung NURI board (Exynos4210)
      > realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
      > realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
      > realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
      > realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
      > smdkc210             Samsung SMDKC210 board (Exynos4210)
      > spitz                Spitz PDA (PXA270)
      > sx1                  Siemens SX1 (OMAP310) V2
      > sx1-v1               Siemens SX1 (OMAP310) V1
      > terrier              Terrier PDA (PXA270)
      > tosa                 Tosa PDA (PXA255)
      > verdex               Gumstix Verdex (PXA270)
      > versatileab          ARM Versatile/AB (ARM926EJ-S)
      > versatilepb          ARM Versatile/PB (ARM926EJ-S)
      > vexpress-a15         ARM Versatile Express for Cortex-A15
      > vexpress-a9          ARM Versatile Express for Cortex-A9
      > virt                 ARM Virtual Machine
      > xilinx-zynq-a9       Xilinx Zynq Platform Baseboard for Cortex-A9
      > z2                   Zipit Z2 (PXA27x)
      
      RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1145042Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NMarcel Apfelbaum <marcel.a@redhat.com>
      Acked-by: NDavid Gibson <david@gibson.dropbear.id.au>
      
      2709f263
  30. 09 10月, 2014 1 次提交