43#include "debug/Malta.hh"
51#include "params/MaltaIO.hh"
84 panic(
"MaltaIO::read(...) not implemented inside malta_io.cc");
91 panic(
"MaltaIO::write(...) not implemented inside malta_io.cc");
Tick pioDelay
Delay that the device experinces on an access.
void serialize(const std::string &base, CheckpointOut &cp) const
Serialize this object to the given output stream.
void startup()
Start ticking.
void unserialize(const std::string &base, CheckpointIn &cp)
Reconstruct the state of this object from a checkpoint.
Real-Time Clock (MC146818)
virtual void startup()
Start ticking.
void serialize(const std::string &base, CheckpointOut &cp) const
Serialize this object to the given output stream.
void unserialize(const std::string &base, CheckpointIn &cp)
Reconstruct the state of this object from a checkpoint.
void clearIntr(uint32_t interrupt)
clear an interrupt previously posted to the CPU.
void postIntr(uint32_t interrupt)
post an interrupt to the CPU.
RTC(const std::string &name, const MaltaIOParams &p)
bool picInterrupting
Is the pic interrupting right now or not.
void postIntr(uint8_t interrupt)
Post an Interrupt to the CPU.
void clearIntr(uint8_t interrupt)
Clear an Interrupt to the CPU.
uint8_t mode2
Mode of PIC2.
uint8_t picr
Raw PIC interrupt register before masking.
uint8_t mask2
Mask of the PIC2.
Tick frequency() const
Return the freqency of the RTC.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
void startup() override
Start running.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
Malta * malta
A pointer to the Malta device which be belong to.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Intel8254Timer pitimer
Intel 8253 Periodic Interval Timer.
uint16_t timerData
The interval is set via two writes to the PIT.
uint8_t mode1
Mode of PIC1.
void serialize(CheckpointOut &cp) const override
Serialize an object.
uint8_t mask1
Mask of the PIC1.
MaltaIO(const Params &p)
Initialize all the data for devices supported by Malta I/O.
Top level class for Malta Chipset emulation.
MaltaIO * io
Pointer to the MaltaIO device which has the RTC.
MaltaCChip * cchip
Pointer to the Malta CChip.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
#define panic(...)
This implements a cprintf based panic() function.
const Params & params() const
Declaration of top level class for the Malta chipset.
Emulation of the Malta CChip CSRs.
Malta I/O Space mapping including RTC/timer interrupts.
Tick Frequency
The simulated frequency of curTick(). (In ticks per second)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Tick
Tick count type.
Declaration of the Packet class.
#define UNSERIALIZE_SCALAR(scalar)
#define SERIALIZE_SCALAR(scalar)
const std::string & name()