sdk/emulator/qemu.git
15 years agoUpdate version for 0.11.0-rc0
Anthony Liguori [Thu, 16 Jul 2009 23:10:53 +0000 (18:10 -0500)]
Update version for 0.11.0-rc0

15 years agoGenerate $target_dir/config.h from $target_dir/config.mak
Juan Quintela [Thu, 16 Jul 2009 16:34:20 +0000 (18:34 +0200)]
Generate $target_dir/config.h from $target_dir/config.mak

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRefactor config_softfloat selection in another list
Juan Quintela [Thu, 16 Jul 2009 16:34:19 +0000 (18:34 +0200)]
Refactor config_softfloat selection in another list

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agorename s/config_mak/config_host_mak/ and s/config_h/config_host_h/
Juan Quintela [Thu, 16 Jul 2009 16:34:18 +0000 (18:34 +0200)]
rename s/config_mak/config_host_mak/ and s/config_h/config_host_h/

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosimplify TARGET_ABI_DIR generation
Juan Quintela [Thu, 16 Jul 2009 16:34:17 +0000 (18:34 +0200)]
simplify TARGET_ABI_DIR generation

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosimplify TARGET_ARCH2 generation
Juan Quintela [Thu, 16 Jul 2009 16:34:16 +0000 (18:34 +0200)]
simplify TARGET_ARCH2 generation

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosimplify TARGET_BASE_ARCH generation
Juan Quintela [Thu, 16 Jul 2009 16:34:15 +0000 (18:34 +0200)]
simplify TARGET_BASE_ARCH generation

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agogenerate TARGET_<arch name> for config.h
Juan Quintela [Thu, 16 Jul 2009 16:34:14 +0000 (18:34 +0200)]
generate TARGET_<arch name> for config.h

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agogenerate TARGET_ARCH for config.h
Juan Quintela [Thu, 16 Jul 2009 16:34:13 +0000 (18:34 +0200)]
generate TARGET_ARCH for config.h

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly setup TARGET_ARCH when it is different of
Juan Quintela [Thu, 16 Jul 2009 16:34:12 +0000 (18:34 +0200)]
Only setup TARGET_ARCH when it is different of

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoprint only once TARGET_ARCH
Juan Quintela [Thu, 16 Jul 2009 16:34:11 +0000 (18:34 +0200)]
print only once TARGET_ARCH

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRefactor targe_bigendian selection in another list
Juan Quintela [Thu, 16 Jul 2009 16:34:10 +0000 (18:34 +0200)]
Refactor targe_bigendian selection in another list

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRefactor common code using a list
Juan Quintela [Thu, 16 Jul 2009 16:34:09 +0000 (18:34 +0200)]
Refactor common code using a list

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agogenerate ARCH name instead of coding it
Juan Quintela [Thu, 16 Jul 2009 16:34:08 +0000 (18:34 +0200)]
generate ARCH name instead of coding it

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoWe can wrap ARCH_CFLAGS/ARCH_LDFLAGS in CFLAGS/LDFLAGS at configure time
Juan Quintela [Thu, 16 Jul 2009 16:34:07 +0000 (18:34 +0200)]
We can wrap ARCH_CFLAGS/ARCH_LDFLAGS in CFLAGS/LDFLAGS at configure time

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoWe can wrap OS_CFLAGS/OS_LDFLAGS in CFLAGS/LDFLAGS at configure time
Juan Quintela [Thu, 16 Jul 2009 16:34:06 +0000 (18:34 +0200)]
We can wrap OS_CFLAGS/OS_LDFLAGS in CFLAGS/LDFLAGS at configure time

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqemu binary don't exist anymore. I guess not much people is compiling on alpha
Juan Quintela [Thu, 16 Jul 2009 16:34:05 +0000 (18:34 +0200)]
qemu binary don't exist anymore. I guess not much people is compiling on alpha

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRefactor a single rule to generate all qemu-* executables
Juan Quintela [Thu, 16 Jul 2009 16:34:04 +0000 (18:34 +0200)]
Refactor a single rule to generate all qemu-* executables

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoTARGET_ARCH == TARGET_BASE_ARCH in m68k and arm
Juan Quintela [Thu, 16 Jul 2009 16:34:03 +0000 (18:34 +0200)]
TARGET_ARCH == TARGET_BASE_ARCH in m68k and arm

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoBASE_LDFLAGS is not used anywhere else
Juan Quintela [Thu, 16 Jul 2009 16:34:02 +0000 (18:34 +0200)]
BASE_LDFLAGS is not used anywhere else

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconfigure kqemu in a single place
Juan Quintela [Thu, 16 Jul 2009 16:34:01 +0000 (18:34 +0200)]
configure kqemu in a single place

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconfigure kvm in a single place
Juan Quintela [Thu, 16 Jul 2009 16:34:00 +0000 (18:34 +0200)]
configure kvm in a single place

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconfigure xen in a single place
Juan Quintela [Thu, 16 Jul 2009 16:33:59 +0000 (18:33 +0200)]
configure xen in a single place

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agochange ifdefs by obj-$(TARGET_BASE_ARCH)
Juan Quintela [Thu, 16 Jul 2009 16:33:58 +0000 (18:33 +0200)]
change ifdefs by obj-$(TARGET_BASE_ARCH)

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoTARGET_ARCH2 is already known at configure time.
Juan Quintela [Thu, 16 Jul 2009 15:57:08 +0000 (17:57 +0200)]
TARGET_ARCH2 is already known at configure time.

