Statistics
| Branch: | Revision:

root / hw / pc.c @ 3d78499a

History | View | Annotate | Download (26.7 kB)

# Date Author Comment
1d914fa0 05/15/2010 07:21 pm Isaku Yamahata

rtc: make rtc_xxx accept/return ISADevice instead of RTCState.

To match rtc_xxx with qdev, make rtc_xxx accept and return ISADevice
instead of RTCState.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

845773ab 05/15/2010 06:53 pm Isaku Yamahata

pc: split out piix specific part from pc.c into pc_piix.c

Finally, we can safely split out the piix specific part from pc.c
into pc_piix.c.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

e3a5cf42 05/15/2010 06:52 pm Isaku Yamahata

pc: split out pci device init from pc_init1() into pc_pci_device_init()

Split out pci device initialization from pc_init1() into pc_pci_device_init().
and removed unnecessary braces.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>...

ffe513da 05/15/2010 06:51 pm Isaku Yamahata

pc: split out basic device init from pc_init1() into pc_basic_device_init()

Split out basic device, i.e. legacy devices like floppy, initialization
from pc_init1() into pc_basic_device_init().
Later it will be used.

Signed-off-by: Isaku Yamahata <>...

765d7908 05/15/2010 06:50 pm Isaku Yamahata

pc: split out vga initialization from pc_init1() into pc_vga_init().

Split out vga initialization which is independent of piix
from pc_init1() as pc_vga_init().
Later it will be used.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>...

3d53f5c3 05/15/2010 06:47 pm Isaku Yamahata

pc: split out memory allocation from pc_init1() into pc_memory_init()

Split out memory allocation and rom/bios loading which doesn't depend
on piix from pc_init1() into pc_memory_init().
Later it will be used.

Signed-off-by: Isaku Yamahata <>...

70166477 05/15/2010 06:45 pm Isaku Yamahata

pc: split out cpu initialization from pc_init1() into pc_cpus_init().

split out cpu initialization which is piix independent from pc_init1()
into pc_cpus_init(). Later it will be used.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>...

8e78eb28 05/15/2010 06:42 pm Isaku Yamahata

pc: make pc_init1() not refer ferr_irq directly.

By introducing a registering function, make pc_init1() not refer to
ferr_irq directly in order to make ferr_irq piix independent.
Later pc_init1() will be split out into another file keeping ferr_irq
static....

6f09e686 05/15/2010 06:41 pm Isaku Yamahata

pc: introduce a function to allocate cpu irq.

Introduce a function, pc_allocate_cpu_irq(), to allocate cpu irq
in order to make pic_irq_request() piix independent.
Later piix code will be split out to another file keeping pic_irq_request()
static.

Signed-off-by: Isaku Yamahata <>...

ec2654fb 05/15/2010 06:40 pm Isaku Yamahata

pc: remove global variable rtc_state by using qemu_irq.

Remove the reference to the global variable, rtc_state, by passing
function argument to cmos_init_hd(), cmos_init().

Signed-off-by: Isaku Yamahata <>
Cc: Paolo Bonzini <>...

01b9e8c1 05/15/2010 06:38 pm Isaku Yamahata

pc: remove a global variable, floppy_controller.

Remove a global variable, floppy_controller.
Since it is unnecessarily global, make it local and pass it as
a function argument.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>...

57864959 05/15/2010 06:37 pm Isaku Yamahata

pc: make an unnecessary global variable, pit, local.

remove unnecessary global static variables, pit.
Make it local.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

f885f1ea 05/15/2010 06:33 pm Isaku Yamahata

pc, i440fx: Make smm enable/disable function i440fx independent.

make cpu_smm_update() generic to be independent on i440fx by
registering a callback.

Signed-off-by: Isaku Yamahata <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

b8d6f539 05/15/2010 06:32 pm Isaku Yamahata

pc: initialize ioapic before use.

The changeset of 2c8d9340203c7f19265fd4cb2341f568217a3af6
prevents isa_irq_handler() from NULL refering of IsaIrqState::ioapic.
However it would be better to initialize the member before reference.

Signed-off-by: Isaku Yamahata <>...

