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 ---