Remove re-construction in Makefile.target

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconfigure already knows what TARGET_BASE_ARCH we need, no need to put the logic in...
Juan Quintela [Thu, 16 Jul 2009 15:57:07 +0000 (17:57 +0200)]
configure already knows what TARGET_BASE_ARCH we need, no need to put the logic in Makefile.target

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoalready defined several lines before in block-obj-y
Juan Quintela [Thu, 16 Jul 2009 15:57:06 +0000 (17:57 +0200)]
already defined several lines before in block-obj-y

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRemove unused Makefile variable
Juan Quintela [Thu, 16 Jul 2009 15:57:05 +0000 (17:57 +0200)]
Remove unused Makefile variable

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agouse nwfpe-obj-y for consistence
Juan Quintela [Thu, 16 Jul 2009 15:57:04 +0000 (17:57 +0200)]
use nwfpe-obj-y for consistence

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agouse block-nested-y for files inside block/
Juan Quintela [Thu, 16 Jul 2009 15:57:03 +0000 (17:57 +0200)]
use block-nested-y for files inside block/

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRemove duplicated definition
Juan Quintela [Thu, 16 Jul 2009 15:57:02 +0000 (17:57 +0200)]
Remove duplicated definition

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agofix sparc not solaris build
Juan Quintela [Thu, 16 Jul 2009 15:57:01 +0000 (17:57 +0200)]
fix sparc not solaris build

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agofix XEN Build
Juan Quintela [Thu, 16 Jul 2009 15:57:00 +0000 (17:57 +0200)]
fix XEN Build

I miss s/yes/y/ in one place

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agofix for bad macaddr of e1000 in Windows 2003 server with original MS driver
Naphtali Sprei [Thu, 16 Jul 2009 15:17:53 +0000 (18:17 +0300)]
fix for bad macaddr of e1000 in Windows 2003 server with original MS driver

The sequence of reading from eeprom is "offset by one" moved because of a false
detection of a clock cycle after an eeprom reset. Keeping the last clock value
after a reset keeps it in sync.

Signed-off-by: Naphtali Sprei <nsprei@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: es1370+ac97 description
Gerd Hoffmann [Wed, 15 Jul 2009 11:50:13 +0000 (13:50 +0200)]
qdev: es1370+ac97 description

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev/compat: virtio-net-pci 0.10 compatibility.
Gerd Hoffmann [Wed, 15 Jul 2009 11:48:25 +0000 (13:48 +0200)]
qdev/compat: virtio-net-pci 0.10 compatibility.

