Age | Commit message (Collapse) | Author | Files | Lines |
|
* commit '2e01c8cf4b076b05013c87723e3fc710b50a0a7a':
PCI: make pci_mem_base private
Fix Sparse error: dubious one-bit signed bitfield
Fix Sparse warning: dubious: !x & y
scsi: fix Sparse warning: Initializer entry defined twice
MAC DBDMA: store register values in native endianness
Intel CPUs starting from pentium have apic
loader: more ignores for rom intended to be loaded by the bios
Don't load options roms intended to be loaded by the bios in qemu
Conflicts:
hw/pci.h
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
|
* commit 'fb58a897fdcaeedc09f0064817809f1e4d490324':
pci: use pci_regs.h
pci: import Linux pci_regs.h
pci: s/PCI_SUBVENDOR_ID/PCI_SUBSYSTEM_VENDOR_ID/g
pci: remove PCIBus::config_reg.
pci: remove unused macro
usb-ohci: symbolic names for pci registers
usb-uhci: symbolic names for pci registers
ac97: symbolic names for pci registers
wdt_i6300esb: symbolic names for pci registers
es1370: symbolic names for pci registers
pci: add another devsel macro
lsi: symbolic names for pci registers
vmware_vga: symbolic names for pci registers
cmd646: symbolic names for pci registers
piix: symbolic constants
eepro100: symbolic names for pci registers
pci: add more status bits
Conflicts:
hw/pci.h
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
|
* commit 'a7b15a5cc6261629879d4d8a71bacf23f983000b':
Revert "Revert "pci: interrupt disable bit support""
Conflicts:
hw/pci.c
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
|
|
|
Pass physical addresses to map functions instead of PCI bus addresses.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Bus address conversion was not correct.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Make pci_mem_base private to PCIBus. Add a function to set it.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
To match Linux PCI register definition,
rename PCI_SUBVENDOR_ID to PCI_SUBSYSTEM_VENDOR_ID.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
PCIBus::config_reg isn't used anymore, so remove it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
This reverts commit d587e0787153f0224a6140c5015609963ceaabfb.
|
|
* commit '8c52c8f320b27684ec3b1a649925b75af376b1f7':
pci romfiles: add property, add default to PCIDeviceInfo
Conflicts:
hw/pci.h
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit 'c2039bd0ffce8807e0eaac55254fde790825fa92':
Support PCI based option rom loading
Fix backcompat for hotplug of SCSI controllers
fdc: fix migration from 0.11
Revert "fdc: fix vmstate variable passed"
monitor: Accept input only byte-wise
Revert "kvm: x86: Save/restore exception_index"
vmware: increase cursor buffer size.
Conflicts:
hw/pci.c
hw/pci.h
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit 'd587e0787153f0224a6140c5015609963ceaabfb':
Revert "pci: interrupt disable bit support"
S390: Bail out without KVM
S390: Don't tell guest we're updating config space
add default virtcon initialization
S390: Loop through virtio console devices
target-s390: Fail on unknown instructions
osdep: Fix runtime failure on older Linux kernels
Fix a make -j race
target-alpha: Fix float32_to_s vs zero exponent.
target-alpha: Fix cvtlq.
target-alpha: Fix generic ctz64.
target-alpha: Implement fp branch/cmov inline.
target-alpha: Add placeholders for missing userspace PALcalls.
target-mips: No MIPS16 support for 4Kc, 4KEc cores
target-alpha: Fix compiler warning for gcc-4.3 (and older)
s390: Fix buggy assignment
target-mips: 4Kc, 4KEc cores do not support MIPS16
microblaze: Print content of EAR register
microblaze: Update debug logs.
tcg/ppc64: Fix loading of 32bit constants
Conflicts:
hw/pci.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
This patch adds a romfile property to the pci bus. It allows to specify
a romfile to load into the rom bar of the pci device. The default value
comes from a new field in PCIDeviceInfo. The property allows to change
the file and also to disable the rom loading using an empty string.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
Currently, we preload option roms into the option rom space in memory. This
prevents DDIM from functioning correctly which severely limits the number
of roms we can support.
This patch introduces a pci_add_option_rom() which registers the
PCI_ROM_ADDRESS bar which points to our option rom. It also converts over
the cirrus vga adapter, the rtl8139, virtio, and the e1000 to use this
new mechanism.
The result is that PXE boot functions even with three unique types of cards.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
This reverts commit 0ea5709a32085f7d14901a09d12bd35f9b267607.
Per discussion with Michael Tsirkin, this is too risky for 0.12
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
Make config reads for assigned devices work
like they used to: both pci_default_read_config
and pci_default_cap_read_config call to pci_read_config,
which does the actual work.
This fixes infinite recursion introduced by a
recent merge.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reported-by: Hannes Reinecke <hare@suse.de>
Tested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '55483ad657dcb62cde09bce3b38a5fc28d08f999': (67 commits)
monitor: do_info_cpus(): Use QBool
monitor: Fix do_info_commands() output
monitor: Fix do_info_balloon() output
QDict: Introduce qdict_get_qlist()
QDict: Introduce qdict_get_qbool()
Makefile: move QObject objs to their own entry
Introduce qemu-objects.h header file
vnc: fix capslock tracking logic.
QemuOpts: allow larger option values.
scsi: fix drive hotplug.
pci: don't hw_error() when no slot is available.
pci: don't abort() when trying to hotplug with acpi off.
Set default console to virtio on S390x
default devices: virtio consoles.
add -qmp convinience switch
add new -mon switch
rework -monitor handling, switch to QemuOpts
un-static qemu_chr_parse_compat()
default devices: drives
default devices: network
...
Conflicts:
monitor.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit 'b6981cb57be5d66b1b7cf9009a122fb3cdd4b96b':
pci: interrupt disable bit support
pci: interrupt status bit implementation
Conflicts:
hw/pci.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit 'd036bb215e0ac1d1fd467239f1d3b7d904cac90a':
pci: prepare irq code for interrupt state
Conflicts:
hw/pci.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
Current PCI code will simply hw_error() and thus abort in case no free
PCI slot is available or the requested PCI slot is already in use by
another device. For the hotplug case this behavior is not acceptable.
This patch makes qemu pass up the error properly, so the calling code
can decide whenever it wants to exit with an error (on startup) or
whenever it wants to continue (hotplug).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
Interrupt disable bit is mandatory in PCI spec.
Implement it to make devices spec compliant.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
This rearranges code in preparation for interrupt state
implementation.
Changes:
- split up bus walk away from interrupt handling
into a subroutine
- change irq_state from an array to bitmask
- verify that irq_state values are 0 or 1 on load
There are no functional changes.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
interrupt status is a mandatory feature in PCI spec,
so devices must implement it to be spec compliant.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
* commit 'e9b2e81889d9877415710484b876ee57a42b0bcb': (140 commits)
Introduce rerror option for drives
Rename DriveInfo.onerror to on_write_error
ram migration: Properly reset statistics
qemu-opts: Release id on deletion
live migration: Serialize vmstate saving in stage 2
block migration: Skip zero-sized disks
block migration: Increase dirty chunk size to 1M
block migration: Add support for restore progress reporting
block migration: Report progress also via info migration
block migration: Fix outgoing progress output
live migration: Propagate output monitor to callback handler
block migration: Report overall migration progress
live migration: Allow cleanup after cancellation or error
ram migration: Stop loading on error
block migration: Add error handling/propagation
block migration: Consolidate block transmission
block migration: Consolidate mig_read_device_bulk into mig_save_device_bulk
block migration: Clean up use of total_sectors
block migration: Initialize remaining BlkMigState fields
block migration: Switch device and block lists to QSIMPLEQ
...
Conflicts:
vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '8204a9180c5f456d30cbd29fddf734e97f7c74fa': (22 commits)
monitor: QError support
Introduce QError
utests: Add qstring_from_substr() unit-test
utests: Add qstring_append_chr() unit-test
QString: Introduce qstring_from_substr()
QString: Introduce qstring_append_int()
QString: Introduce qstring_append_chr()
QJSON: Introduce qobject_from_jsonv()
fix I2C slave addressing
Fix qdev property type definition for isa serial/parallel devices
Fix qemu_malloc/qemu_free use in rtl8139.c
Fix free use in xen_backend.c
Fix qemu_free use in scsi-generic.c
Fix qemu_free use in nseries.c
Fix qemu_free use in bt-l2cap.c
Fix qemu_free use in nand.c
Fix qemu_free use in baum.c
Fix qemu_free use in acpi.c
pci: move apb specific stuff to apb_pci.c
configure: use correct cflags in compiler checks
...
Conflicts:
monitor.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
pci code had a TODO to move apb specific
pci bridge initialization to apb_pci.
Implement this and remove the TODO.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
This reverts commit f0c728d09728825f7f8b6896adcf6e4fd58dc7ef. Seabios pci
init changes fix the issue.
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '98304c846d8866dae6322ef400ce6595b23cfc41': (33 commits)
msix: clear pending bit of an unused vector
msix: fix reset value for enable bit
msix: fix mask bit state after reset
virtio: do not reset msix state on soft reset
msix: add helper to unuse all msix entries
pci: convert goto into scope in bridge_filter
pci: pci bridge related clean up.
pci: fix pci_config_get_io_base().
pci: remove magic number, 256 in pci.c
pci: split up up pci_update mappings
pci: clean up of pci_update_mappings()
pci: remove unused constants
pci: move typedef, PCIHostState, PCIExpressHost to qemu-common.h.
pci: remove some unnecessary comment in pci.h
pci: clean up of pci_init_wmask().
pci: kill unnecessary included in pci.c
pci_host: remove unnecessary & 0xff.
pci: s/pci_find_host_bus/pci_find_root_bus/g
pci: remove pci_sub_bus() by open coding.
pci: shorten pci_host_{conf, data}_register_xxx function a bit.
...
Conflicts:
hw/msix.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
goto into scope is evil. rearrange pci_bridge_filter
so that we always go to end of function on error.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
- fix bridge prefetchable memory accesser to check 64bit or not.
- use pcibus_t consistently instead mixing pcibus_t and uint64_t.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
fix typo in pci_config_get_io_base().
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
This patch replaces magic number, 256, with ARRAY_SIZE().
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Split bar address math into a separate function.
In particular, this gets rid of an ugly forward goto
into scope that we have there.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
|
This patch converts r->size == 0 to !r_size.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
This patch replaces for loop by memset in pci_init_wmask().
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
including pci_host.h isn't needed by pci.c.
This patch kills it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
This patch renames pci_find_host_bus() to pci_find_root_bus()
as suggested by "Michael S. Tsirkin" <mst@redhat.com>.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Because pci_sub_bus() is used only once so eliminate it
by open coding as suggested by "Michael S. Tsirkin" <mst@redhat.com>.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
It printed wrong limit value of bridge.
This patch fixes it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
The generic pci reset introduced by c0b1905b28580 breaks Windows XP suspend.
Disable it.
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '0e607a80d323ba9f46dee71cd07380c4eb5c2b0a': (22 commits)
kvm: x86: Refactor use of interrupt_bitmap
kvm: Add arch reset handler
Enable migration without shared storage from the monitor
Block live migration
Expose a mechanism to trace block writes
char: rename qemu_chr_reset to qemu_chr_generic_open
char: Remove special init_reset handling
char: don't limit data sent to backends to 1k per buffer
ARM PB-A8 support
LAN9118 emulation
mips_r4k: fix reset
PPC64: map Uni-North AGP bus aka fix Linux boot
PPC64: Partial fix to Linux crash: revert to old devfn
PCI: make duplicate devfn allocation fatal
Do not execute shell scripts directly
mips malta: fix indentation
target-mips: fix indentation
mips-malta: fix reset
mips: fix cpu_reset memory leak
fix make clean targets
...
Carry changes to qemu-kvm-x86.c.
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '91011d4f3b7c311a42b842f6682ac64a2372d2b7':
pci: Fix function pci_default_write_config
mips: fix CPU reset
Fix PPC crash
ARM MPCore tweaks
Realview/EB procid hacks
pci: fix the conversion of config field from array to pointer
qemu_system_reset: we need to call it before loadvm/migration
fdc: fix vmstate variable passed
vnc: improve capslock handling.
e1000 fix: read access to some registers is missing.
Fix 32-bit overflow in parallels image support
kvm ppc: Remove unused label
kvm: Move KVM mp_state accessors to i386-specific code
virtio-blk: Pass read errors to the guest
savevm: Delete existing snapshots in all images
Fix incoming migration
fix type in CFLAGS name
Conflicts:
hw/pci.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '715a664ac4ca3b9e44ffbc0ca41ecd91fbe96656':
QemuOpts: command line switches for the config file.
QemuOpts: parse config from file.
QemuOpts: dump config.
QemuOpts: add find_list()
Documentation: Add options to image format descriptions
Documentation: Don't mention old qemu-img options
Documentation: Move image format descriptions to own section
Documentation: Add documentation for -chardev
Added imlpementation for qemu_error for non-qemu executables
eepro100: Improve support for different devices
pci/monitor: print out bridge's filtering values and so on.
pci: implement pci bridge filtering.
pci: factor out pci_for_each_device().
pci: cosmetic on pci_upadte_mappings()
Conflicts:
qemu-options.hx
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit 'fb23162885f7fd8cf7334bed22c25ac32c7d8b9d':
pci: initialize pci config headers depending it pci header type.
pci: teach pci_default_config_write() ROM bar for normal/bridge device .
Changed include order in hw/device-assignment.c.
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '260c0cd3d985e51b15870ff47e17b7b930efbda1':
pci: use range helper functions.
pci: add helper functions to check ranges overlap.
pci: pcie host and mmcfg support.
vmstate: introduce VMSTATE_BUFFER_UNSAFE_INFO.
pci_host: change the signature of pci_data_{read, write}.
pci: move pci host stuff from pci.c to pci_host.c
pci: factor out the conversion logic from io port address into pci device.
pci: make pci configuration transaction more accurate.
pci: remove bus_num member from struct PCIBus.
pci: 64bit bar support.
Conflicts:
hw/pci.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '4f8589e11558f1151d95a4a3e9fce902f042df3d':
pci: typedef pcibus_t as uint64_t instead of uint32_t.
pci: introduce FMT_PCIBUS for printf format for pcibus_t.
pci: introduce pcibus_t to represent pci bus address/size instead of uint32_t
pci_host: consolidate pci config address access.
Fix up hw/device-assignment.c.
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit 'b3b1169731c976dfe8dc5b4b121cfc670abc84c9':
pci: make pci_bar() aware of header type 1.
pci: clean up of pci_default_read_config.
Conflicts:
hw/pci.c
(reverts 148aa7fbe6 as a side effect)
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|
* commit '0392a017ae9b44dd5c29bf7769a96fd6806a3551': (23 commits)
pci: s/PCI_ADDRESS_SPACE_/PCI_BASE_ADDRESS_SPACE_/ to match pci_regs.h
pci: clean up pci_init_wmask()
pci/bridge: clean up of pci_bridge_initfn()
pci: use helper functions to access pci config space.
pci: helper functions to access PCIDevice::config
pci: define a constant to represent a unmapped bar and use it.
pci: use PCI_SLOT() and PCI_FUNC().
pci: introduce constant PCI_NUM_PINS for the number of interrupt pins, 4.
pci: fix PCI_DPRINTF() wrt variadic macro.
Makefile: make qemu-io dependent on config-host.h
scsi: move scsi-disk.h -> scsi.h
scsi: move scsi.h -> esp.h
Makefile: make qemu-img dependant on config-host.h
whitelist host virtio networking features
qemu-img: Allow creating zero sized images
tap: drain queue in tap_send()
virtio-net: split the has_buffers() logic from can_receive()
net/queue: queue packets even if sender doesn't supply a callback
net: disable receiving if client returns zero
tap: disable draining queue in one go
...
Conflicts:
hw/pci.h
Manual fixup for hw/device-assignment.c.
Signed-off-by: Avi Kivity <avi@redhat.com>
|