sdk/emulator/qemu.git
15 years agoide: split away ide-internal.h
Gerd Hoffmann [Thu, 20 Aug 2009 13:22:18 +0000 (15:22 +0200)]
ide: split away ide-internal.h

move lots of IDE defines to the new file.
also make a bunch of functions non-static
and add declaration for them.  Needed by
the following patches of this series.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: add IDEBus struct, cleanups
Gerd Hoffmann [Thu, 20 Aug 2009 13:22:17 +0000 (15:22 +0200)]
ide: add IDEBus struct, cleanups

The current IDE code uses an array of two IDEState structs to maintain
the IDE bus.  This patch adds a IDEBus to be used instead and does a
bunch of cleanups:

 * move ide bus state from IDEState to IDEBus.
 * drop a bunch of ugly pointer arithmetics to figure the active
   interface, explicitly save the interface number instead.
 * add helper functions to save/restore idebus state.

It also fixes a save/restore bug: loadvm allways stores the command in
the master's IDEState, even when it was saved from the slave.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev error logging
Gerd Hoffmann [Fri, 14 Aug 2009 08:36:08 +0000 (10:36 +0200)]
qdev error logging

Use the new qemu_error() function in qdev.c

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovirtio-pci error logging
Gerd Hoffmann [Fri, 14 Aug 2009 08:36:07 +0000 (10:36 +0200)]
virtio-pci error logging

Use the new qemu_error() function for virtio-blk-pci.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoadd qemu_error() + friends
Gerd Hoffmann [Fri, 14 Aug 2009 08:36:06 +0000 (10:36 +0200)]
add qemu_error() + friends

This patch adds some functions for error reporting to address the
problem that error messages should be routed to different destinations
depending on the context of the caller, i.e. monitor command errors
should go to the monitor, command line errors to stderr.

qemu_error() is a printf-like function to report errors.

qemu_errors_to_file() and qemu_errors_to_mon() switch the destination
for the error message to the specified file or monitor.  When setting a
new destination the old one will be kept.  One can switch back using
qemu_errors_to_previous().  i.e. it works like a stack.

main() calls qemu_errors_to_file(stderr), so errors go to stderr by
default.  monitor callbacks are wrapped into qemu_errors_to_mon() +
qemu_errors_to_previous(), so any errors triggered by monitor commands
will go to the monitor.

Each thread has its own error message destination.  qemu-kvm probably
should add a qemu_errors_to_file(stderr) call to the i/o-thread
initialization code.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: add return value to init() callbacks.
Gerd Hoffmann [Fri, 14 Aug 2009 08:36:05 +0000 (10:36 +0200)]
qdev: add return value to init() callbacks.

Sorry folks, but it has to be.  One more of these invasive qdev patches.

We have a serious design bug in the qdev interface:  device init
callbacks can't signal failure because the init() callback has no
return value.  This patch fixes it.

We have already one case in-tree where this is needed:
Try -device virtio-blk-pci (without drive= specified) and watch qemu
segfault.  This patch fixes it.

With usb+scsi being converted to qdev we'll get more devices where the
init callback can fail for various reasons.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agofix stack buffer overflows in eepro100.c tx
Reimar Döffinger [Thu, 20 Aug 2009 10:34:22 +0000 (12:34 +0200)]
fix stack buffer overflows in eepro100.c tx

Hello,
the real world issue is that the hardware allows sends up to 2600 bytes,
and for some reason FreeBSD sometimes sends frames larger than the
ethernet frame size (102+1460 is the maximum I have seen so far),
overflowing the on-stack tx buffer of the driver.
Independent of that, the code should avoid allowing the guest to
overwrite the stack.
This is a minimal patch to fix the issue (you could leave out the size
change of the buf array as well, networking still seems to work either
way). Obviously there are better ways to handle it, but a proper fix IMO
would involve first getting rid of the code duplication and given the
number of patches pending for that code I see no point in working on that now.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoCheck block driver read error in pflash_cfi0x
Vijay Kumar [Fri, 21 Aug 2009 04:57:38 +0000 (10:27 +0530)]
Check block driver read error in pflash_cfi0x

If a flash file of size smaller than the flash size is specified in
the -pflash option, the block driver returns error. But the
pflash_cfi0x ignores the error. This results in a flash content of all
zeroes. And the simulation aborts while executing code.

This patch adds the checks for errors from bdrv_read and escalates it
to the calling code.

Signed-off-by: Vijay Kumar B. <vijaykumar@bravegnu.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agokvm: Simplify cpu_synchronize_state()
Avi Kivity [Mon, 17 Aug 2009 20:19:53 +0000 (23:19 +0300)]
kvm: Simplify cpu_synchronize_state()