Add vectors property, allowing to turn off msi by setting vectors=0.
Add compat property to pc-0.10 disabling msi.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: print device id in "info pci".
Gerd Hoffmann [Wed, 15 Jul 2009 11:43:36 +0000 (13:43 +0200)]
qdev: print device id in "info pci".

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev/compat: virtio-console-pci 0.10 compatibility.
Gerd Hoffmann [Wed, 15 Jul 2009 11:48:24 +0000 (13:48 +0200)]
qdev/compat: virtio-console-pci 0.10 compatibility.

Add class property to virtio-console-pci allowing to specify the PCI class.
Add compat property to pc-0.10 to set the old PCI class.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: add id= support for pci nics.
Gerd Hoffmann [Wed, 15 Jul 2009 11:43:35 +0000 (13:43 +0200)]
qdev: add id= support for pci nics.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev/compat: virtio-blk-pci 0.10 compatibility.
Gerd Hoffmann [Wed, 15 Jul 2009 11:48:23 +0000 (13:48 +0200)]
qdev/compat: virtio-blk-pci 0.10 compatibility.

Add class property to virtio-blk-pci allowing to specify the PCI class.
Add compat property to pc-0.10 to set the old PCI class.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: add user-specified identifier to devices.
Gerd Hoffmann [Wed, 15 Jul 2009 11:43:34 +0000 (13:43 +0200)]
qdev: add user-specified identifier to devices.

Add id field to DeviceState.  Make "info qtree" print it.

This helps users and management apps identifying devices in monitor
output, which is especially useful with otherwise identical devices
such as two virtio disks.

This patch doesn't add a way to set the id, followup patches will do.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev/compat: add pc-0.10 machine type.
Gerd Hoffmann [Wed, 15 Jul 2009 11:48:22 +0000 (13:48 +0200)]
qdev/compat: add pc-0.10 machine type.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: add no_user, alias and desc
Gerd Hoffmann [Wed, 15 Jul 2009 11:43:33 +0000 (13:43 +0200)]
qdev: add no_user, alias and desc

no_user: prevent users from adding certain devices.
desc: description of the device.
alias: to allow user friendly shortcuts on the command line, i.e.
  -device usbmouse  instead of  -device "QEMU USB Mouse"  or
  -device lsi       instead of  -device lsi53c895a

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev/compat: compat property infrastructure.
Gerd Hoffmann [Wed, 15 Jul 2009 11:48:21 +0000 (13:48 +0200)]
qdev/compat: compat property infrastructure.

This add support for switching devices into a compatibility mode
using device properties.  Machine types can have a list of properties
for specific devices attached to allow the easy creation of machine
types compatible to older qemu versions.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: factor out driver search to qdev_find_info()
Gerd Hoffmann [Wed, 15 Jul 2009 11:43:32 +0000 (13:43 +0200)]
qdev: factor out driver search to qdev_find_info()

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agocleanup: drop unused struct elements from VirtIOPCIProxy.
Gerd Hoffmann [Wed, 15 Jul 2009 11:48:20 +0000 (13:48 +0200)]
cleanup: drop unused struct elements from VirtIOPCIProxy.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: rework device properties.
Gerd Hoffmann [Wed, 15 Jul 2009 11:43:31 +0000 (13:43 +0200)]
qdev: rework device properties.

This patch is a major overhaul of the device properties.  The properties
are saved directly in the device state struct now, the linked list of
property values is gone.

Advantages:
  * We don't have to maintain the list with the property values.
  * The value in the property list and the value actually used by
    the device can't go out of sync any more (used to happen for
    the pci.devfn == -1 case) because there is only one place where
    the value is stored.
  * A record describing the property is required now, you can't set
    random properties any more.

