summaryrefslogtreecommitdiff
path: root/src/dev/arm/realview.cc
diff options
context:
space:
mode:
authorAli Saidi <Ali.Saidi@ARM.com>2011-08-19 15:08:08 -0500
committerAli Saidi <Ali.Saidi@ARM.com>2011-08-19 15:08:08 -0500
commit2fd2b44b86c3d40e76f1e1641001074230208b3f (patch)
tree217bb533cd4bb5773fdb05e19146be8894ad65ff /src/dev/arm/realview.cc
parentd2a0a2ec2202eb8fa04ddd3e359c1c9dc7f04cb1 (diff)
downloadgem5-2fd2b44b86c3d40e76f1e1641001074230208b3f.tar.xz
ARM: Add VExpress_E support with PCIe to gem5
Diffstat (limited to 'src/dev/arm/realview.cc')
-rw-r--r--src/dev/arm/realview.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/dev/arm/realview.cc b/src/dev/arm/realview.cc
index b27c3e58d..8cc318f89 100644
--- a/src/dev/arm/realview.cc
+++ b/src/dev/arm/realview.cc
@@ -50,6 +50,7 @@
#include "config/the_isa.hh"
#include "cpu/intr_control.hh"
+#include "dev/arm/gic.hh"
#include "dev/arm/realview.hh"
#include "dev/terminal.hh"
#include "sim/system.hh"
@@ -88,27 +89,28 @@ RealView::clearConsoleInt()
void
RealView::postPciInt(int line)
{
- panic("Need implementation\n");
+ gic->sendInt(line);
}
void
RealView::clearPciInt(int line)
{
- panic("Need implementation\n");
+ gic->clearInt(line);
}
Addr
RealView::pciToDma(Addr pciAddr) const
{
- panic("Need implementation\n");
- M5_DUMMY_RETURN
+ return pciAddr;
}
Addr
RealView::calcPciConfigAddr(int bus, int dev, int func)
{
- return ULL(-1);
+ if (bus != 0)
+ return ULL(-1);
+ return params()->pci_cfg_base | ((func & 7) << 16) | ((dev & 0x1f) << 19);
}
Addr
@@ -120,8 +122,7 @@ RealView::calcPciIOAddr(Addr addr)
Addr
RealView::calcPciMemAddr(Addr addr)
{
- panic("Need implementation\n");
- M5_DUMMY_RETURN
+ return addr;
}
RealView *