cpu_synchronize_state() is a little unreadable since the 'modified'
argument isn't self-explanatory.  Simplify it by making it always
synchronize the kernel state into qemu, and automatically flush the
registers back to the kernel if they've been synchronized on this
exit.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: convert watchdogs
Markus Armbruster [Fri, 21 Aug 2009 08:31:34 +0000 (10:31 +0200)]
qdev: convert watchdogs

-watchdog NAME is now equivalent to -device NAME, except it treats
option argument '?' specially, and supports only one watchdog.

A side effect is that a device created with -watchdog may now receive
a different PCI address.

i6300esb is now available on any machine with a PCI bus, not just PCs.
ib700 is still PC only, but that could be changed easily.

The only remaining use of struct WatchdogTimerModel and
watchdog_add_model() is supporting '-watchdog ?'.  Should be replaced
by searching device_info_list for watchdog devices when we can
identify them there.

Also fixes ib700 not to use vm_clock before it is initialized: in
wdt_ib700_init(), called from register_watchdogs(), which runs before
init_timers().  The bug made ib700_write_enable_reg() crash in
qemu_del_timer().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoClean up upcast from PCIDevice to I6300State
Markus Armbruster [Fri, 21 Aug 2009 08:31:33 +0000 (10:31 +0200)]
Clean up upcast from PCIDevice to I6300State

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMove watchdog, watchdog_action, give them internal linkage
Markus Armbruster [Fri, 21 Aug 2009 08:31:32 +0000 (10:31 +0200)]
Move watchdog, watchdog_action, give them internal linkage

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovirtio-blk: handle NULL returns from bdrv_aio_{read, write}
Christoph Hellwig [Thu, 13 Aug 2009 14:49:56 +0000 (16:49 +0200)]
virtio-blk: handle NULL returns from bdrv_aio_{read, write}

The bdrv_aio_{read,write} routines can return a NULL pointer when the
I/O submission fails.  Currently we ignore this and will wait forever
for an I/O completion and leading to a hang of the guest.

I can easily reproduce this using the native Linux AIO patch, but it's
also possible using normal pthreads-based AIO.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoraw-posix: add Linux native AIO support
Christoph Hellwig [Thu, 20 Aug 2009 14:58:35 +0000 (16:58 +0200)]
raw-posix: add Linux native AIO support

Now that do have a nicer interface to work against we can add Linux native
AIO support.  It's an extremly thing layer just setting up an iocb for
the io_submit system call in the submission path, and registering an
eventfd with the qemu poll handler to do complete the iocbs directly
from there.

This started out based on Anthony's earlier AIO patch, but after
estimated 42,000 rewrites and just as many build system changes
there's not much left of it.

To enable native kernel aio use the aio=native sub-command on the
drive command line.  I have also added an option to qemu-io to
test the aio support without needing a guest.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoraw-posix: refactor AIO support
Christoph Hellwig [Thu, 20 Aug 2009 14:58:19 +0000 (16:58 +0200)]
raw-posix: refactor AIO support

Currently the raw-posix.c code contains a lot of knowledge about the
asynchronous I/O scheme that is mostly implemented in posix-aio-compat.c.
All this code does not really belong here and is getting a bit in the
way of implementing native AIO on Linux.

So instead move all the guts of the AIO implementation into
posix-aio-compat.c (which might need a better name, btw).

There's now a very small interface between the AIO providers and raw-posix.c:

 - an init routine is called from raw_open_common to return an AIO context
   for this drive.  An AIO implementation may either re-use one context
   for all drives, or use a different one for each as the Linux native
   AIO support will do.
 - an submit routine is called from the aio_reav/writev methods to submit
   an AIO request

There are no indirect calls involved in this interface as we need to
decide which one to call manually.  We will only call the Linux AIO native
init function if we were requested to by vl.c, and we will only call
the native submit function if we are asked to and the request is properly
aligned.  That's also the reason why the alignment check actually does
the inverse move and now goes into raw-posix.c.

The old posix-aio-compat.h headers is removed now that most of it's
content is private to posix-aio-compat.c, and instead we add a new
block/raw-posix-aio.h headers is created containing only the tiny interface
between raw-posix.c and the AIO implementation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovirtio-console: rename dvq to ovq
Amit Shah [Thu, 20 Aug 2009 09:33:25 +0000 (15:03 +0530)]
virtio-console: rename dvq to ovq

It isn't obvious what 'dvq' stands for. Since it's the output queue and
the corresponding input queue is called 'ivq', call this 'ovq'

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agopci ids: remove redundant defines
Amit Shah [Wed, 12 Aug 2009 19:20:28 +0000 (00:50 +0530)]
pci ids: remove redundant defines

