Statistics
| Branch: | Revision:

root / hw / piix_pci.c @ 36388314

History | View | Annotate | Download (10.6 kB)

# Date Author Comment
6eab3de1 07/11/2010 08:01 pm Isaku Yamahata

pci: set PCI multi-function bit appropriately.

Set PCI multi-function bit according to multifunction property.
PCI address, devfn ,is exported to users as addr property,
so users can populate pci function(PCIDevice in qemu)
at arbitrary devfn.
It means each function(PCIDevice) don't know whether pci device...

fecb93c4 07/11/2010 08:01 pm Isaku Yamahata

pci: set multifunction property for normal device.

use pci_create_simple_multifunction() for normal device which sets
multifunction bit.
At the moment, only pc_piix.c and mips_malta.c uses multifunction
devices with piix3/4 pci-isa bridge.
And other boards don't populate those devices....

b80d4a98 07/11/2010 08:00 pm Isaku Yamahata

pci: don't overwrite multi functio bit in pci header type.

Don't overwrite pci header type.
Otherwise, multi function bit which pci_init_header_type() sets
appropriately is lost.
Anyway PCI_HEADER_TYPE_NORMAL is zero, so it is unnecessary to zero
which is already zero cleared....

97679527 05/28/2010 10:33 pm Avi Kivity

Fix overflow in i440fx_init()

The ram_size parameter can be larger than an int, so it may be truncated.

Fix by using the correct type.

Signed-off-by: Avi Kivity <>
Signed-off-by: Aurelien Jarno <>

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

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

4da5fcd3 12/23/2009 04:35 pm Isaku Yamahata

piix_pci: use range helper function

use range helper function in i440fx_write_config().

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

56594fe3 12/23/2009 04:35 pm Isaku Yamahata

piix_pci: add link to i440fx data sheet.

add link to i440fx data sheet.

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

f2c688bb 12/23/2009 04:35 pm Isaku Yamahata

piix_pci: define symbolic value for PAM0, PAM6 and SMRAM.

Define symbolic value in i440fx configuration space
for 0x59, 0x5f and 0x7f and use them.

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

be73cfe2 12/03/2009 06:05 pm Juan Quintela

savevm: Port to qdev.vmsd all devices that have qdev

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

f08b32fe 12/01/2009 05:51 pm Isaku Yamahata

pci: shorten pci_host_{conf, data}_register_xxx function a bit.

pci_host_data_register_io_memory and its variants are too long a bit.
So shorten them. Now they are
pci_host_{conf, data}_register_{mmio, mmio_noswap, ioport}()

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

a455783b 11/09/2009 04:43 pm Isaku Yamahata

pci_host: consolidate pci config address access.

consolidate pci_config address access into pci_host.c

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>

4f5e19e6 11/09/2009 04:43 pm Isaku Yamahata

pci_host.h: move functions in pci_host.h into .c file.

split static functions in pci_host.h into pci_host.c and
pci_host_template.h.
Later a structures declared in pci_host.h, PCIHostState, will be used.
However pci_host.h doesn't allow to include itself easily. This patches...

c1699988 11/07/2009 10:06 am Glauber Costa

v3: don't call reset functions on cpu initialization

There is absolutely no need to call reset functions when initializing
devices. Since we are already registering them, calling qemu_system_reset()
should suffice. Actually, it is what happens when we reboot the machine,...

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

7cd9eee0 10/05/2009 05:32 pm Gerd Hoffmann

piix_pci: kill PIIX3IrqState

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

e59fb374 10/05/2009 05:32 pm Juan Quintela

vmstate: add version_id argument to post_load

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

752ff2fa 09/11/2009 07:10 pm Juan Quintela

vmstate: rename run_after_load() -> post_load()

This naming was used in kvm tree, and is easier to remember

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

d1f171bd 09/04/2009 05:37 pm Juan Quintela

piix3: use new vmstate infrastructure

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

8372615d 09/04/2009 05:37 pm Juan Quintela

pci_irq_levels[] belong to PIIX3State

With previous cleanups, now it is possible to put it where it belongs

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

da64182c 09/04/2009 05:37 pm Juan Quintela

