merge from head of m5. note: i did not bother to merge the PIO stuff with scsi since we're not going that route anymore anyway. esp because it was giving me an error i couldn't seem to fix.

dev/alpha_console.cc:
    missed this >>>> after i merged
kern/linux/linux_system.cc:
    get rid of FS_MEASURES and change FnEvent to LinuxFnEvent
kern/linux/linux_system.hh:
    get rid of FS_MEASURE

--HG--
extra : convert_revision : 210f46573bba0c772a224ce110af9a9230fabf6a
This commit is contained in:
Lisa Hsu 2004-03-11 20:04:41 -05:00
parent 3bc8cffc75
commit 256a1ac478
3 changed files with 33 additions and 48 deletions

View file

@ -58,7 +58,6 @@ AlphaConsole::AlphaConsole(const string &name, SimConsole *cons, SimpleDisk *d,
int num_cpus, MemoryController *mmu, Addr a, int num_cpus, MemoryController *mmu, Addr a,
HierParams *hier, Bus *bus) HierParams *hier, Bus *bus)
: PioDevice(name), disk(d), console(cons), addr(a) : PioDevice(name), disk(d), console(cons), addr(a)
>>>>>>>
{ {
mmu->add_child(this, Range<Addr>(addr, addr + size)); mmu->add_child(this, Range<Addr>(addr, addr + size));

View file

@ -117,7 +117,6 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
kernelStart = bootloader->textBase(); kernelStart = bootloader->textBase();
DPRINTF(Loader, "Bootloader entry at %#x\n", kernelEntry); DPRINTF(Loader, "Bootloader entry at %#x\n", kernelEntry);
#ifdef FS_MEASURE
//INSTRUMENTATION CODEGEN BEGIN ONE //INSTRUMENTATION CODEGEN BEGIN ONE
if (bin == true) { if (bin == true) {
esIntrBin = new Statistics::MainBin(name() + " es_intr"); esIntrBin = new Statistics::MainBin(name() + " es_intr");
@ -215,7 +214,6 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
} }
//INSTRUMENTATION CODEGEN END //INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
kernelPanicEvent = new BreakPCEvent(&pcEventQueue, "kernel panic"); kernelPanicEvent = new BreakPCEvent(&pcEventQueue, "kernel panic");
consolePanicEvent = new BreakPCEvent(&pcEventQueue, "console panic"); consolePanicEvent = new BreakPCEvent(&pcEventQueue, "console panic");
@ -238,37 +236,37 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
#ifdef FS_MEASURE #ifdef FS_MEASURE
//INSTRUMENTATION CODEGEN BEGIN TWO //INSTRUMENTATION CODEGEN BEGIN TWO
if (bin == true) { if (bin == true) {
esIntrEvent = new FnEvent(&pcEventQueue, "es_intr", this); esIntrEvent = new LinuxFnEvent(&pcEventQueue, "es_intr", this);
esRxeofEvent = new FnEvent(&pcEventQueue, "es_rxeof", this); esRxeofEvent = new LinuxFnEvent(&pcEventQueue, "es_rxeof", this);
esNewbufEvent = new FnEvent(&pcEventQueue, "es_newbuf", this); esNewbufEvent = new LinuxFnEvent(&pcEventQueue, "es_newbuf", this);
esDmaLoadEvent = new FnEvent(&pcEventQueue, "es_dma_load", this); esDmaLoadEvent = new LinuxFnEvent(&pcEventQueue, "es_dma_load", this);
dmaMapLoadEvent = new FnEvent(&pcEventQueue, "dma_map_load", this); dmaMapLoadEvent = new LinuxFnEvent(&pcEventQueue, "dma_map_load", this);
etherInputEvent = new FnEvent(&pcEventQueue, "ether_input", this); etherInputEvent = new LinuxFnEvent(&pcEventQueue, "ether_input", this);
netisrInputEvent = new FnEvent(&pcEventQueue, "netisr_input", this); netisrInputEvent = new LinuxFnEvent(&pcEventQueue, "netisr_input", this);
schednetisrIsrEvent = new FnEvent(&pcEventQueue, "schednetisr_isr", this); schednetisrIsrEvent = new LinuxFnEvent(&pcEventQueue, "schednetisr_isr", this);
ipintrEvent = new FnEvent(&pcEventQueue, "ipintr", this); ipintrEvent = new LinuxFnEvent(&pcEventQueue, "ipintr", this);
ipDooptionsEvent = new FnEvent(&pcEventQueue, "ip_dooptions", this); ipDooptionsEvent = new LinuxFnEvent(&pcEventQueue, "ip_dooptions", this);
ipReassEvent = new FnEvent(&pcEventQueue, "ip_reass", this); ipReassEvent = new LinuxFnEvent(&pcEventQueue, "ip_reass", this);
tcpInputEvent = new FnEvent(&pcEventQueue, "tcp_input", this); tcpInputEvent = new LinuxFnEvent(&pcEventQueue, "tcp_input", this);
sbappendEvent = new FnEvent(&pcEventQueue, "sbappend", this); sbappendEvent = new LinuxFnEvent(&pcEventQueue, "sbappend", this);
readEvent = new FnEvent(&pcEventQueue, "read", this); readEvent = new LinuxFnEvent(&pcEventQueue, "read", this);
sooReadEvent = new FnEvent(&pcEventQueue, "soo_read", this); sooReadEvent = new LinuxFnEvent(&pcEventQueue, "soo_read", this);
orecvEvent = new FnEvent(&pcEventQueue, "orecv", this); orecvEvent = new LinuxFnEvent(&pcEventQueue, "orecv", this);
recvitEvent = new FnEvent(&pcEventQueue, "recvit", this); recvitEvent = new LinuxFnEvent(&pcEventQueue, "recvit", this);
soreceiveEvent = new FnEvent(&pcEventQueue, "soreceive", this); soreceiveEvent = new LinuxFnEvent(&pcEventQueue, "soreceive", this);
osendEvent = new FnEvent(&pcEventQueue, "osend", this); osendEvent = new LinuxFnEvent(&pcEventQueue, "osend", this);
writeEvent = new FnEvent(&pcEventQueue, "write", this); writeEvent = new LinuxFnEvent(&pcEventQueue, "write", this);
sooWriteEvent = new FnEvent(&pcEventQueue, "soo_write", this); sooWriteEvent = new LinuxFnEvent(&pcEventQueue, "soo_write", this);
senditEvent = new FnEvent(&pcEventQueue, "sendit", this); senditEvent = new LinuxFnEvent(&pcEventQueue, "sendit", this);
sosendEvent = new FnEvent(&pcEventQueue, "sosend", this); sosendEvent = new LinuxFnEvent(&pcEventQueue, "sosend", this);
tcpSosendEvent = new FnEvent(&pcEventQueue, "tcp_sosend", this); tcpSosendEvent = new LinuxFnEvent(&pcEventQueue, "tcp_sosend", this);
tcpOutputEvent = new FnEvent(&pcEventQueue, "tcp_output", this); tcpOutputEvent = new LinuxFnEvent(&pcEventQueue, "tcp_output", this);
ipOutputEvent = new FnEvent(&pcEventQueue, "ip_output", this); ipOutputEvent = new LinuxFnEvent(&pcEventQueue, "ip_output", this);
etherOutputEvent = new FnEvent(&pcEventQueue, "ether_output", this); etherOutputEvent = new LinuxFnEvent(&pcEventQueue, "ether_output", this);
esStartEvent = new FnEvent(&pcEventQueue, "es_start", this); esStartEvent = new LinuxFnEvent(&pcEventQueue, "es_start", this);
esTransmitEvent = new FnEvent(&pcEventQueue, "es_transmit", this); esTransmitEvent = new LinuxFnEvent(&pcEventQueue, "es_transmit", this);
esTxeofEvent = new FnEvent(&pcEventQueue, "es_txeof", this); esTxeofEvent = new LinuxFnEvent(&pcEventQueue, "es_txeof", this);
idleThreadEvent = new FnEvent(&pcEventQueue, "idle_thread", this); idleThreadEvent = new LinuxFnEvent(&pcEventQueue, "idle_thread", this);
} }
//INSTRUMENTATION CODEGEN END //INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE #endif //FS_MEASURE
@ -659,7 +657,6 @@ LinuxSystem::breakpoint()
return remoteGDB[0]->trap(ALPHA_KENTRY_IF); return remoteGDB[0]->trap(ALPHA_KENTRY_IF);
} }
#ifdef FS_MEASURE
void void
LinuxSystem::populateMap(std::string callee, std::string caller) LinuxSystem::populateMap(std::string callee, std::string caller)
{ {
@ -701,7 +698,6 @@ LinuxSystem::dumpState(ExecContext *xc) const
} }
} }
} }
#endif //FS_MEASURE
BEGIN_DECLARE_SIM_OBJECT_PARAMS(LinuxSystem) BEGIN_DECLARE_SIM_OBJECT_PARAMS(LinuxSystem)

