summaryrefslogtreecommitdiff
path: root/src/dev
diff options
context:
space:
mode:
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;