/*
- * Copyright (c) 2003 The Regents of The University of Michigan
+ * Copyright (c) 2001-2005 The Regents of The University of Michigan
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* @file
+/** @file
* System Console Interface
*/
#include "dev/alpha_access.h"
#include "dev/io_device.hh"
#include "sim/host.hh"
+#include "sim/sim_object.hh"
class BaseCPU;
class SimConsole;
class System;
-class TlaserClock;
class SimpleDisk;
-/*
+/**
* Memory mapped interface to the system console. This device
* represents a shared data region between the OS Kernel and the
* System Console.
class AlphaConsole : public PioDevice
{
protected:
+ struct Access : public AlphaAccess
+ {
+ void serialize(std::ostream &os);
+ void unserialize(Checkpoint *cp, const std::string §ion);
+ };
+
union {
- AlphaAccess *alphaAccess;
+ Access *alphaAccess;
uint8_t *consoleData;
};
/** the system console (the terminal) is accessable from the console */
SimConsole *console;
+ /** a pointer to the system we are running in */
+ System *system;
+
+ /** a pointer to the CPU boot cpu */
+ BaseCPU *cpu;
+
Addr addr;
static const Addr size = 0x80; // equal to sizeof(alpha_access);
public:
/** Standard Constructor */
AlphaConsole(const std::string &name, SimConsole *cons, SimpleDisk *d,
- System *system, BaseCPU *cpu, TlaserClock *clock,
- int num_cpus, MemoryController *mmu, Addr addr,
+ System *s, BaseCPU *c, Platform *platform,
+ MemoryController *mmu, Addr addr,
HierParams *hier, Bus *bus);
+ virtual void startup();
+
/**
* memory mapped reads and writes
*/