Remove some redundant definitions for PCI classes:
PCI_CLASS_SERIAL_OTHER already exists as PCI_CLASS_COMMUNICATION_OTHER
and PCI_CLASS_PROCESSOR_CO is redefined.

PCI_CLASS_SERIAL_OTHER is not used anywhere.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomultiboot.raw is a generated file
Juan Quintela [Wed, 19 Aug 2009 10:19:31 +0000 (12:19 +0200)]
multiboot.raw is a generated file

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoPort ACPI to VMState
Juan Quintela [Thu, 20 Aug 2009 17:42:41 +0000 (19:42 +0200)]
Port ACPI to VMState

This uses a run_after_load() function, and VMSTATE_PCI_DEVICE()
It could be made smaller changing the type of pm_io_space_update()
to return an int.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support to run a function after load
Juan Quintela [Thu, 20 Aug 2009 17:42:40 +0000 (19:42 +0200)]
Add VMState support to run a function after load

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoPort PCIDevice state to VMState
Juan Quintela [Thu, 20 Aug 2009 17:42:39 +0000 (19:42 +0200)]
Port PCIDevice state to VMState

This uses a variant of buffer, with extra checks. Also uses the new
support for cheking that a read value is less or equal than a field.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd version_id to PCIDevice.
Juan Quintela [Thu, 20 Aug 2009 17:42:38 +0000 (19:42 +0200)]
Add version_id to PCIDevice.

It is needed for VMState

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for int32_t check value
Juan Quintela [Thu, 20 Aug 2009 17:42:37 +0000 (19:42 +0200)]
Add VMState support for int32_t check value

We read the saved value and check that it is less or equal than the one
stored in the structure.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoPort PS2 devices to VMState design
Juan Quintela [Thu, 20 Aug 2009 17:42:36 +0000 (19:42 +0200)]
Port PS2 devices to VMState design

This uses STRUCT and BUFFER

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for static sized buffers (uint_8)
Juan Quintela [Thu, 20 Aug 2009 17:42:35 +0000 (19:42 +0200)]
Add VMState support for static sized buffers (uint_8)

This patch adds support for static sized buffer and typecheks that the buffer is right.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoPort PCI Bus to VMState design
Juan Quintela [Thu, 20 Aug 2009 17:42:34 +0000 (19:42 +0200)]
Port PCI Bus to VMState design

This uses VARRAY and INT32_EQUAL values

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for variable sized arrays
Juan Quintela [Thu, 20 Aug 2009 17:42:33 +0000 (19:42 +0200)]
Add VMState support for variable sized arrays

This patch add supports for variable sized arrays whose size is
another field of the state.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for int32_t check value
Juan Quintela [Thu, 20 Aug 2009 17:42:32 +0000 (19:42 +0200)]
Add VMState support for int32_t check value

We read the saved value and check that it is the same that the one
is stored in the structure.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoPort i8254 to new VMState design
Juan Quintela [Thu, 20 Aug 2009 17:42:31 +0000 (19:42 +0200)]
Port i8254 to new VMState design

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for arrays of structs
Juan Quintela [Thu, 20 Aug 2009 17:42:30 +0000 (19:42 +0200)]
Add VMState support for arrays of structs

This patch add supports for arrays of structs

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for structs
Juan Quintela [Thu, 20 Aug 2009 17:42:29 +0000 (19:42 +0200)]
Add VMState support for structs

This patch adds support for saving one VMStateDescription from other
VMStateDescription.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoPort apic to new VMState design
Juan Quintela [Thu, 20 Aug 2009 17:42:28 +0000 (19:42 +0200)]
Port apic to new VMState design

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for arrays
Juan Quintela [Thu, 20 Aug 2009 17:42:27 +0000 (19:42 +0200)]
Add VMState support for arrays

This patch adds support for saving arrays inside the struct

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd VMState support for pointers
Juan Quintela [Thu, 20 Aug 2009 17:42:26 +0000 (19:42 +0200)]
Add VMState support for pointers

This patch adds support for saving pointers to values

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoNew VMstate save/load infrastructure
Juan Quintela [Thu, 20 Aug 2009 17:42:25 +0000 (19:42 +0200)]
New VMstate save/load infrastructure

This patch introduces VMState infrastructure, to convert the save/load
functions of devices to a table approach.  This new approach has the
following advantages:
- it is type-safe
- you can't have load/save functions out of sync
- will allows us to have new interesting commands, like dump <device>, that
  shows all its internal state.
