summaryrefslogtreecommitdiff
path: root/kern/freebsd/freebsd_system.hh
diff options
context:
space:
mode:
authorBenjamin Nash <benash@umich.edu>2005-06-17 18:08:05 -0400
committerBenjamin Nash <benash@umich.edu>2005-06-17 18:08:05 -0400
commitf4e5776df4bf20836fb917b7ba0a859c674600a5 (patch)
treed1d0846d1542dd85db4adbe9132826eb7c982dbe /kern/freebsd/freebsd_system.hh
parent129417d7cb0fd2aededc50a844f8a98d4128906b (diff)
downloadgem5-f4e5776df4bf20836fb917b7ba0a859c674600a5.tar.xz
I/O changes and SkipFuncEvents to increase FreeBSD compatibility.
SConscript: Added kern/freebsd/freebsd_events.cc. arch/alpha/isa_traits.hh: Added Argument to support replacement of calibrate_clocks function in FreeBSD. dev/ns_gige.hh: Fixed NIC model number typo. dev/tsunami_io.cc: Added support for RTC writes and PIC 2 mask reads. Made RTC static member. dev/tsunami_io.hh: Made RTC static member. kern/freebsd/freebsd_system.cc: Added events to skip functions in FreeBSD. kern/freebsd/freebsd_system.hh: Added events to skip certain functions. --HG-- extra : convert_revision : 8aaca51d3f9b1bb601722a5bae240aae77b445db
Diffstat (limited to 'kern/freebsd/freebsd_system.hh')
-rw-r--r--kern/freebsd/freebsd_system.hh16
1 files changed, 14 insertions, 2 deletions
diff --git a/kern/freebsd/freebsd_system.hh b/kern/freebsd/freebsd_system.hh
index 8caa81cbc..3e9867733 100644
--- a/kern/freebsd/freebsd_system.hh
+++ b/kern/freebsd/freebsd_system.hh
@@ -32,10 +32,11 @@
#include "sim/host.hh"
#include "sim/system.hh"
#include "targetarch/isa_traits.hh"
+#include "kern/freebsd/freebsd_events.hh"
/**
- * This class skips a lengthy function in the FreeBSD kernel.
+ * This class skips lengthy functions in the FreeBSD kernel.
*/
class FreebsdSystem : public System
{
@@ -44,10 +45,21 @@ class FreebsdSystem : public System
/** PC based event to skip the DELAY call */
SkipFuncEvent *skipDelayEvent;
+ SkipFuncEvent *skipOROMEvent;
+
+ SkipFuncEvent *skipAicEvent;
+
+ SkipFuncEvent *skipPNPEvent;
+
+ SkipFuncEvent *skipATAEvent;
+
+ FreebsdSkipCalibrateClocksEvent *skipCalibrateClocks;
+
public:
FreebsdSystem(Params *p);
~FreebsdSystem();
+ void doCalibrateClocks(ExecContext *xc);
};
-#endif // __KERN_LINUX_LINUX_SYSTEM_HH__
+#endif // __KERN_FREEBSD_FREEBSD_SYSTEM_HH__