33#ifndef __DEV_MALTA_IO_HH__
34#define __DEV_MALTA_IO_HH__
41#include "params/MaltaIO.hh"
59 RTC(
const std::string &
name,
const MaltaIOParams &
p);
Programmable Interval Timer (Intel 8254)
Real-Time Clock (MC146818)
const std::string & name() const
void postRTC()
post an RTC interrupt to the CPU
RTC(const std::string &name, const MaltaIOParams &p)
Malta I/O device is a catch all for all the south bridge stuff we care to implement.
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.
MaltaCChip * cchip
Pointer to the Malta CChip.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Declaration of top level class for the Malta chipset.
Emulation of the Malta CChip CSRs.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Tick
Tick count type.