There are bus-specific and device-specific properties.  The former
should be used for properties common to all bus drivers.  Typical
use case is bus addressing, i.e. pci.devfn and i2c.address.

Properties have a PropertyInfo struct attached with name, size and
function pointers to parse and print properties.  A few common property
types have PropertyInfos defined in qdev-properties.c.  Drivers are free
to implement their own very special property parsers if needed.

Properties can have default values.  If unset they are zero-filled.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Add port write command
Jan Kiszka [Tue, 14 Jul 2009 08:20:11 +0000 (10:20 +0200)]
monitor: Add port write command

Useful for testing hardware emulations or manipulating its state to
stress guest drivers.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoInitialize PS2 keyboard / mouse state on reset
Dinesh Subhraveti [Wed, 15 Jul 2009 01:30:53 +0000 (18:30 -0700)]
Initialize PS2 keyboard / mouse state on reset

Currently only common PS2 state is initialized, leaving keyboard and
mouse specific state to contain stale values.

Signed-off-by: Dinesh Subhraveti <dineshs@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agofix segfault in setting migration speed
Glauber Costa [Tue, 14 Jul 2009 22:26:51 +0000 (18:26 -0400)]
fix segfault in setting migration speed

Hi,

Whoever wrote this migrate_set_speed function is totally stupid.

Any failed or completed migration keeps its state to allow probing of
migration data, but has no associated file anymore. It is, thus,
possible to crash qemu by calling migrate_set_speed after a migration
is finished (or failed, or cancelled), but before another one starts.

This patch fixes it.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRemove dead i386 assembly code from softmmu_header.h
Stuart Brady [Sun, 12 Jul 2009 19:09:40 +0000 (20:09 +0100)]
Remove dead i386 assembly code from softmmu_header.h

This patch removes dead i386 assembly code from softmmu_header.h.

The code is conditional on ASM_SOFTMMU, which is never defined.
Optimisation for the fast path is already handled by tcg_out_qemu_ld()
and tcg_out_qemu_st(), so there seems to be little need for this code.

Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqemu-io: use BDRV_O_FILE to implement the growable open option
Christoph Hellwig [Wed, 15 Jul 2009 21:11:21 +0000 (23:11 +0200)]
qemu-io: use BDRV_O_FILE to implement the growable open option

Instead of doing our own check for protocols which fails because raw isn't
formally a protocol but special cased in find_protocol specify the BDRV_O_FILE
option to use the same code as bdrv_file_open does.

While we're at it also add the missing documentation for -g to the main
qemu-io help string.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agotlb flush cleanup
Igor Kovalenko [Sat, 11 Jul 2009 22:15:40 +0000 (02:15 +0400)]
tlb flush cleanup

Use static empty variable s_cputlb_empty_entry to clear entries,
also reset addend member when clearing entries.
This helps running with valgrind/memcheck

Signed-off-by: igor.v.kovalenko@gmail.com
--
Kind regards,
Igor V. Kovalenko
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoReset HPET config register on hpet_reset
Beth Kon [Mon, 13 Jul 2009 23:43:13 +0000 (19:43 -0400)]
Reset HPET config register on hpet_reset

Without this, after system reset, hpet does not detect transition from
non-legacy to legacy mode.

Signed-off-by: Beth Kon <eak@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqemu-io: Implement bdrv_load_vmstate/bdrv_save_vmstate
Kevin Wolf [Wed, 15 Jul 2009 10:06:58 +0000 (12:06 +0200)]
qemu-io: Implement bdrv_load_vmstate/bdrv_save_vmstate

The load_vmstate and save_vmstate functions are implemented as a
variation of the normal read/write operation, enabled by the -b option.
This is the same mechanism as is used to switch from read/write to
pread/pwrite.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoHandle vga= in -append
Pascal Terjan [Mon, 13 Jul 2009 15:46:42 +0000 (17:46 +0200)]
Handle vga= in -append