ec5f92ce 05/04/2010 12:03 am Bernhard M. Wiedemann

hw: better i440 emulation

updated version of an old patch
http://xenon.stanford.edu/~eswierk/misc/qemu-linuxbios/qemu-piix-ram-size.patch
that together with
http://www.mail-archive.com/linuxbios@linuxbios.org/msg02390.html
(which is already in coreboot trunk) allows coreboot to autodetect the amount of RAM within qemu/kvm from a register in i440 northbridge....

7f5b7d3e 04/25/2010 09:58 pm Blue Swirl

x86: remove dead assignments, spotted by clang analyzer

Value stored is never read.

Signed-off-by: Blue Swirl <>

d6fa4b77 04/19/2010 01:07 am M. Mohan Kumar

Check for invalid initrd file

When qemu is invoked with an invalid initrd file, it crashes. Following
patch prints a error message and exits if an invalid initrd is
specified. Includes changes suggested by JV.

Signed-off-by: M. Mohan Kumar <>...

53b67b30 03/29/2010 10:23 pm Blue Swirl

Compile acpi only once

Use qemu_irqs to trigger CMOS S3 and SMI events.

Avoid using kvm.h, which uses CPUState.

Signed-off-by: Blue Swirl <>

aa28b9bf 03/21/2010 09:46 pm Blue Swirl

Move x86 specific PC declarations to a separate file

x86 definitions (especially CPUState uses) prevent many files from
being compiled within libhw.

Move x86 specific declarations (APIC stuff) to a separate file.

Signed-off-by: Blue Swirl <>

1ecda02b 03/16/2010 05:58 pm Markus Armbruster

error: Replace qemu_error() by error_report()

error_report() terminates the message with a newline. Strip it it
from its arguments.

This fixes a few error messages lacking a newline:
net_handle_fd_param()'s "No file descriptor named %s found", and
tap_open()'s "vnet_hdr=1 requested, but no kernel support for...

8ad00f84 03/16/2010 05:55 pm Markus Armbruster

pc: Fix error reporting for -boot once

Commit 0ecdffbb created pc_boot_set() for use from monitor command
"boot_set", via qemu_boot_set(). pc_boot_set() reports errors to
cur_mon, which works fine for monitor code.

Commit e0f084bf reused the function int reset handler...

d9346e81 03/16/2010 05:55 pm Markus Armbruster

pc: Factor common code out of pc_boot_set() and cmos_init()

Code duplicated in commit 0ecdffbb. The two versions are similar, but
not identical:

  • cmos_init() reports errors to stderr, pc_boot_set() via
    qemu_error(). The latter is fine for both, so pick that for the...
6cb2996c 03/04/2010 05:29 am Jan Kiszka

x86: Extend validity of bsp_to_cpu

As we hard-wire the BSP to CPU 0 anyway and cpuid_apic_id equals
cpu_index, bsp_to_cpu can also be based on the latter directly. This
will help an early user of it: KVM while initializing mp_state.

Signed-off-by: Jan Kiszka <>...

60e4c631 03/04/2010 05:28 am Avi Kivity

Allocate memory below 4GB as one chunk

Instead of allocating a separate chunk for the first 640KB and another
for 1MB+, allocate one large chunk. This plays well in terms of alignment
and size with large pages.

Signed-off-by: Avi Kivity <>...

4c5b10b7 02/19/2010 11:53 pm Jes Sorensen

QEMU e820 reservation patch

Hi,

Kevin and I have agreed on the approach for this one now. So here is
the latest version of the patch for QEMU, submitting e820 reservation
entries via fw_cfg.

Cheers,
Jes

Use qemu-cfg to provide the BIOS with an optional table of e820 entries....

d76fa62d 02/19/2010 11:32 pm Amit Shah

pc: Bump up pc version to 0.13 and add a 0.12 compat version

The version 0.13 will be the new default and compatibility options will
be added to the 0.12 version.

Signed-off-by: Amit Shah <>
Signed-off-by: Anthony Liguori <>

8bfbde6d 02/19/2010 11:32 pm Amit Shah

pc: Add backward compatibility options for virtio-serial

virtio-serial-pci can support multiple ports in the current development
version that will become 0.13. Add compatibility options for the 0.12
and 0.11 pc machine types.

Signed-off-by: Amit Shah <>...

bc798c77 02/14/2010 09:24 am Blue Swirl

Remove conditional rom loading support

Commit c2039bd0ffce8807e0eaac55254fde790825fa92 made rom loading
automatic for non-PC architectures. Remove now mostly unused
conditional rom loading support.

Signed-off-by: Blue Swirl <>

5c02c033 02/07/2010 11:01 am Blue Swirl

fdc: don't use reserved _t suffix

Signed-off-by: Blue Swirl <>

98b19252 01/20/2010 04:25 pm Amit Shah

virtio-console: qdev conversion, new virtio-serial-bus

This commit converts the virtio-console device to create a new
virtio-serial bus that can host console and generic serial ports. The
file hosting this code is now called virtio-serial-bus.c.

The virtio console is now a very simple qdev device that sits on the...

374ef704 01/20/2010 12:31 am Gerd Hoffmann

pc: add driver version compat properties

This patch adds compat property entries for ide-disk.ver and
scsi-disk.ver to pc-0.10 and pc-0.11. With this patch applied
the scsi and ide disks report "0.10" and "0.11" as version when
you start qemu with "-M pc-0.10" or "-M pc-0.11"....

2cae6f5e 01/11/2010 09:41 pm Gerd Hoffmann

pc: add machine type for 0.12

Add a new machine type for qemu 0.12.

Also fixup the 0.11 machine type: msi for virtio-blk-pci was enabled
after the 0.11 release, so turn it off in the 0.11 machine type.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

8832cb80 01/11/2010 09:41 pm Gerd Hoffmann

roms: rework rom loading via fw

This patch changes the way rom loading via fw_cfg is handled.
Instead of having pc_init1() call a function which passed all
roms to the firmware config we simply pass a pointer to fw_cfg
to the rom loader.

Advantage: loading roms via firmware works also for devices which...

20a86364 01/11/2010 09:41 pm Gerd Hoffmann

pc: add rombar to compat properties for pc-0.10 and pc-0.11

So '-M pc-0.10' and '-M pc-0.11' will use the fw_cfg rom load method
by default.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

ee021627 01/08/2010 05:58 pm Adam Lackorzynski

multiboot: Support arbitrary number of modules.

Signed-off-by: Adam Lackorzynski <>
Signed-off-by: Anthony Liguori <>

52001445 01/08/2010 05:58 pm Adam Lackorzynski

multiboot: Separate multiboot loading into separate file

Move multiboot loading code into separate files as suggested by Alex Graf.

Signed-off-by: Adam Lackorzynski <>
Signed-off-by: Anthony Liguori <>

5a41ecc5 12/25/2009 08:19 pm Kirill A. Shutemov

hw/pc.c: fix warnings with _FORTIFY_SOURCE

CC    i386-softmmu/pc.o
cc1: warnings being treated as errors
/usr/src/RPM/BUILD/qemu-0.11.92/hw/pc.c: In function 'load_multiboot':
/usr/src/RPM/BUILD/qemu-0.11.92/hw/pc.c:614: error: ignoring return value of 'fread', declared with attribute warn_unused_result...
379526a4 12/18/2009 07:26 pm Gerd Hoffmann

roms: use new fw_cfg file xfer support.

roms: use fw_cfg for vgabios and option rom loading, additionally to
deploying them the traditional way (copy to 0xc0000 -> 0xe0000 range).

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

092493be 12/18/2009 07:26 pm Kevin Wolf

Fix loading of ELF multiboot kernels

The multiboot implementation assumed that there is only one program header
(which contains the entry point) and that the entry point is at the start of
the code. This doesn't hold true generally and caused too little data to be...

458fb679 12/12/2009 03:59 pm Gerd Hoffmann

qdev: make compat stuff more generic

This patch renames the compat properties into global properties and
makes them more generic. The compatibility stuff is only one of
multiple possible users now.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

5f370b14 12/03/2009 11:26 pm Kevin Wolf

