tlb.cc (7720:65d338a8dba4) | tlb.cc (7774:6246338ac1e9) |
---|---|
1/* 2 * Copyright (c) 2007-2008 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 497 unchanged lines hidden (view full) --- 506 Addr IOPort = vaddr & ~IntAddrPrefixMask; 507 // Make sure the address fits in the expected 16 bit IO address 508 // space. 509 assert(!(IOPort & ~0xFFFF)); 510 if (IOPort == 0xCF8 && req->getSize() == 4) { 511 req->setFlags(Request::MMAPED_IPR); 512 req->setPaddr(MISCREG_PCI_CONFIG_ADDRESS * sizeof(MiscReg)); 513 } else if ((IOPort & ~mask(2)) == 0xCFC) { | 1/* 2 * Copyright (c) 2007-2008 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 497 unchanged lines hidden (view full) --- 506 Addr IOPort = vaddr & ~IntAddrPrefixMask; 507 // Make sure the address fits in the expected 16 bit IO address 508 // space. 509 assert(!(IOPort & ~0xFFFF)); 510 if (IOPort == 0xCF8 && req->getSize() == 4) { 511 req->setFlags(Request::MMAPED_IPR); 512 req->setPaddr(MISCREG_PCI_CONFIG_ADDRESS * sizeof(MiscReg)); 513 } else if ((IOPort & ~mask(2)) == 0xCFC) { |
514 req->setFlags(Request::UNCACHEABLE); |
|
514 Addr configAddress = 515 tc->readMiscRegNoEffect(MISCREG_PCI_CONFIG_ADDRESS); 516 if (bits(configAddress, 31, 31)) { 517 req->setPaddr(PhysAddrPrefixPciConfig | 518 mbits(configAddress, 30, 2) | 519 (IOPort & mask(2))); 520 } 521 } else { | 515 Addr configAddress = 516 tc->readMiscRegNoEffect(MISCREG_PCI_CONFIG_ADDRESS); 517 if (bits(configAddress, 31, 31)) { 518 req->setPaddr(PhysAddrPrefixPciConfig | 519 mbits(configAddress, 30, 2) | 520 (IOPort & mask(2))); 521 } 522 } else { |
523 req->setFlags(Request::UNCACHEABLE); |
|
522 req->setPaddr(PhysAddrPrefixIO | IOPort); 523 } 524 return NoFault; 525 } else { 526 panic("Access to unrecognized internal address space %#x.\n", 527 prefix); 528 } 529} --- 213 unchanged lines hidden --- | 524 req->setPaddr(PhysAddrPrefixIO | IOPort); 525 } 526 return NoFault; 527 } else { 528 panic("Access to unrecognized internal address space %#x.\n", 529 prefix); 530 } 531} --- 213 unchanged lines hidden --- |