realview.cc (10537:47fe87b0cf97) | realview.cc (11244:a2af58a06c4e) |
---|---|
1/* 2 * Copyright (c) 2009, 2014 ARM Limited 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 --- 44 unchanged lines hidden (view full) --- 53#include "dev/arm/base_gic.hh" 54#include "dev/arm/realview.hh" 55#include "dev/terminal.hh" 56#include "sim/system.hh" 57 58using namespace std; 59using namespace TheISA; 60 | 1/* 2 * Copyright (c) 2009, 2014 ARM Limited 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 --- 44 unchanged lines hidden (view full) --- 53#include "dev/arm/base_gic.hh" 54#include "dev/arm/realview.hh" 55#include "dev/terminal.hh" 56#include "sim/system.hh" 57 58using namespace std; 59using namespace TheISA; 60 |
61 |
|
61RealView::RealView(const Params *p) 62 : Platform(p), system(p->system), gic(nullptr) 63{} 64 65void | 62RealView::RealView(const Params *p) 63 : Platform(p), system(p->system), gic(nullptr) 64{} 65 66void |
66RealView::initState() 67{ 68 Addr junk; 69 bool has_gen_pci_host; 70 has_gen_pci_host = system->kernelSymtab->findAddress("gen_pci_setup", junk); 71 72 if (has_gen_pci_host && !params()->pci_cfg_gen_offsets) 73 warn("Kernel supports generic PCI host but PCI Config offsets " 74 "configured for legacy. Set pci_cfg_gen_offsets to True"); 75 if (has_gen_pci_host && !params()->pci_io_base) 76 warn("Kernel supports generic PCI host but PCI IO base is set " 77 "to 0. Set pci_io_base to the start of PCI IO space"); 78} 79 80void | |
81RealView::postConsoleInt() 82{ 83 warn_once("Don't know what interrupt to post for console.\n"); 84 //panic("Need implementation\n"); 85} 86 87void 88RealView::clearConsoleInt() --- 9 unchanged lines hidden (view full) --- 98} 99 100void 101RealView::clearPciInt(int line) 102{ 103 gic->clearInt(line); 104} 105 | 67RealView::postConsoleInt() 68{ 69 warn_once("Don't know what interrupt to post for console.\n"); 70 //panic("Need implementation\n"); 71} 72 73void 74RealView::clearConsoleInt() --- 9 unchanged lines hidden (view full) --- 84} 85 86void 87RealView::clearPciInt(int line) 88{ 89 gic->clearInt(line); 90} 91 |
106Addr 107RealView::pciToDma(Addr pciAddr) const 108{ 109 return pciAddr; 110} 111 112 113Addr 114RealView::calcPciConfigAddr(int bus, int dev, int func) 115{ 116 if (bus != 0) 117 return ULL(-1); 118 119 Addr cfg_offset = 0; 120 if (params()->pci_cfg_gen_offsets) 121 cfg_offset |= ((func & 7) << 12) | ((dev & 0x1f) << 15); 122 else 123 cfg_offset |= ((func & 7) << 16) | ((dev & 0x1f) << 19); 124 return params()->pci_cfg_base | cfg_offset; 125} 126 127Addr 128RealView::calcPciIOAddr(Addr addr) 129{ 130 return params()->pci_io_base + addr; 131} 132 133Addr 134RealView::calcPciMemAddr(Addr addr) 135{ 136 return addr; 137} 138 | |
139RealView * 140RealViewParams::create() 141{ 142 return new RealView(this); 143} | 92RealView * 93RealViewParams::create() 94{ 95 return new RealView(this); 96} |