1. 26 2月, 2015 1 次提交
  2. 18 2月, 2015 3 次提交
  3. 10 2月, 2015 2 次提交
    • C
      vl.c: fix memory leak spotted by valgrind · 02f292d9
      Christian Borntraeger 提交于
      valgrind complains about:
      ==42062== 16 bytes in 1 blocks are definitely lost in loss record 387 of 1,048
      ==42062==    at 0x402DCB2: malloc (vg_replace_malloc.c:299)
      ==42062==    by 0x40C1BE3: g_malloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
      ==42062==    by 0x40DA133: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
      ==42062==    by 0x40DB2E5: g_slist_prepend (in /usr/lib64/libglib-2.0.so.0.3800.2)
      ==42062==    by 0x801637FF: object_class_get_list_tramp (object.c:690)
      ==42062==    by 0x40A96C9: g_hash_table_foreach (in /usr/lib64/libglib-2.0.so.0.3800.2)
      ==42062==    by 0x80164885: object_class_foreach (object.c:665)
      ==42062==    by 0x80164975: object_class_get_list (object.c:698)
      ==42062==    by 0x800100A5: machine_parse (vl.c:2447)
      ==42062==    by 0x800100A5: main (vl.c:3756)
      
      Lets free machines in case of mc.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      02f292d9
    • M
      vl: Fix bogus error message for implied mon ID clashing · 46ede58b
      Markus Armbruster 提交于
      monitor_parse() desugars --monitor, --qmp and -qmp-pretty to --mon.
      The ID it picks can clash with a user-specified ID.  When it happens,
      the error message is misleading.
      
      Reproducer:
      
          $ qemu --mon id=compat_monitor0 --monitor stdio
      
      Message before the patch:
      
          duplicate chardev: compat_monitor0
      
      There's no "duplicate chardev" here.  The problem is a duplicate
      monitor ID.  Moreover, the message provides no clue which option
      caused the problem.  The patch changes the message to:
      
          qemu: --monitor stdio: Duplicate ID 'compat_monitor0' for mon
      
      monitor_parse() is also used for creating a default monitor, but
      that's not done when the user specifies a monitor, so an ID clash is
      impossible then.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      46ede58b
  4. 22 1月, 2015 2 次提交
  5. 15 1月, 2015 1 次提交
  6. 14 1月, 2015 1 次提交
  7. 10 1月, 2015 4 次提交
  8. 09 1月, 2015 2 次提交
  9. 07 1月, 2015 2 次提交
  10. 23 12月, 2014 3 次提交
  11. 22 12月, 2014 2 次提交
  12. 11 12月, 2014 1 次提交
    • L
      Add the "-semihosting-config" option. · a38bb079
      Liviu Ionescu 提交于
      The usual semihosting behaviour is to process the system calls locally and
      return; unfortuantelly the initial implementation dinamically changed the
      target to GDB during debug sessions, which, for the usual arm-none-eabi-gdb,
      is not implemented. The result was that during debug sessions the semihosting
      calls were discarded.
      
      This patch adds a configuration variable and an option to set it on the
      command line:
      
          -semihosting-config [enable=on|off,]target=native|gdb|auto
      
      This option enables semihosting and defines where the semihosting calls will
      be addressed, to QEMU ('native') or to GDB ('gdb'). The default is auto, which
      means 'gdb' during debug sessions and 'native' otherwise.
      Signed-off-by: NLiviu Ionescu <ilg@livius.net>
      Message-id: 1416341957-9796-1-git-send-email-ilg@livius.net
      [PMM: moved declaration and definition of semihosting_target to
       gdbstub.h and gdbstub.c to fix build failure on linux-user]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a38bb079
  13. 10 12月, 2014 1 次提交
  14. 26 11月, 2014 1 次提交
  15. 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
  16. 04 11月, 2014 1 次提交
  17. 02 11月, 2014 4 次提交
    • E
      smbios: Encode UUID according to SMBIOS specification · caad057b
      Eduardo Habkost 提交于
      Differently from older versions, SMBIOS version 2.6 is explicit about
      the encoding of UUID fields:
      
      > Although RFC 4122 recommends network byte order for all fields, the PC
      > industry (including the ACPI, UEFI, and Microsoft specifications) has
      > consistently used little-endian byte encoding for the first three fields:
      > time_low, time_mid, time_hi_and_version. The same encoding, also known as
      > wire format, should also be used for the SMBIOS representation of the UUID.
      >
      > The UUID {00112233-4455-6677-8899-AABBCCDDEEFF} would thus be represented
      > as 33 22 11 00 55 44 77 66 88 99 AA BB CC DD EE FF.
      
      The dmidecode tool implements this and decodes the above "wire format"
      when SMBIOS version >= 2.6. We moved from SMBIOS version 2.4 to 2.8 when
      we started building the SMBIOS entry point inside QEMU, on commit
      c97294ec.
      
      Change smbios_build_type_1_table() to encode the UUID as specified.
      
      To make sure we won't change the guest-visible UUID when upgrading to a
      newer QEMU version, keep the old behavior on pc-*-2.1 and older.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      caad057b
    • D
      -machine vmport=off: Allow disabling of VMWare ioport emulation · 9b23cfb7
      Dr. David Alan Gilbert 提交于
      This is a pc & q35 only machine opt.
      
      VMWare apparently doesn't like running under QEMU due to our
      incomplete emulation of it's special IO Port.  This adds a
      pc & q35 property to allow it to be turned off.
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NDon Slutz <dslutz@verizon.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: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NRichard W.M. Jones <rjones@redhat.com>
      9b23cfb7
    • 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
    • M
      pidfile: stop making pidfile error a special case · fee78fd6
      Michael Tokarev 提交于
      In case of -daemonize, we write non-zero to the daemon
      pipe only if pidfile creation failed, so the parent will
      report error about pidfile problem.  There's no need to
      make special case for this, since all other errors are
      reported by the child just fine.  Let the parent report
      error and simplify logic in os_daemonize().
      
      This way, we don't need os_pidfile_error() function, since
      it only prints error now, so put the error reporting printf
      into the only place where qemu_create_pidfile() is called,
      in vl.c.
      
      While at it, fix wrong indentation in os_daemonize().
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      fee78fd6
  18. 31 10月, 2014 2 次提交
  19. 27 10月, 2014 1 次提交
  20. 24 10月, 2014 1 次提交
  21. 15 10月, 2014 1 次提交
  22. 09 10月, 2014 1 次提交
  23. 04 10月, 2014 2 次提交