Here is a patch I had sent twice to the list 2 years ago.
Hopefuly this time someone will be interested

It adds support for passing vga mode to linux kernel through
vga= option in -append

Signed-off-by: Pascal Terjan <pterjan@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoioport: use uint{32, 16, 8}_t for ioport value and pio_addr_t for ioport address.
Isaku Yamahata [Tue, 14 Jul 2009 10:10:43 +0000 (19:10 +0900)]
ioport: use uint{32, 16, 8}_t for ioport value and pio_addr_t for ioport address.

Using int for cpu_{in, out}[bwl] is inconsistent with other part
because for address or value, uintN_t is used by other qemu part.
At least, softmmu, CPU{Read, Write}MemoryFunc, pci, target_phys_addr_t
and the callers of cpu_{in, out}[bwl]().
This patch removes the inconsistency.

IO port has its own address space so define pio_addr_t as uint32_t
because PCI io space width is 32bit.
And use uint{32, 16, 8}_t for ioport value.
Changing signedness of value might cause subtle issue. However
only a suspicious caller is kvm_handle_io() which is ok. And other callers
pass unsigned value in the first place.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: Stuart Brady <sdbrady@ntlworld.com>
Cc: Anthony Liguori <anthony@codemonkey.ws>
Cc: Samuel Thibault <samuel.thibault@gnu.org>
Cc: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoioport: remove some #ifdef DEBUG_UNUSED_IOPORT.
Isaku Yamahata [Tue, 14 Jul 2009 10:10:42 +0000 (19:10 +0900)]
ioport: remove some #ifdef DEBUG_UNUSED_IOPORT.

remove some #ifdef DEBUG_UNUSED_IOPORT in ioport.c
and use PRIx32 where appropriate

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: Anthony Liguori <anthony@codemonkey.ws>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoraw-posix: Handle errors in raw_create
Stefan Weil [Sat, 11 Jul 2009 14:43:37 +0000 (16:43 +0200)]
raw-posix: Handle errors in raw_create

In qemu-iotests, some large images are created using qemu-img.

Without checks for errors, qemu-img will just create an
empty image, and later read / write tests will fail.

With the patch, failures during image creation are detected
and reported.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoomit 3DNOW! CPUID bits from qemu64 CPU model
Andre Przywara [Thu, 16 Jul 2009 12:49:31 +0000 (14:49 +0200)]
omit 3DNOW! CPUID bits from qemu64 CPU model

Since we recently do not disable 3DNOW! support anymore, we should
avoid setting the bits in the default qemu64 CPU model to ease
migration. TCG does not support it anyway and even AMD deprecates
it's usage nowadays.
If you want to use it in KVM, use the phenom, athlon or host CPU
model.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agohonor -S on incoming migration
Paolo Bonzini [Tue, 14 Jul 2009 16:07:50 +0000 (18:07 +0200)]
honor -S on incoming migration

-S is not honored by qemu on incoming migration.  If a domain is migrated
while paused, thus, it will start running on the remote machine; this
is wrong.

Given the trivial patch to fix this, it looks more like a thinko
than anything else, probably dating back to the qemu-kvm merge.
The interesting part is that the -S mechanism was in fact *used* when
migrating (setting autostart = 0) and the incoming migration code was
starting the VM at the end of the migration.

Since I was removing the vm_start from there, I also corrected a related
imprecision.  The code was doing a vm_stop "just in case", but we can
be sure that the VM is not running---the vm_start call in vl.c has not
been reached yet.  So the vm_stop is removed together with the vm_start.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoUpdate to a hopefully more future proof FSF address
Blue Swirl [Thu, 16 Jul 2009 20:47:01 +0000 (20:47 +0000)]
Update to a hopefully more future proof FSF address

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert slavio interrupt controller to qdev
Blue Swirl [Thu, 16 Jul 2009 14:15:34 +0000 (14:15 +0000)]
Sparc32: convert slavio interrupt controller to qdev

