mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
pci: typedef pcibus_t as uint64_t instead of uint32_t.
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: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
89e8b13c53
commit
4f8589e115
2 changed files with 10 additions and 3 deletions
9
hw/pci.c
9
hw/pci.c
|
@ -524,7 +524,14 @@ static void pci_update_mappings(PCIDevice *d)
|
|||
mappings, we handle specific values as invalid
|
||||
mappings. */
|
||||
if (last_addr <= new_addr || new_addr == 0 ||
|
||||
last_addr == PCI_BAR_UNMAPPED) {
|
||||
last_addr == PCI_BAR_UNMAPPED ||
|
||||
|
||||
/* Now pcibus_t is 64bit.
|
||||
* Check if 32 bit BAR wrap around explicitly.
|
||||
* Without this, PC ide doesn't work well.
|
||||
* TODO: remove this work around.
|
||||
*/
|
||||
last_addr >= UINT32_MAX) {
|
||||
new_addr = PCI_BAR_UNMAPPED;
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue