Statistics
| Branch: | Revision:

root / hw / prep_pci.c @ 93148aa5

History | View | Annotate | Download (5.2 kB)

# Date Author Comment
83f7d43a 02/15/2012 05:39 pm Andreas Färber

qom: Unify type registration

Replace device_init() with generalized type_init().

While at it, unify naming convention: type_init([$prefix_]register_types)
Also, type_init() is a function, so add preceding blank line where
necessary and don't put a semicolon after the closing brace....

39bffca2 02/03/2012 06:41 pm Anthony Liguori

qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion. I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass...

40021f08 01/27/2012 06:50 pm Anthony Liguori

pci: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

999e12bb 01/27/2012 06:50 pm Anthony Liguori

sysbus: apic: ioapic: convert to QEMU Object Model

This converts three devices because apic and ioapic are subclasses of sysbus.
Converting subclasses independently of their base class is prohibitively hard.

Signed-off-by: Anthony Liguori <>

55526054 01/20/2012 01:27 am Andreas Färber

prep: qdev'ify Raven host bridge (PCIDevice)

Move initialization of vendor ID, etc. to PCIDeviceInfo.
Introduce VMState.

Signed-off-by: Andreas Färber <>
Reviewed-by: Alexander Graf <>
Cc: Hervé Poussineau <>...

9c95f183 01/20/2012 01:27 am Andreas Färber

prep_pci: Simplify I/O endianness

The prep PowerPC CPU is Big Endian. An explicit byte swap therefore
effectively becomes Little Endian.

Remove explicit byte swaps and mark as Little Endian.

Signed-off-by: Andreas Färber <>
Reviewed-by: Alexander Graf <>...

7e5610ff 01/20/2012 01:27 am Andreas Färber

prep_pci: Update I/O to MemoryRegion ops

Convert to new-style read/write callbacks.

Signed-off-by: Andreas Färber <>
Cc: Alexander Graf <>
Cc: Michael S. Tsirkin <>
Cc: Avi Kivity <>
Cc: Benoît Canet <>

8ca8c7bc 01/20/2012 01:27 am Andreas Färber

prep: qdev'ify Raven host bridge (SysBus)

Drop pci_prep_init() in favor of extended device state. Inspired by
patches from Hervé and Alex.

Assign the 4 IRQs from the board after device instantiation. This moves
the knowledge out of prep_pci and allows for future machines with...

f81138ce 11/24/2011 06:32 pm Avi Kivity

prep_pci: convert to memory API

Signed-off-by: Avi Kivity <>

12da94ff 09/25/2011 05:15 pm Avi Kivity

ppc_prep: fix pci config space initialization

Use data_mem for the data mmio region, not conf_mem.

Signed-off-by: Avi Kivity <>

d0ed8076 09/04/2011 05:46 pm Avi Kivity

pci_host: convert conf index and data ports to memory API

Reviewed-by: Richard Henderson <>
Signed-off-by: Avi Kivity <>

01e0451a 08/25/2011 10:39 pm Anthony Liguori

Revert "Merge remote-tracking branch 'qemu-kvm/memory/batch' into staging"

This reverts commit 8ef9ea85a2cc1007eaefa53e6871f1f83bcef22d, reversing
changes made to 444dc48298c480e42e15a8fe676be737d8a6b2a1.

From Avi:

Please revert the entire pull (git revert 8ef9ea85a2cc1) while I work this...
d2c33733 08/24/2011 08:17 pm Avi Kivity

pci_host: convert conf index and data ports to memory API

Reviewed-by: Richard Henderson <>
Signed-off-by: Avi Kivity <>

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

aee97b84 08/08/2011 06:15 pm Avi Kivity

pci: pass I/O address space to new PCI bus

This lets us register BARs in the I/O address space.

Reviewed-by: Richard Henderson <>
Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

1e39101c 07/29/2011 04:25 pm Avi Kivity

pci: pass address space to pci bus when created

This is now done sloppily, via get_system_memory(). Eventually callers
will be converted to stop using that.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

2507c12a 12/11/2010 05:24 pm Alexander Graf

Add endianness as io mem parameter

As stated before, devices can be little, big or native endian. The
target endianness is not of their concern, so we need to push things
down a level.

This patch adds a parameter to cpu_register_io_memory that allows a
device to choose its endianness. For now, all devices simply choose...

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

add85a76 03/29/2010 10:24 pm Blue Swirl

Compile prep_pci only once

Make byte swapping unconditional since PPC is big endian.

Signed-off-by: Blue Swirl <>

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

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

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

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

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

d60efc6b 08/25/2009 09:29 pm Blue Swirl

Make CPURead/WriteFunc structure 'const'

Signed-off-by: Blue Swirl <>

1eed09cb 06/16/2009 11:18 pm Avi Kivity

Remove io_index argument from cpu_register_io_memory()

The parameter is always zero except when registering the three internal
io regions (ROM, unassigned, notdirty). Remove the parameter to reduce
the API's power, thus facilitating future change.

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

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

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

1d6198c3 12/13/2008 11:32 am blueswir1

Remove unnecessary trailing newlines

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6000 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

8c9d7f83 10/29/2007 12:24 pm j_mayer

Fix PreP PCI IRQ mapping.

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

a01d8cad 10/14/2007 11:52 am j_mayer

Fix memory corruption reported by Julian Seward
(still more bugs to fix in PreP emulation).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3390 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

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

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