29#ifndef __DEV_X86_I8259_HH__
30#define __DEV_X86_I8259_HH__
34#include "enums/X86I8259CascadeMode.hh"
35#include "params/I8259.hh"
54 enums::X86I8259CascadeMode
mode;
96 if (if_name ==
"inputs")
98 else if (if_name ==
"output")
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Ports are used to interface objects to each other.
void signalInterrupt(int line)
enums::X86I8259CascadeMode mode
std::vector< IntSinkPin< I8259 > * > inputs
void raiseInterruptPin(int number)
void lowerInterruptPin(int number)
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
std::vector< IntSourcePin< I8259 > * > output
static const int NumLines
void unserialize(CheckpointIn &cp) override
Unserialize an object.
AddrRangeList getAddrRanges() const override
Determine the address ranges that this device responds to.
void requestInterrupt(int line)
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
void serialize(CheckpointOut &cp) const override
Serialize an object.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
const PortID InvalidPortID
std::ostream CheckpointOut
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
uint64_t Tick
Tick count type.