Also increase QDEV_MAX_IRQ.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: refactor CPU init
Blue Swirl [Thu, 16 Jul 2009 13:48:20 +0000 (13:48 +0000)]
Sparc32: refactor CPU init

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert memory to qdev
Blue Swirl [Thu, 16 Jul 2009 13:48:14 +0000 (13:48 +0000)]
Sparc32: convert memory to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert boot prom to qdev
Blue Swirl [Thu, 16 Jul 2009 13:48:10 +0000 (13:48 +0000)]
Sparc32: convert boot prom to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert iommu to qdev
Blue Swirl [Thu, 16 Jul 2009 13:47:55 +0000 (13:47 +0000)]
Sparc32: convert iommu to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert cs4231 to qdev
Blue Swirl [Thu, 16 Jul 2009 13:47:45 +0000 (13:47 +0000)]
Sparc32: convert cs4231 to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: fix SDL zooming with TCX
Blue Swirl [Thu, 16 Jul 2009 13:45:57 +0000 (13:45 +0000)]
Sparc32: fix SDL zooming with TCX

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoDon't copy multiboot.bin into pc-bios after built
Anthony Liguori [Sat, 11 Jul 2009 13:56:38 +0000 (08:56 -0500)]
Don't copy multiboot.bin into pc-bios after built

That dirties the working directory of the tree.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoFix multiboot.bin build on mingw32
Anthony Liguori [Sat, 11 Jul 2009 13:48:29 +0000 (08:48 -0500)]
Fix multiboot.bin build on mingw32

This combination of ld/object was suggested by Bartlomiej Celary

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoFix non-ACPI Timer Interrupt Routing - v3
Anthony Liguori [Sat, 11 Jul 2009 13:20:57 +0000 (08:20 -0500)]
Fix non-ACPI Timer Interrupt Routing - v3

v1 -> v2 adds comment suggested by Ryan.
v2 -> v3 clarifies comment and corrects entry count

Signed-off-by: Beth Kon <eak@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agopci.c: remove unnecessary #ifdef DEBUG_PCI.
Isaku Yamahata [Tue, 7 Jul 2009 06:59:22 +0000 (15:59 +0900)]
pci.c: remove unnecessary #ifdef DEBUG_PCI.

remove unnecessary #ifdef DEBUG_PCI.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoreplace bdrv_{get, put}_buffer with bdrv_{load, save}_vmstate
Christoph Hellwig [Fri, 10 Jul 2009 21:11:57 +0000 (23:11 +0200)]
replace bdrv_{get, put}_buffer with bdrv_{load, save}_vmstate

The VM state offset is a concept internal to the image format.  Replace
the old bdrv_{get,put}_buffer method that require an index into the
image file that is constructed from the VM state offset and an offset
into the vmstate with the bdrv_{load,save}_vmstate that just take an
offset into the VM state.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agobios: Fix multiple calls into smbios_load_ex
Anthony Liguori [Fri, 10 Jul 2009 19:52:56 +0000 (14:52 -0500)]
bios: Fix multiple calls into smbios_load_ex

We're marking the used entry bitmap in smbios_load_external() for each
type we check, regardless of whether we loaded anything.  This makes
subsequent calls behave as if we've already loaded the tables from qemu
and can result in missing tables (ex. multiple type4 entries on an SMP
guest).  Only mark the bitmap if we actually load something.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agogdbstub: x86: Support for setting segment registers
Jan Kiszka [Sat, 27 Jun 2009 07:53:51 +0000 (09:53 +0200)]
gdbstub: x86: Support for setting segment registers

This allows to set segment registers via gdb also in system emulation
mode. Basic sanity checks are applied and nothing is changed if they
fail. But screwing up the target via this interface will never be
complicated, so I avoided being too paranoid here.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agogdbstub: x86: Refactor register access
Jan Kiszka [Sat, 27 Jun 2009 07:53:51 +0000 (09:53 +0200)]
gdbstub: x86: Refactor register access

