- 08 12月, 2009 1 次提交
-
-
由 Michael S. Tsirkin 提交于
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: NMichael S. Tsirkin <mst@redhat.com> Acked-by: NIsaku Yamahata <yamahata@valinux.co.jp>
-
- 02 12月, 2009 1 次提交
-
-
由 Michael S. Tsirkin 提交于
pci code had a TODO to move apb specific pci bridge initialization to apb_pci. Implement this and remove the TODO. Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 01 12月, 2009 6 次提交
-
-
由 Isaku Yamahata 提交于
- fix bridge prefetchable memory accesser to check 64bit or not. - use pcibus_t consistently instead mixing pcibus_t and uint64_t. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
-
由 Isaku Yamahata 提交于
This patch removes unused constants committed by fb231628. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
-
由 Isaku Yamahata 提交于
This patch removes some comment which should go into commit log in pci.h. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
-
由 Isaku Yamahata 提交于
This patch renames pci_find_host_bus() to pci_find_root_bus() as suggested by "Michael S. Tsirkin" <mst@redhat.com>. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
-
由 Isaku Yamahata 提交于
Now pci host stuff has been moved from pci.[hc] to pci_host.[hc] so the declaration of pci_data_{read, write}() should be in pci_host.h This patch moves them from pci.h to pci_host.h for consistency. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
-
由 Michael S. Tsirkin 提交于
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: NMichael S. Tsirkin <mst@redhat.com>
-
- 09 11月, 2009 15 次提交
-
-
由 Isaku Yamahata 提交于
This patch implements pci bridge filtering. TODO: currently almost all the map funcions assumes filtered_size == size and addr & ~(size - 1) == addr. However with bridge filtering, they aren't always true. Teach them such cases, such that filtered_size < size and addr & (size - 1) != 0. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
- Only sets default subsystem id for header type 00.(normal header type) because header type 01 doesn't have subsystem id, and uses the register for other purpose. So setting default subsystem id doesn't make sense. - initialize wmask more for header type 01.(bridge header type) Without those wmasks, linux was confused not boot, and lspci was confused not to print out expected IO/memory range. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
add helper function to check ranges overlap suggested by Michael S. Tsirkin <mst@redhat.com>. His original suggestion was to use [first, last], however I chosen to use offset, length pair, i.e. [offset, offset + length) because pci configuration space related functions all uses offset and length pair, so it helps to avoid to type constant twice. Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
This patch adds common routines for pcie host bridge and pcie mmcfg. This will be used by q35 based chipset emulation. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
change the first argument, void *opaque to PCIBus *s of the pci_data_{read, write}. They aren't used as direct callback so the argument type don't have to be void*. So change it to the right type. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
This patch sorts out/enhances pci code to track pci bus topology more accurately. - Track host bus bridge with pci domain number. Although the current qemu implementation supports only pci domian 0 yet. - Track pci bridge parent-child relationship. When looking down from pci host bus for pci sub bus, be aware of secondary bus/subordinate bus. Thus pci configuration transaction is more accurately emulated. This patch adds new member to PCIBus to track pci bus topology. Since qdev already tracks down bus relationship, those new member wouldn't be necessary. However it would be addressed later because not all the pci device isn't converted to qdev yet. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
implemented pci 64bit bar support. The tricky bit is pci_update_mapping(). An OS is allowed to set the BAR such that OS can't address the area pointed by BAR. It doesn't make sense, though. In that case, don't map the BAR. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
This patch is preliminary for 64bit bar. For 64bit bar support, change pcibus_t which represents pci bus addr/size from uint32_t to uint64_t. And also change FMT_pcibus for printf. In pci_update_mapping() checks 32bit overflow. So the check must be updated too. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
This patch is preliminary for 64bit BAR. Later pcibus_t will be changed from uint32_t to uint64_t. Introduce FMT_PCIBUS for printf format for pcibus_t. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
This patch is preliminary for 64 bit BAR support. Introduce dedicated type, pcibus_t, to represent pci bus address/size instead of uint32_t. Later this type will be changed to uint64_t. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
make pci_bar() aware of header type 1. When PCI_ROM_SLOT it should return PCI_ROM_ADDRESS1 (!= PCI_ROM_ADDRESS) Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
make constants for pci base address match pci_regs.h by renaming PCI_ADDRESS_SPACE_xxx to PCI_BASE_ADDRESS_SPACE_xxx. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
add helper functions to get/set PCIDevice::config Those will be used later. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
define a constant to represent a unmapped bar instead of -1 and use it. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Isaku Yamahata 提交于
introduce constant PCI_NUM_PINS for the number of interrupt pins, 4. and use it. Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 07 10月, 2009 1 次提交
-
-
由 Anthony Liguori 提交于
This reverts commit 0148fde5. As requested by Luiz. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 05 10月, 2009 11 次提交
-
-
由 Markus Armbruster 提交于
It's qdev_create() specialized for PCI, so name it accordingly. Signed-off-by: NMarkus Armbruster <armbru@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Markus Armbruster 提交于
Signed-off-by: NMarkus Armbruster <armbru@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Markus Armbruster 提交于
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 on failure. Switch uses during startup to new convenience wrapper pci_nic_init_nofail(), which behaves just like pci_nic_init() used to do. Bonus bug fix: we now check for qdev_init() failing there. Signed-off-by: NMarkus Armbruster <armbru@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Markus Armbruster 提交于
Monitor command "pci_add ADDR storage ..." does its work in qemu_pci_hot_add_nic(). It called pci_create(..., ADDR) to create the device. That's wrong, because pci_create() terminates the program when ADDR is invalid. Use pci_get_bus_devfn() and pci_create_noinit() instead. Signed-off-by: NMarkus Armbruster <armbru@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Michael S. Tsirkin 提交于
Since cpu_register_phys_memory does not require size to be a multiple of target page size, simply make msix page size 0x1000. Do this in msix, reverting part of 5e520a7d, as we no longer have to pass target page around. Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Michael S. Tsirkin 提交于
refactor code slightly, adding symbolic constants and functions, and using macros where possible. This will also make following reset patches easier. No functional changes. Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Gerd Hoffmann 提交于
Create qdev infrastructure for pci hotplug. PCI bus implementations must register a handler for hotplug. Creating a new PCI device will automagically hot-plug it in case the PCI bus in question supports this. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Gerd Hoffmann 提交于
One more cleanup while being at it ;) Signed-off-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Gerd Hoffmann 提交于
pci_unregister_device is static now and hooked into Devicestate->exit. qdev_free(pci_device) works now. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Gerd Hoffmann 提交于
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Luiz Capitulino 提交于
If the user issues one of the following commands to the Monitor: pci_add pci_addr=auto nic model=None pci_add pci_addr=auto nic model=? QEMU will exit, because the function used to perform sanity checks (qemu_check_nic_model_list()) exits on error. This function is used by the startup code, where it makes sense to exit on error, but in the Monitor it doesn't. Changing qemu_check_nic_model_list() to not exit on error is not possible though, as it's used by the board init code (the PC one), where all board specific code must have void return. The way I've chosen to fix this was to introduce a new function called pci_nic_supported(), which checks if the NIC is supported and returns true or false accordingly. The new function is used only by the Monitor, it performs the necessary check and returns an error in case the NIC is not supported, thus qemu_check_nic_model_list()'s exit is never trigged. The following should be observed: 1. Only the specified NIC is checked, the default one is assumed to be supported 2. The NIC query command (model=?) won't work with pci_add, the right way to do this with the Monitor is to add a new command Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 02 10月, 2009 2 次提交
-
-
由 Anthony Liguori 提交于
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 and cope with it. This reverts commit 99a0949b. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 malc 提交于
Some not so obvious bits, slirp and Xen were left alone for the time being. Signed-off-by: Nmalc <av1474@comtv.ru>
-
- 20 9月, 2009 1 次提交
-
-
由 Blue Swirl 提交于
Get page size in device init. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 16 9月, 2009 1 次提交
-
-
由 Gerd Hoffmann 提交于
Like pci_create_simple() but doesn't call qdev_init(), so one can set properties before initializing the device. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 10 9月, 2009 1 次提交
-
-
由 Stefan Weil 提交于
* Use function pci_config_set_device_id * Use new macro PCI_DEVICE_ID_INTEL_82557 Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-