X86: Compute PCI config addresses correctly.
This commit is contained in:
parent
483c3e96b7
commit
06cdbe5ea7
1 changed files with 2 additions and 1 deletions
|
@ -547,7 +547,8 @@ TLB::translate(RequestPtr &req, ThreadContext *tc, bool write, bool execute)
|
||||||
tc->readMiscRegNoEffect(MISCREG_PCI_CONFIG_ADDRESS);
|
tc->readMiscRegNoEffect(MISCREG_PCI_CONFIG_ADDRESS);
|
||||||
if (bits(configAddress, 31, 31)) {
|
if (bits(configAddress, 31, 31)) {
|
||||||
req->setPaddr(PhysAddrPrefixPciConfig |
|
req->setPaddr(PhysAddrPrefixPciConfig |
|
||||||
bits(configAddress, 30, 0));
|
mbits(configAddress, 30, 2) |
|
||||||
|
(IOPort & mask(2)));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
req->setPaddr(PhysAddrPrefixIO | IOPort);
|
req->setPaddr(PhysAddrPrefixIO | IOPort);
|
||||||
|
|
Loading…
Reference in a new issue