multiboot: Use signed type for negative error numbers

In mb_mod_length a return value is stored that is negative in error case. With
an unsigned type the check goes wrong.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Anthony Liguori <>

53ea95de 12/03/2009 11:25 pm Adam Lackorzynski

multiboot: Fix module loading and setting of mmap.

Signed-off-by: Adam Lackorzynski <>
Acked-by: Alexander Graf <>
Signed-off-by: Anthony Liguori <>

18e08a55 12/01/2009 05:51 pm Michael S. Tsirkin

pci: pci.h cleanup: move out stuff not in pci.c

pci.h declares some functions which aren't
defined in pci.h. Clean up moving things
to appropriate headers, and update all users.

Signed-off-by: Michael S. Tsirkin <>

57a46d05 11/17/2009 06:39 pm Alexander Graf

Convert linux bootrom to external rom and fw_cfg

We already have a working multiboot implementation that uses fw_cfg to get
its kernel module etc. data in int19 runtime now.

So what's missing is a working linux boot option rom. While at it I figured it
would be a good idea to take the opcode generator out of pc.c and instead use...

77873196 11/17/2009 06:39 pm Alexander Graf

Convert multiboot to fw_cfg backed data storage

Right now we load the guest kernel to RAM, fire off the BIOS, hope it
doesn't clobber memory and run an option rom that jumps into the kernel.

That breaks with SeaBIOS, as that clears memory. So let's read all...

04095e5f 10/30/2009 04:42 pm Anthony Liguori

Remove e1000 rom loading hack

The gPXE rom supports BEV properly.

Signed-off-by: Anthony Liguori <>

de2aff17 10/30/2009 03:39 pm Gerd Hoffmann

rom loader: make vga+rom loading configurable.

The rom_add_vga() and rom_add_option() macros are transformed into
functions. They look at the new rom_enable_driver_roms variable
and only do something if it is set to non-zero, making vga+option rom
loading runtime option. pc_init() sets rom_enable_driver_roms to 1....

5245d57a 10/30/2009 03:39 pm Gerd Hoffmann

vga roms: move loading from pc.c to vga drivers.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

51edd4e6 10/30/2009 03:39 pm Gerd Hoffmann

use rom loader for pc bios.

The pc bios shows up in 'info roms' now.

Note that the BIOS is mapped to two places: The complete rom at the top
of the memory, and the first 128k at 0xe0000. Only the first place is
listed in 'info roms'.

Signed-off-by: Gerd Hoffmann <>...

844e78ef 10/27/2009 07:28 pm Gerd Hoffmann

pc.c: only load e1000 rom.

The other pxe roms are loaded by the drivers individual drivers now.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

3f3d583e 10/15/2009 05:32 pm Adam Lackorzynski

multiboot: Fix cmdline of modules

Fix address specified for cmdline value of module in multiboot structure.

Patchworks-ID: 35699
Signed-off-by: Adam Lackorzynski <>
Signed-off-by: Anthony Liguori <>

bf854d65 10/15/2009 05:32 pm Adam Lackorzynski

multiboot: Limit number of multiboot modules

Add size checks to avoid overwriting the multiboot structure
when too many modules are loaded.

Patchworks-ID: 35700
Signed-off-by: Adam Lackorzynski <>
Signed-off-by: Anthony Liguori <>

3c178e72 10/12/2009 05:42 pm Gerd Hoffmann

rom loader: fix sparc -kernel boot.

Changes:
(1) register pstrcpy_targphys() in rom list, it is used for kernel
command lines by a number of architectures.
(2) add rom_ptr() function to get a pointer for applying changes
to loaded images. Needed for example to tell the linux kernel...

e23a1b33 10/07/2009 04:54 pm Markus Armbruster

New qdev_init_nofail()

Like qdev_init(), but terminate program via hw_error() instead of
returning an error value.

Use it instead of qdev_init() where terminating the program on failure
is okay, either because it's during machine construction, or because...

45a50b16 10/06/2009 10:36 pm Gerd Hoffmann

Reorganize option rom (+linux kernel) loading.