- Just now, the only added type is arrays, but we can add structures.
- Uses old load_state() function for loading old state.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd vmstate_load() and vmstate_save() functions
Juan Quintela [Thu, 20 Aug 2009 17:42:24 +0000 (19:42 +0200)]
Add vmstate_load() and vmstate_save() functions

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoUse return value from load_state() call back
Juan Quintela [Thu, 20 Aug 2009 17:42:23 +0000 (19:42 +0200)]
Use return value from load_state() call back

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomake load_vmstate() return errors
Juan Quintela [Thu, 20 Aug 2009 17:42:22 +0000 (19:42 +0200)]
make load_vmstate() return errors

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomove do_loadvm() to monitor.c
Juan Quintela [Thu, 20 Aug 2009 17:42:21 +0000 (19:42 +0200)]
move do_loadvm() to monitor.c

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosplit do_loadvm() into do_loadvm() and load_vmstate()
Juan Quintela [Thu, 20 Aug 2009 17:42:20 +0000 (19:42 +0200)]
split do_loadvm() into do_loadvm() and load_vmstate()

do_loadvm() is now called from the monitor.
load_vmstate() is called by do_loadvm() and when -loadvm command line is used.
Command line don't have to play games with vmstop()/vmstart()

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomove useful type definitons to osdep.h
Juan Quintela [Thu, 20 Aug 2009 17:42:19 +0000 (19:42 +0200)]
move useful type definitons to osdep.h

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqcow2: Metadata preallocation
Kevin Wolf [Mon, 17 Aug 2009 13:50:10 +0000 (15:50 +0200)]
qcow2: Metadata preallocation

This introduces a qemu-img create option for qcow2 which allows the metadata to
be preallocated, i.e. clusters are reserved in the refcount table and L1/L2
tables, but no data is written to them. Metadata is quite small, so this
happens in almost no time.

Especially with qcow2 on virtio this helps to gain a bit of performance during
the initial writes. However, as soon as create a snapshot, we're back to the
normal slow speed, obviously. So this isn't the real fix, but kind of a cheat
while we're still having trouble with qcow2 on virtio.

Note that the option is disabled by default and needs to be specified
explicitly using qemu-img create -f qcow2 -o preallocation=metadata.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMove isa_connect_irq calls into isa_create_simple
Gerd Hoffmann [Fri, 14 Aug 2009 09:36:16 +0000 (11:36 +0200)]
Move isa_connect_irq calls into isa_create_simple

Now with isa-bus maintaining the isa irqs we can move the
isa_connect_irq() calls into isa_create_simple().

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd isa_reserve_irq().
Jes Sorensen [Fri, 14 Aug 2009 09:36:15 +0000 (11:36 +0200)]
Add isa_reserve_irq().

Introduce isa_reserve_irq() which marks an irq reserved and returns
the appropriate qemu_irq entry from the i8259 table.

isa_reserve_irq() is a temporary interface to be used to allocate ISA
IRQs for devices which have not yet been converted to qdev, and for
special cases which are not suited for qdev conversions, such as the
'ferr'.

This patch goes on top of Gerd Hoffmann's which makes isa-bus.c own
the ISA irq table.

[ added isa-bus.o to some targets to fix build failures  -- kraxel ]

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoisa bus irq changes and fixes.
Gerd Hoffmann [Fri, 14 Aug 2009 09:36:14 +0000 (11:36 +0200)]
isa bus irq changes and fixes.

Changes:

  (1) make isa-bus maintain isa irqs, complain when allocating
      already taken irqs.
  (2) note that (1) works only for isa devices converted to qdev
      already (floppy and ps2/kbd/mouse right now), so more work
      is needed to make this really useful.
  (3) split floppy init into isa and sysbus versions.
  (4) add sysbus->isa bridge & fix -M isapc breakage.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agohw/eepro100.c: Use extended TBD only where applicable
Naphtali Sprei [Thu, 13 Aug 2009 12:01:20 +0000 (15:01 +0300)]
hw/eepro100.c: Use extended TBD only where applicable

Bug fix for segfault when run as i82551 HW:
Use Extended TBD only when HW supports it (i82558 and up).

Added assertions to guard from such buffer overflow
Introduce the MAX_TCB_BYTE_COUNT macro
Allocate buf big enough as HW needs (MAX_ETH_FRAME_SIZE -> MAX_TCB_BYTE_COUNT)