Clarify gdb's register set layout by using constants for
cpu_gdb_read/write_register.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agogdbstub: Add vCont support
Jan Kiszka [Sat, 27 Jun 2009 07:53:51 +0000 (09:53 +0200)]
gdbstub: Add vCont support

This patch adds support for the vCont remote gdb command. It is used by
gdb 6.8 or better to switch the debugging focus for single-stepping
multi-threaded targets, ie. multi-threaded application in user mode
emulation or VCPUs in system emulation.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoslirp: Fix default netmask to 255.255.255.0
Anthony Liguori [Fri, 10 Jul 2009 17:43:14 +0000 (12:43 -0500)]
slirp: Fix default netmask to 255.255.255.0

This got broken between a13a4126c8 and c92ef6a22d: old slirp code used
255.255.255.0.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRegenerate BIOS and add patches for -boot option
Anthony Liguori [Fri, 10 Jul 2009 16:56:35 +0000 (11:56 -0500)]
Regenerate BIOS and add patches for -boot option

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoUpdate boot option documentation
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Update boot option documentation

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd boot menu control via command line switch
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Add boot menu control via command line switch

Disable the lengthy BIOS prompt for selecting a boot device by default,
but let the user reenable it via '-boot menu=on'.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd boot-once support
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Add boot-once support

This allows to specify an exceptional boot order only for the first
startup of the guest. After reboot, qemu will switch back to the default
order (or what was specified via 'order='). Makes installing from CD
images and then booting the freshly set up harddisk more handy.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd qemu_unregister_reset
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Add qemu_unregister_reset

Will be used by '-boot once=...', and should also help in other use
cases.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRework reset handler management
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Rework reset handler management

Convert the reset handler maintenance code to TAILQ services.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMove boot_set callback backend
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Move boot_set callback backend

Move registration function for the boot_set callback handler and provide
qemu_boot_set so that it can also be used outside the monitor code.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRework -boot option
Jan Kiszka [Wed, 1 Jul 2009 22:19:02 +0000 (00:19 +0200)]
Rework -boot option

This patch changes the boot command line option to the canonical format

 -boot [order=drives][,...]

where 'drives' is using the same format as the old -boot. The format
switch allows to add the 'menu' and 'once' options in later patches. The
old format is still understood and will be processed at least for a
transition time.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd a pc-0-10 machine type for compatibility with 0.10.x
Mark McLoughlin [Wed, 8 Jul 2009 10:48:03 +0000 (11:48 +0100)]
Add a pc-0-10 machine type for compatibility with 0.10.x

Add a pc-0-10 machine type to allow a pc machine to be created with
virtio block and console devices compatibility with qemu-0.10.x.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoChange default PCI class of virtio-console to PCI_CLASS_SERIAL_OTHER
Mark McLoughlin [Tue, 7 Jul 2009 11:09:58 +0000 (12:09 +0100)]
Change default PCI class of virtio-console to PCI_CLASS_SERIAL_OTHER

We're using PCI_CLASS_DISPLAY_OTHER now, but qemu-kvm.git is using
PCI_CLASS_OTHERS because:

  "As a PCI_CLASS_DISPLAY_OTHER, it reduces primary display somehow on
   Windows XP (possibly Windows disables acceleration since it fails
   to find a driver)."

While this is valid, many versions of X will get confused by it.
Class major number of 0 gets treated as a possibly prehistoric VGA
device, and then the autoconfig logic gets confused trying to figure
out whether the virtio console or the pv vga device are the real VGA.

We should really set a proper class ID. 0x0780 (serial / other) seems
most appropriate. This shouldn't require any kernel changes, the
modalias for virtio looks like:

  alias:          pci:v00001AF4d*sv*sd*bc*sc*i*

so won't care what the base class or subclass are.

It shows up in the guest as:

  00:05.0 Communication controller: Qumranet, Inc. Virtio console