This patch adds infrastructure to maintain memory regions which must be
restored on reset. That includes roms (vga bios and option roms on pc),
but is also used when loading linux kernels directly. Features:...

850810d0 10/05/2009 10:02 pm Justin M. Forbes

Improve error reporting on file access

By making the error reporting include strerror(errno), it gives the user
a bit more indication as to why qemu failed. This is particularly
important for people running qemu as a non root user.

Signed-off-by: Justin M. Forbes <>...

07caea31 10/05/2009 05:32 pm Markus Armbruster

Fix pci_add nic not to exit on bad model

Monitor command "pci_add ADDR nic model=MODEL" uses pci_nic_init() to
create the NIC. When MODEL is unknown or "?", this prints to stderr
and terminates the program.

Change pci_nic_init() not to treat "?" specially, and to return NULL...

ac0be998 10/05/2009 05:32 pm Gerd Hoffmann

serial: convert isa to qdev

Everything using standard isa I/O ports and IRQ windup is considerd
being an actual isa device. That are all serial_init() users except
mips_mipssim() which seems to have a non-standard IRQ windup.

baud rate is fixed at 115200 now as no caller passed in something else....

3f84865a 10/05/2009 05:32 pm Gerd Hoffmann

pci: windup acpi-based hotplug

Switch over acpi-based PCI hotplug for pc over to the new
qdev-based pci hotplugging.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

fd8014e1 10/05/2009 05:32 pm Gerd Hoffmann

floppy: add drive properties.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

021f0674 10/05/2009 05:32 pm Gerd Hoffmann

parallel: convert isa to qdev

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

5b7f5327 10/05/2009 05:32 pm Juan Quintela

i2c: addresses are load/save as uint8_t values, change types to reflect this

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time
being.

Signed-off-by: malc <>

ca20cf32 09/20/2009 05:58 pm Blue Swirl

Compile loader only once

Callers must pass ELF machine, byte swapping and symbol LSB clearing
information to ELF loader. A.out loader needs page size information, pass
that too as a parameter.

Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw....

dea21e97 09/15/2009 11:05 pm Gerd Hoffmann

ide/isa: convert to qdev.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

075cd324 09/13/2009 11:32 am Blue Swirl

x86: move a declaration to header

Signed-off-by: Blue Swirl <>

675d6f82 09/13/2009 11:32 am Blue Swirl

x86: add 'const'

Signed-off-by: Blue Swirl <>

9453c5bc 09/10/2009 06:48 pm Gerd Hoffmann

qdev/isa: convert ne2000

Also split the isa bits into a separate source file, so we don't drag in
a dependency for isa-bus.o for machines which want ne2k_pci only.

Signed-off-by: Gerd Hoffmann <>

32e0c826 09/10/2009 06:48 pm Gerd Hoffmann

qdev/isa: convert real time clock

Signed-off-by: Gerd Hoffmann <>

2e15e23b 09/10/2009 06:47 pm Gerd Hoffmann

qdev: simplify isa irq assignments

isa-bus owns the isa irqs now, so it can hand them out directly.
There is no need for the separate isa_connect_irqs step, drop it.

Also hard-code isa interrupts which can't be configured anyway.

Signed-off-by: Gerd Hoffmann <>

679a37af 09/10/2009 06:47 pm Gerd Hoffmann

isapc: pick a more sane default cpu for such old hardware.

Signed-off-by: Gerd Hoffmann <>

86c86157 09/10/2009 06:47 pm Gerd Hoffmann

qdev: drop iobase properties from isa bus

Lot of ISA devices work at fixed addresses, so having iobase
as bus property doesn't make much sense. Devices which can
have different iobases will get a device property.

Also simply hard-code stuff which can't be configured anyway....

2c8d9340 09/10/2009 06:47 pm Gerd Hoffmann

isapc: Fix irq routing

Only send irqs to ioapic in case we have one.
Fixes qemu segfault.

Signed-off-by: Gerd Hoffmann <>

82663ee2 09/06/2009 07:31 pm Blue Swirl

Fix indentation

Signed-off-by: Blue Swirl <>

ae027ad3 09/04/2009 05:37 pm Stefan Weil