I don't feel 100% OK with the "s->device >= i82558B" condition
since it relies on the numeric (hex) value of those defines, which currently
is correct, but changes (which I don't forsee now) might break it.

Signed-off-by: Naphtali Sprei <nsprei@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agopci-hotplug: initialize dinfo to NULL in pci_device_hot_add
Sebastian Herbszt [Sun, 16 Aug 2009 12:07:54 +0000 (14:07 +0200)]
pci-hotplug: initialize dinfo to NULL in pci_device_hot_add

Suppress the following compiler warning emitted by at least gcc version 4.2.1 (SUSE Linux)
and gcc version 3.4.5 (mingw32 special):

hw/pci-hotplug.c: In function 'pci_device_hot_add':
hw/pci-hotplug.c:102: warning: 'dinfo' may be used uninitialized in this function
hw/pci-hotplug.c:102: note: 'dinfo' was declared here

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoblock/vdi.c: Fix several bugs
Stefan Weil [Fri, 14 Aug 2009 19:50:02 +0000 (21:50 +0200)]
block/vdi.c: Fix several bugs

* The code for option '-static' was wrong, so image creation
  always created static images.

* Static images created with qemu-img did not set header entry
  blocks_allocated.

* The size of the block map must be rounded to the next multiple
  of SECTOR_SIZE, otherwise the block map is only read partially
  for block map sizes which are not a multiple of SECTOR_SIZE.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agointroduce kvm64 CPU
Andre Przywara [Thu, 20 Aug 2009 21:34:17 +0000 (23:34 +0200)]
introduce kvm64 CPU

In addition to the TCG based qemu64 type let's introduce a kvm64 CPU type,
which is the least common denominator of all KVM-capable x86-CPUs
(based on Intel Pentium 4 Prescott). It can be used as a base type
for migration.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoallow overriding of CPUID level on command line
Andre Przywara [Thu, 20 Aug 2009 19:03:48 +0000 (21:03 +0200)]
allow overriding of CPUID level on command line

The CPUID level determines how many CPUID leafs are exposed to the guest.
Some features (like multi-core) cannot be propagated without the proper
level, but guests maybe confused by bogus entries in some leafs.
So add level= and xlevel= to the list of -cpu options to allow the user to
override the default settings. While at it, merge unnecessary local
variables into one and allow hexadecimal arguments.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoset CPUID bits to present cores and threads topology
Andre Przywara [Wed, 19 Aug 2009 13:42:42 +0000 (15:42 +0200)]
set CPUID bits to present cores and threads topology

Controlled by the enhanced -smp option set the CPUID bits to present the
guest the desired topology. This is vendor specific, but (with the exception
of the CMP_LEGACY bit) not conflicting, so we set all bits everytime.
There is no real multithreading support for AMD CPUs, so report cores
instead.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agopush CPUID level to 4 to allow Intel multicore decoding
Andre Przywara [Wed, 19 Aug 2009 13:42:41 +0000 (15:42 +0200)]
push CPUID level to 4 to allow Intel multicore decoding

Intel CPUs store the number of cores in CPUID leaf 4. So push
the maxleaf value to 4 to allow the guests access to this leaf.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoextend -smp parsing to include cores= and threads= options
Andre Przywara [Wed, 19 Aug 2009 13:42:40 +0000 (15:42 +0200)]
extend -smp parsing to include cores= and threads= options

For injecting multi-core and multi-threading CPU topology into guests
extend the -smp syntax to accommodate cores and threads specification.
Syntax: -smp smp_value[,cores=nr_cores][,threads=nr_threads]\
[,socket=nr_sockets][,maxcpus=max_cpus]
smp_value is the legacy value specifying the total number of vCPUs for
the guest. If you specify one of cores, threads or sockets this value
can be omitted. Missing values will be computed to fulfill:
smp_value = nr_cores * nr_threads * nr_sockets
where it will favour sockets over cores over threads (to mimic the
current behavior, which will only inject multiple sockets.)
So -smp 4,threads=2 will inject two sockets with 2 threads each,
-smp cores=4 is an abbreviation for -smp 4,cores=4,threads=1,sockets=1.
If max_cpus (the number of hotpluggable CPUs) is omitted, it will
be set to smp_value.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoadd file descriptor migration
Paolo Bonzini [Tue, 18 Aug 2009 13:56:25 +0000 (15:56 +0200)]
add file descriptor migration

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd sparse to new feature convention
Juan Quintela [Wed, 12 Aug 2009 16:29:57 +0000 (18:29 +0200)]
Add sparse to new feature convention

Once there, move to a proper test to see if we are going to use it or not

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd kvm to new feature convention
Juan Quintela [Wed, 12 Aug 2009 16:29:56 +0000 (18:29 +0200)]
Add kvm to new feature convention

Extra error message is only given if --enable-kvm was given

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd xen to new feature convention
Juan Quintela [Wed, 12 Aug 2009 16:29:55 +0000 (18:29 +0200)]
Add xen to new feature convention

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd fdt to new feature convention
Juan Quintela [Wed, 12 Aug 2009 16:29:54 +0000 (18:29 +0200)]
Add fdt to new feature convention

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd sdl to new feature convention
Juan Quintela [Wed, 12 Aug 2009 16:29:53 +0000 (18:29 +0200)]
Add sdl to new feature convention

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRename build_docs to docs
Juan Quintela [Wed, 12 Aug 2009 16:29:52 +0000 (18:29 +0200)]
Rename build_docs to docs

All other features are named foo and enabled with --enable-foo.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd build_docs to new feature convention
Juan Quintela [Wed, 12 Aug 2009 16:29:51 +0000 (18:29 +0200)]
Add build_docs to new feature convention

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd bluez to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:29:50 +0000 (18:29 +0200)]
Add bluez to new feature convencion