A new qdev type is introduced to allow devices using the old class
to be created for compatibility with qemu-0.10.x.

Reported-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoChange default PCI class of virtio-blk to PCI_CLASS_STORAGE_SCSI
Mark McLoughlin [Tue, 7 Jul 2009 11:09:10 +0000 (12:09 +0100)]
Change default PCI class of virtio-blk to PCI_CLASS_STORAGE_SCSI

Windows virtio driver cannot pass DTM (certification) tests while the
storage class is PCI_CLASS_STORAGE_UNKNOWN.

A new qdev type is introduced to allow devices using the old class
to be created for compatibility with qemu-0.10.x.

Reported-by: Dor Laor <dlaor@redhat.com>
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoSparc32: convert sparc32_dma to qdev
Blue Swirl [Wed, 15 Jul 2009 20:45:19 +0000 (20:45 +0000)]
Sparc32: convert sparc32_dma to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoAvoid SIGSEGV when dumping cpu state without enabled logging
malc [Wed, 15 Jul 2009 16:52:47 +0000 (20:52 +0400)]
Avoid SIGSEGV when dumping cpu state without enabled logging

Signed-off-by: malc <av1474@comtv.ru>
15 years agoConvert fdc to qdev
Blue Swirl [Wed, 15 Jul 2009 14:41:54 +0000 (14:41 +0000)]
Convert fdc to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert slavio timers to qdev
Blue Swirl [Wed, 15 Jul 2009 08:53:09 +0000 (08:53 +0000)]
Sparc32: convert slavio timers to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32/PPC: convert escc to qdev
Blue Swirl [Wed, 15 Jul 2009 08:51:32 +0000 (08:51 +0000)]
Sparc32/PPC: convert escc to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert slavio_misc to qdev
Blue Swirl [Mon, 13 Jul 2009 16:51:27 +0000 (16:51 +0000)]
Sparc32: convert slavio_misc to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: convert idreg to qdev
Blue Swirl [Mon, 13 Jul 2009 16:11:08 +0000 (16:11 +0000)]
Sparc32: convert idreg to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agotarget-ppc: enable PPC_MFTB for 44x
Baojun Wang [Fri, 3 Jul 2009 11:27:39 +0000 (19:27 +0800)]
target-ppc: enable PPC_MFTB for 44x

According to PPC440 user manual, PPC 440 supports ``mftb'' even it's a
preserved instruction:

PPC440_UM2013.pdf, p.445, table A-3

when I compile a kernel (2.6.30, bamboo_defconfig/440EP &
canyonlands/460EX), I can see ``mftb'' by using ppc-xxx-objdump
vmlinux

I have also checked the ppc 440x[456], 460S, 464, they also should support mftb.

The following patch enable mftb for all ppc 440 variants, including:
440EP, 440GP, 440x4, 440x5 and 460

Signed-off-by: Baojun Wang <wangbj@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agoppc tcg: fix wrong bit/mask of wrteei
Baojun Wang [Fri, 3 Jul 2009 10:56:57 +0000 (18:56 +0800)]
ppc tcg: fix wrong bit/mask of wrteei

Signed-off-by: Baojun Wang <wangbj@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agogdb-xml: fix hacks in powerpc register numbering
Nathan Froyd [Fri, 5 Jun 2009 02:02:28 +0000 (19:02 -0700)]
gdb-xml: fix hacks in powerpc register numbering

The powerpc xml files contained a hack--an empty, non-existent
register--for getting the register numbers to line up for
newer (XML-aware) and older (non-XML-aware) GDB.  While this hack worked
in some cases, it didn't work in all cases, notably when the user used
`finish' or `continue': GDB would attempt to read the non-existent
register and QEMU would complain.

This patch fixes things up properly.  Instead of inserting a fake
register, we explicitly declare the floating-point and SPE registers to
start at 71.  This action accomplishes the same thing as the nasty hack,
except that now GDB never tries to fetch the non-existant register 70.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>