View file

@ -34,9 +34,7 @@
#include "sim/system.hh" #include "sim/system.hh"
#include "targetarch/isa_traits.hh" #include "targetarch/isa_traits.hh"
#ifdef FS_MEASURE
#include <map> #include <map>
#endif
class ExecContext; class ExecContext;
class ElfObject; class ElfObject;
@ -49,9 +47,7 @@ class LinuxSkipDelayLoopEvent;
class LinuxPrintfEvent; class LinuxPrintfEvent;
class LinuxDebugPrintfEvent; class LinuxDebugPrintfEvent;
class LinuxDumpMbufEvent; class LinuxDumpMbufEvent;
#ifdef FS_MEASURE
class FnEvent; class FnEvent;
#endif
class AlphaArguments; class AlphaArguments;
class LinuxSystem : public System class LinuxSystem : public System
@ -65,7 +61,7 @@ class LinuxSystem : public System
SymbolTable *bootloaderSymtab; SymbolTable *bootloaderSymtab;
SymbolTable *consoleSymtab; SymbolTable *consoleSymtab;
#ifdef FS_MEASURE
//INSTRUMENTATION CODEGEN BEGIN ONE //INSTRUMENTATION CODEGEN BEGIN ONE
Statistics::MainBin *esIntrBin; Statistics::MainBin *esIntrBin;
Statistics::MainBin *esRxeofBin; Statistics::MainBin *esRxeofBin;
@ -99,7 +95,6 @@ class LinuxSystem : public System
Statistics::MainBin *esTxeofBin; Statistics::MainBin *esTxeofBin;
Statistics::MainBin *idleThreadBin; Statistics::MainBin *idleThreadBin;
//INSTRUMENTATION CODEGEN END //INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
BreakPCEvent *kernelPanicEvent; BreakPCEvent *kernelPanicEvent;
BreakPCEvent *consolePanicEvent; BreakPCEvent *consolePanicEvent;
@ -111,7 +106,7 @@ class LinuxSystem : public System
LinuxDebugPrintfEvent *debugPrintfEvent; LinuxDebugPrintfEvent *debugPrintfEvent;
LinuxDebugPrintfEvent *debugPrintfrEvent; LinuxDebugPrintfEvent *debugPrintfrEvent;
LinuxDumpMbufEvent *dumpMbufEvent; LinuxDumpMbufEvent *dumpMbufEvent;
#ifdef FS_MEASURE
//INSTRUMENTATION CODEGEN BEGIN TWO //INSTRUMENTATION CODEGEN BEGIN TWO
FnEvent *esIntrEvent; FnEvent *esIntrEvent;
FnEvent *esRxeofEvent; FnEvent *esRxeofEvent;
@ -145,7 +140,6 @@ class LinuxSystem : public System
FnEvent *esTxeofEvent; FnEvent *esTxeofEvent;
FnEvent *idleThreadEvent; FnEvent *idleThreadEvent;
//INSTRUMENTATION CODEGEN END //INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
private: private:
@ -154,10 +148,8 @@ class LinuxSystem : public System
Addr kernelEntry; Addr kernelEntry;
bool bin; bool bin;
#ifdef FS_MEASURE
std::multimap<const std::string, std::string> callerMap; std::multimap<const std::string, std::string> callerMap;
void populateMap(std::string caller, std::string callee); void populateMap(std::string caller, std::string callee);
#endif
public: public:
std::vector<RemoteGDB *> remoteGDB; std::vector<RemoteGDB *> remoteGDB;
@ -189,10 +181,8 @@ class LinuxSystem : public System
static void Printf(AlphaArguments args); static void Printf(AlphaArguments args);
static void DumpMbuf(AlphaArguments args); static void DumpMbuf(AlphaArguments args);
#ifdef FS_MEASURE
bool findCaller(std::string callee, std::string caller) const; bool findCaller(std::string callee, std::string caller) const;
void dumpState(ExecContext *xc) const; void dumpState(ExecContext *xc) const;
#endif //FS_MEASURE
}; };
#endif // __LINUX_SYSTEM_HH__ #endif // __LINUX_SYSTEM_HH__