Once there, remove extra check for package and output if bluez was found or not as the other features

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd nptl to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:29:49 +0000 (18:29 +0200)]
Add nptl to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd curl to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:29:47 +0000 (18:29 +0200)]
Add curl to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd curses to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:20:30 +0000 (18:20 +0200)]
Add curses to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd vnc_sasl to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:20:29 +0000 (18:20 +0200)]
Add vnc_sasl to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd vnc_tls to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:20:28 +0000 (18:20 +0200)]
Add vnc_tls to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd vde to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:20:27 +0000 (18:20 +0200)]
Add vde to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd brlapi to new feature convencion
Juan Quintela [Wed, 12 Aug 2009 16:20:26 +0000 (18:20 +0200)]
Add brlapi to new feature convencion

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd error message for feature not found
Juan Quintela [Wed, 12 Aug 2009 16:20:25 +0000 (18:20 +0200)]
Add error message for feature not found

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd feature configure help
Juan Quintela [Wed, 12 Aug 2009 16:20:24 +0000 (18:20 +0200)]
Add feature configure help

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoUse the same structure for list of libs in curses and pthread
Juan Quintela [Wed, 12 Aug 2009 16:20:23 +0000 (18:20 +0200)]
Use the same structure for list of libs in curses and pthread

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMake vnc configure options less verbose.
Juan Quintela [Wed, 12 Aug 2009 16:20:22 +0000 (18:20 +0200)]
Make vnc configure options less verbose.

Rest of libraries don't print themselves

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRemove a hack introduced by d19076faca944c31bb051b95d285e75ec67902f7
malc [Thu, 27 Aug 2009 14:04:10 +0000 (18:04 +0400)]
Remove a hack introduced by d19076faca944c31bb051b95d285e75ec67902f7

Work by Blue Swirl culminating with 5c55ff99fa88158871d5b9f619c485deae5f3d5b
made it unnecessary.

15 years agoFix dsound typos
Consul [Tue, 25 Aug 2009 21:48:50 +0000 (14:48 -0700)]
Fix dsound typos

Dsound currently does not compile due to the typos in the code. This
patch makes it compile again.{PATCH}

Signed-off-by: Alex Ivanov <void@aleksoft.net>
Signed-off-by: malc <av1474@comtv.ru>
15 years agoRemove kqemu.c accidentally added by d60efc6b0d3d4e90cbbb86e21451e55263c29416
Blue Swirl [Tue, 25 Aug 2009 19:32:42 +0000 (19:32 +0000)]
Remove kqemu.c accidentally added by d60efc6b0d3d4e90cbbb86e21451e55263c29416

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc32: improve interrupt handling
Blue Swirl [Tue, 25 Aug 2009 18:29:36 +0000 (18:29 +0000)]
Sparc32: improve interrupt handling

Level 15 interrupts are broadcast to all CPUs, each CPU can clear the
interrupt using the local Clear Pending register.

Update intbit_to_level table.

Don't try to raise level 0 interrupts.

Calculate pending interrupts based on the separate inputs from master
register. Setting or resetting the pending level isn't correct because of
overlap of levels.

Level 14 is always used for CPU timer interrupts, remove the property.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoMake CPURead/WriteFunc structure 'const'
Blue Swirl [Tue, 25 Aug 2009 18:29:31 +0000 (18:29 +0000)]
Make CPURead/WriteFunc structure 'const'

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agotarget-mips: fix conditional moves off fp condition codes
Nathan Froyd [Tue, 25 Aug 2009 15:20:00 +0000 (08:20 -0700)]
target-mips: fix conditional moves off fp condition codes

Conditional moves off fp condition codes were using the result of
get_fp_bit to isolate and test the relevant condition code.  However,
get_fp_bit returns the bit number of the condition code, not a
bitmask.  (Compare the use of get_fp_bit in gen_compute_branch1, for
instance.)