mips malta: Fix fdc regression and use qdev for i8042 setup

8baf73adf664e79eae201c3f618078a220a661d9 (qdev/isa: convert fdc)
breaks MIPS Malta:

Tried to create isa device isa-fdc with no isa bus present

Fix this by creating an isa bus for piix4.
This change also requires some more qdev related changes...

f455e98c 09/04/2009 05:37 pm Gerd Hoffmann

ide: pass down DriveInfo instead of BlockDriverState

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

85a750ca 09/04/2009 05:37 pm Juan Quintela

Fold piix3_init() intto i440fx_init

i440fx_init will now work properly if we don't setup piix3

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

0a3bacf3 09/04/2009 05:37 pm Juan Quintela

Use PCII440FXState instead of generic PCIDevice

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

382f0743 08/28/2009 04:46 am Gerd Hoffmann

switch balloon initialization to -device.

With that patch applied "-balloon virtio,args" becomes a shortcut for
"-device virtio-balloon-pci,args".

Side effects:
- ballon device gains support for id=<tag>.
- ballon device is off by default now.
- initialization order changes, which may in different pci slot...

ec82026c 08/28/2009 04:43 am Gerd Hoffmann

ide: split away ide-isa.c

create ide-isa.c and place isa bus support there.
only build ide-isa support for platforms using it.
also create ide.h header file.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

09aaa160 08/28/2009 04:35 am Markus Armbruster

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....

3a38d437 08/28/2009 04:30 am Jes Sorensen

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...

e8935eef 08/28/2009 04:30 am Gerd Hoffmann

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 <>
Signed-off-by: Anthony Liguori <>

2091ba23 08/28/2009 04:30 am Gerd Hoffmann

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...
177539e0 08/24/2009 04:46 pm Gerd Hoffmann

virtio-blk: add msi support.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

0d6b0b1d 08/24/2009 04:46 pm Anthony Liguori

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...

4a1418e0 08/24/2009 04:02 pm Anthony Liguori

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...

1632dc6a 08/24/2009 04:01 pm Avi Kivity

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 <>
Signed-off-by: Anthony Liguori <>

6b35e7bf 08/24/2009 04:01 pm Jes Sorensen

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...

1452411b 08/24/2009 04:01 pm Avi Kivity

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...

b3999638 08/10/2009 09:05 pm Gerd Hoffmann

qdev/isa: make pc use qdev for i8042 setup.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>
Message-Id:

d176c495 08/10/2009 09:05 pm Gerd Hoffmann

qdev-ify virtio-blk.

First user of the new drive property. With this patch applied host
and guest config can be specified separately, like this:

-drive if=none,id=disk1,file=/path/to/disk.img
-device virtio-blk-pci,drive=disk1

You can set any property for virtio-blk-pci now. You can set the pci...

caea79a9 07/30/2009 05:50 pm Mark McLoughlin

Remove the pc-0-10 machine type

We have the pc-0.10 machine type now which does exactly the same
thing.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

751c6a17 07/27/2009 10:08 pm Gerd Hoffmann

kill drives_table

First step cleaning up the drives handling. This one does nothing but
removing drives_table[], still it became seriously big.

drive_get_index() is gone and is replaced by drives_get() which hands
out DriveInfo pointers instead of a table index. This needs adaption in...

95747581 07/27/2009 04:39 pm Mark McLoughlin

Add a pc-0.11 machine type and make the pc type an alias

The pc-0.11 type allows users of qemu-0.11 to use a machine type which
they know will remain compatible when the upgrade to qemu-0.12.

Management tools may choose to canonicalize the 'pc' machine type to...

ab73ff29 07/17/2009 01:28 am Gerd Hoffmann

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 <>
Signed-off-by: Anthony Liguori <>

d6beee99 07/17/2009 01:28 am Gerd Hoffmann

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 <>
Signed-off-by: Anthony Liguori <>

a1e0fea5 07/17/2009 01:28 am Gerd Hoffmann

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 <>
Signed-off-by: Anthony Liguori <>

96cc1810 07/17/2009 01:28 am Gerd Hoffmann

qdev/compat: add pc-0.10 machine type.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>