Update SaveVM versions

Now that we have all fields belonging to a PCIDevice, save each field
on the device that it belongs. This means moving pci_irq_levels
from PCII440FXState to PIIX3State.
Old formats are loaded, but we only save on the new saner format....

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

i440fx: use new vmstate infrastructure

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

fd37d881 09/04/2009 05:37 pm Juan Quintela

Create PIIX3State instead of using PCIDevice for PIIX3

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

bd7dce87 09/04/2009 05:37 pm Juan Quintela

Introduce PIIX3IrqState for piix3 irq's state

Signed-off-by: Juan Quintela <>
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 <>

fd83e9b9 09/04/2009 05:37 pm Juan Quintela

We can add piix3_dev now to PIIX3IrqState

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

867a0d7d 09/04/2009 05:37 pm Juan Quintela

Save irq_state into PCII440FXState

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

6c009fa4 09/04/2009 05:37 pm Juan Quintela

Move smm_enabled and isa_memory_mappings to PCII440FXState

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

5d4e84c8 09/04/2009 05:37 pm Juan Quintela

We want the argument pass to set_irq to be opaque

piix_pci want to pass more things that the pic

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

a4bf1f3e 09/04/2009 05:37 pm Juan Quintela

piix4 don't use pci_irq_levels at all

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

823e675a 09/04/2009 05:37 pm Juan Quintela

Split piix4 support from piix_pci.c

Now mips_malta uses piix4 and pc's use piix_pci definitions

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

81a322d4 08/28/2009 04:43 am Gerd Hoffmann

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

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

qdev/isa: make the piix isa bridge register an isa bus.

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

8a14daa5 07/27/2009 10:08 pm Gerd Hoffmann

qdev/pci: hook up i440fx.

Hook i44fx pcihost into sysbus.
Convert Host bridge and ISA bridge pci devices to qdev.
Tag as no-user.

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

a08d4367 06/29/2009 10:18 pm Jan Kiszka

Revert "Introduce reset notifier order"

This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (and
updates later added users of qemu_register_reset), we solved the
problem it originally addressed less invasively.

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

eae6bcbf 06/17/2009 08:36 pm Blue Swirl

Call piix4_reset() on system reset.

Also zero pci_irq_levels on reset to avoid stuck irq after reset.

Based on 15a1956af94e36105494f782a752698103addf63 by Gleb Natapov.

Signed-off-by: Blue Swirl <>

15a1956a 06/17/2009 08:05 pm Gleb Natapov

Call piix3_reset() on system reset.

Also zero pci_irq_levels on reset to avoid stuck irq after reset.

Signed-off-by: Gleb Natapov <>
Signed-off-by: Yaniv Kamay <>

02e2da45 05/23/2009 02:13 am Paul Brook

Add common BusState

Implement and use a common device bus state. The main side-effect is
that creating a bus and attaching it to a parent device are no longer
separate operations. For legacy code we allow a NULL parent, but that
should go away eventually....

6407f373 05/03/2009 10:03 pm Isaku Yamahata

use PCI_HEADER_TYPE.

use symbolic value instead of 0x0e and related value.

Signed-off-by: Isaku Yamahata <>

d78f3995 03/16/2009 06:33 pm blueswir1

Delete some unused macros detected with -Wp,-Wunused-macros use

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6856 c046a42c-6fe2-441c-8c8c-71466251a162

173a543b 02/01/2009 09:26 pm blueswir1

Add and use #defines for PCI device classes

This patch adds and uses #defines for PCI device classes and subclases,
using a new pci_config_set_class() function, similar to the recently
added pci_config_set_vendor_id() and pci_config_set_device_id().

Change since v1: fixed compilation of hw/sun4u.c...

deb54399 01/26/2009 05:37 pm aliguori

Define PCI vendor and device IDs in pci.h (Stuart Brady)

This patch defines PCI vendor and device IDs in pci.h (matching those
from Linux's pci_ids.h), and uses those definitions where appropriate.

Change from v1:
Introduces pci_config_set_vendor_id() / pci_config_set_device_id()...

b1d8e52e 10/26/2008 03:43 pm blueswir1

Fix undeclared symbol warnings from sparse

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5539 c046a42c-6fe2-441c-8c8c-71466251a162

00f82b8a 04/28/2008 12:12 am aurel32

Use correct types to enable > 2G support, based on a patch from
Anthony Liguori.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4265 c046a42c-6fe2-441c-8c8c-71466251a162

03875444 04/22/2008 11:45 pm aurel32

Revert "Use correct types to enable > 2G support" (r4238), it is
not yet ready.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4240 c046a42c-6fe2-441c-8c8c-71466251a162

967032c3 04/22/2008 11:37 pm aurel32

Use correct types to enable > 2G support, based on a patch from
Anthony Liguori.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4238 c046a42c-6fe2-441c-8c8c-71466251a162

477afee3 03/29/2008 12:28 am aurel32

Add missing initial values for PIIX3 function 0 (PIRQRC)

(Sebastian Herbszt)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4116 c046a42c-6fe2-441c-8c8c-71466251a162

cf7a2fe2 03/18/2008 08:53 am aurel32

SCI fixes

(Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4081 c046a42c-6fe2-441c-8c8c-71466251a162

52fc1d83 12/10/2007 01:56 am balrog

Save/load PCI-device, PCI-bus and PIIX3 irq-related state (patches by Uri Lublin.
Note that other PCI bridges are not fixed here.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3793 c046a42c-6fe2-441c-8c8c-71466251a162

d1781191 12/10/2007 01:02 am ths

Remove leftover support for 82371FB (Step A1), by Carlo Marcelo Arenas
Belon.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3787 c046a42c-6fe2-441c-8c8c-71466251a162

9596ebb7 11/18/2007 03:44 am pbrook

Add statics and missing #includes for prototypes.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3683 c046a42c-6fe2-441c-8c8c-71466251a162

87ecb68b 11/17/2007 07:14 pm pbrook

Break up vl.h.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162

3f6ffb6a 10/20/2007 11:36 pm ths

Enable ACPI interrupts, by Igor Lvovsky.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3419 c046a42c-6fe2-441c-8c8c-71466251a162

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162

d537cf6c 04/07/2007 09:14 pm pbrook

Unify IRQ handling.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2635 c046a42c-6fe2-441c-8c8c-71466251a162

e6a71ae3 01/24/2007 11:35 pm ths

Add support for 82371FB (Step A1) and Improved support for 82371SB
(Function 1), by Carlo Marcelo Arenas Belon.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2353 c046a42c-6fe2-441c-8c8c-71466251a162

5c2b87e3 01/15/2007 07:08 pm ths

PIIX4 support, by Aurelien Jarno.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2317 c046a42c-6fe2-441c-8c8c-71466251a162

8f1c91d8 01/10/2007 06:23 pm ths

Devfn number for the PIIX3 southbridge, by Aurelien Jarno.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2315 c046a42c-6fe2-441c-8c8c-71466251a162

84631fd7 09/24/2006 10:31 pm bellard

implement i440 instead of i450 ISA memory mappings to be compatible with Bochs

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2177 c046a42c-6fe2-441c-8c8c-71466251a162

ee0ea1d0 09/24/2006 09:49 pm bellard

moved PCI init to BIOS - added ISA memory mapping registers and SMM support

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2174 c046a42c-6fe2-441c-8c8c-71466251a162

80b3ada7 09/24/2006 08:01 pm pbrook

Implement sun4u PCI IRQ routing.
Allow multiple PCI busses and PCI-PCI bridges.
Fix bugs in Versatile PCI implementation.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2166 c046a42c-6fe2-441c-8c8c-71466251a162

d2b59317 09/24/2006 03:16 am pbrook

PCI shared IRQ fix (original patch by andrzej zaborowski).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2165 c046a42c-6fe2-441c-8c8c-71466251a162

1941d19c 08/17/2006 01:46 pm bellard

PCI save/restore changes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2115 c046a42c-6fe2-441c-8c8c-71466251a162

502a5395 05/13/2006 07:11 pm pbrook

Rearrange PCI host emulation code.
Add ARM PCI emulation.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1916 c046a42c-6fe2-441c-8c8c-71466251a162