Fixed by shifting a bitmask into place using the result of get_fp_bit in
the relevant functions (gen_mov{ci,cf_s,cf_d,cf_ps}).

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agoARM back-end: Fix encode_imm
Laurent Desnogues [Mon, 24 Aug 2009 23:12:25 +0000 (01:12 +0200)]
ARM back-end: Fix encode_imm

the encode_imm function in tcg/arm/tcg-target.c lacks shift declaration.

Laurent

Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
15 years agoMake the e1000 the default network adapter for the pc target.
Anthony Liguori [Fri, 14 Aug 2009 16:20:47 +0000 (11:20 -0500)]
Make the e1000 the default network adapter for the pc target.

The ne2k is an ancient card that performs pretty terribly under QEMU.  In many
modern OSes, there is no longer drivers available for the ne2k.

Switch the default network adapter to e1000.  This card is more widely
suppported and performs rather well under QEMU.  There may be very old OSes
that had a ne2k driver but not an e1000 driver but I think this is likely the
exception.

I think the average user is better served with an e1000 vs ne2k.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoeliminate errors about unused results in block/vpc.c
Nathan Froyd [Tue, 11 Aug 2009 19:47:59 +0000 (12:47 -0700)]
eliminate errors about unused results in block/vpc.c

These errors come up when compiling with gcc-4.3.3 and some older headers:

/scratch/froydnj/qemu.git/block/vpc.c: In function 'vpc_create':
/scratch/froydnj/qemu.git/block/vpc.c:514: error: value computed is not used
/scratch/froydnj/qemu.git/block/vpc.c:516: error: value computed is not used
/scratch/froydnj/qemu.git/block/vpc.c:517: error: value computed is not used
/scratch/froydnj/qemu.git/block/vpc.c:566: error: value computed is not used

Use memcpy to copy the strings instead of strncpy.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovirtio-blk: add msi support.
Gerd Hoffmann [Wed, 12 Aug 2009 10:47:24 +0000 (12:47 +0200)]
virtio-blk: add msi support.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev/prop: convert isa-bus to helper macros.
Gerd Hoffmann [Tue, 11 Aug 2009 09:38:30 +0000 (11:38 +0200)]
qdev/prop: convert isa-bus to helper macros.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomake pthreads mandatory
Christoph Hellwig [Mon, 10 Aug 2009 21:39:39 +0000 (23:39 +0200)]
make pthreads mandatory

As requested by Anthony make pthreads mandatory.  This means we will always
have AIO available on posix hosts, and it will also allow enabling the I/O
thread unconditionally once it's ready.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqemu: move virtio-pci.o to near pci.o
Michael S. Tsirkin [Mon, 10 Aug 2009 19:30:24 +0000 (22:30 +0300)]
qemu: move virtio-pci.o to near pci.o

virtio-pci depends, and will always depend, on pci.c
so it makes sense to keep it in the same makefile,
(unlike the rest of virtio files which should eventually
 be moved out to Makefile.hw).

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agochar: Emit 'CLOSED' events on char device close
Amit Shah [Tue, 11 Aug 2009 15:57:48 +0000 (21:27 +0530)]
char: Emit 'CLOSED' events on char device close

Notify users of the char interface whenever the file / connection is
closed.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agocleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal
Nathan Froyd [Mon, 10 Aug 2009 20:37:36 +0000 (13:37 -0700)]
cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal

handle_cpu_signal is very nearly copy-paste code for each target, with a
few minor variations.  This patch sets up appropriate defaults for a
generic handle_cpu_signal and provides overrides for particular targets
that did things differently.  Fixing things like the persistent (XXX:
use sigsetjmp) should now become somewhat easier.

Previous comments on this patch suggest that the "activate soft MMU for
this block" comments refer to defunct functionality.  I have removed
such blocks for the appropriate targets in this patch.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agounify popen/fopen qemu wrappers
Paolo Bonzini [Wed, 12 Aug 2009 12:17:35 +0000 (14:17 +0200)]
unify popen/fopen qemu wrappers

While reading Chris's code for fd migration I noticed the duplication
between QEMUFilePopen and QEMUFileStdio.  This fixes it, and makes
qemu_fopen more similar qemu_popen.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly build osdep once
Anthony Liguori [Mon, 10 Aug 2009 22:14:11 +0000 (17:14 -0500)]
Only build osdep once

We no longer need hackery to work around kqemu

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoUnbreak large mem support by removing kqemu
Anthony Liguori [Mon, 10 Aug 2009 22:07:24 +0000 (17:07 -0500)]
Unbreak large mem support by removing kqemu

kqemu introduces a number of restrictions on the i386 target.  The worst is that
it prevents large memory from working in the default build.

