summaryrefslogtreecommitdiff
path: root/src/dev
diff options
context:
space:
mode:
authorRuslan Bukin <br@bsdpad.com>2015-04-29 22:35:23 -0500
committerRuslan Bukin <br@bsdpad.com>2015-04-29 22:35:23 -0500
commit81f3211149c051e4f70b0b12eb3709dfc6e0395c (patch)
tree9b9d276586b948252ec6a39a2748dbca43fe92d3 /src/dev
parent52a3bc5e5c3cc694b3f8b29f38b0dd296b91350f (diff)
downloadgem5-81f3211149c051e4f70b0b12eb3709dfc6e0395c.tar.xz
arch, base, dev, kern, sym: FreeBSD support
This adds support for FreeBSD/aarch64 FS and SE mode (basic set of syscalls only) Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'src/dev')
-rw-r--r--src/dev/arm/gic_pl390.cc6
-rw-r--r--src/dev/terminal.cc10
2 files changed, 14 insertions, 2 deletions
diff --git a/src/dev/arm/gic_pl390.cc b/src/dev/arm/gic_pl390.cc
index ced246485..b4dc37682 100644
--- a/src/dev/arm/gic_pl390.cc
+++ b/src/dev/arm/gic_pl390.cc
@@ -276,6 +276,9 @@ Pl390::readCpu(PacketPtr pkt)
ctx_id);
switch(daddr) {
+ case ICCIIDR:
+ pkt->set<uint32_t>(0);
+ break;
case ICCICR:
pkt->set<uint32_t>(cpuEnabled[ctx_id]);
break;
@@ -525,7 +528,8 @@ Pl390::writeCpu(PacketPtr pkt)
} else {
uint32_t int_num = 1 << intNumToBit(iar.ack_id);
if (!(activeInt[intNumToWord(iar.ack_id)] & int_num))
- panic("Done handling interrupt that isn't active?\n");
+ warn("Done handling interrupt that isn't active: %d\n",
+ intNumToBit(iar.ack_id));
activeInt[intNumToWord(iar.ack_id)] &= ~int_num;
}
updateRunPri();
diff --git a/src/dev/terminal.cc b/src/dev/terminal.cc
index 895069774..b4fb50f6e 100644
--- a/src/dev/terminal.cc
+++ b/src/dev/terminal.cc
@@ -34,7 +34,16 @@
*/
#include <sys/ioctl.h>
+
+#if defined(__FreeBSD__)
+#include <termios.h>
+
+#else
#include <sys/termios.h>
+
+#endif
+#include "dev/terminal.hh"
+
#include <poll.h>
#include <unistd.h>
@@ -53,7 +62,6 @@
#include "debug/Terminal.hh"
#include "debug/TerminalVerbose.hh"
#include "dev/platform.hh"
-#include "dev/terminal.hh"
#include "dev/uart.hh"
using namespace std;