Furthermore, kqemu is fundamentally flawed in a number of ways.  It relies on
the TSC as a time source which will not be reliable on a multiple processor
system in userspace.  Since most modern processors are multicore, this severely
limits the utility of kqemu.

kvm is a viable alternative for people looking to accelerate qemu and has the
benefit of being supported by the upstream Linux kernel.  If someone can
implement work arounds to remove the restrictions introduced by kqemu, I'm
happy to avoid and/or revert this patch.

N.B. kqemu will still function in the 0.11 series but this patch removes it from
the 0.12 series.

Paul, please Ack or Nack this patch.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd a configure switch to enable / disable all user targets. I felt compelled to...
Zachary Amsden [Thu, 30 Jul 2009 10:14:59 +0000 (00:14 -1000)]
Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them.

Signed-off-by: Zachary Amsden <zamsden@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMigration via unix sockets.
Chris Lalancette [Wed, 5 Aug 2009 15:24:29 +0000 (17:24 +0200)]
Migration via unix sockets.

Implement migration via unix sockets.  While you can fake this using
exec and netcat, this involves forking another process and is
generally not very nice.  By doing this directly in qemu, we can avoid
the copy through the external nc command.  This is useful for
implementations (such as libvirt) that want to do "secure" migration;
we pipe the data on the sending side into the unix socket, libvirt
picks it up, encrypts it, and transports it, and then on the remote
side libvirt decrypts it, dumps it to another unix socket, and
feeds it into qemu.

The implementation is straightforward and looks very similar to
migration-exec.c and migration-tcp.c

Signed-off-by: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRoute IOAPIC interrupts via ISA bus
Avi Kivity [Sun, 9 Aug 2009 16:44:56 +0000 (19:44 +0300)]
Route IOAPIC interrupts via ISA bus

Instead of calling the IOAPIC from the PIC, raise IOAPIC irqs via the ISA bus.
As a side effect, IOAPIC lines 16-23 are enabled.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRoute PC irqs to ISA bus instead of i8259 directly
Avi Kivity [Sun, 9 Aug 2009 16:44:55 +0000 (19:44 +0300)]
Route PC irqs to ISA bus instead of i8259 directly

A PC has its motherboard IRQ lines connected to both the PIC and IOAPIC.
Currently, qemu routes IRQs to the PIC which then calls the IOAPIC, an
incestuous arrangement.  In order to clean this up, create a new ISA IRQ
abstraction, and have devices raise ISA IRQs (which in turn raise the i8259
IRQs as usual).

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMakefile: fixed rule TAGS
Alexandre Bique [Fri, 7 Aug 2009 14:43:11 +0000 (15:43 +0100)]
Makefile: fixed rule TAGS

- still works if the build dir is not the src dir
- use find instead of *.c block/*.c etc...

Signed-off-by: Alexandre Bique <alexandre.bique@citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoQEMU set irq0override in fw_cfg
Jes Sorensen [Thu, 6 Aug 2009 14:25:50 +0000 (16:25 +0200)]
QEMU set irq0override in fw_cfg

Hi,

After discussing the issue with Avi, Gleb and a couple others on irq,
we came to the conclusion that it is preferred to have QEMU request
features from the BIOS, rather than notifying the BIOS that it is
running on QEMU or KVM. This way memory ranges can change etc. and
an older BIOS will continue to work on newer QEMU if it receives the
info as a fw_cfg value.

This one also matches what qemu-kvm does for irq0override, except I
haven't made it configurable. I leave that as an exercise for whoever
would be interested in switching off irq0override.

Thanks,
Jes

Set irq0 override in fw_cfg, informing the BIOS that QEMU expects
override on irq0. This matches qemu-kvm, and will help sharing a
single BIOS binary.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoSMART ATA Functionality
Brian Wheeler [Fri, 7 Aug 2009 19:33:04 +0000 (15:33 -0400)]
SMART ATA Functionality

For the lulz I implemented basic SMART functionality in ide.c.  smartctl
on linux recognizes it just fine and starting self tests with it
complete successfully.

Signed-off-by: Brian Wheeler <bdwheele@indiana.edu>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAdd missing linefeed in error message
Stefan Weil [Sat, 8 Aug 2009 21:33:26 +0000 (23:33 +0200)]
Add missing linefeed in error message

The error message for an unknown network device given to
monitor command set_link looks better with a terminating
linefeed.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoClean up VGA type selection; far too many variables being used to track one state...
Zachary Amsden [Thu, 30 Jul 2009 10:15:02 +0000 (00:15 -1000)]
Clean up VGA type selection; far too many variables being used to track one state leads to confusion if new variables are added.

Signed-off-by: Zachary Amsden <zamsden@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>