29#ifndef __DEV_X86_I82094AA_HH__
30#define __DEV_X86_I82094AA_HH__
39#include "params/I82094AA.hh"
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Ports are used to interface objects to each other.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
static const uint8_t TableSize
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
Bitfield< 12 > deliveryStatus
uint32_t readReg(uint8_t offset)
void signalInterrupt(TriggerIntMessage message)
Bitfield< 10, 8 > deliveryMode
BitUnion64(RedirTableEntry) Bitfield< 63
Bitfield< 55, 32 > topReserved
bool recvResponse(PacketPtr pkt)
void raiseInterruptPin(int number)
static const uint8_t APICVersion
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
void lowerInterruptPin(int number)
void requestInterrupt(int line)
EndBitUnion(RedirTableEntry) protected uint8_t initialApicId
bool pinStates[TableSize]
std::vector< IntSinkPin< I82094AA > * > inputs
void serialize(CheckpointOut &cp) const override
Serialize an object.
uint64_t lowestPriorityOffset
Bitfield< 31, 17 > bottomReserved
IntRequestPort< I82094AA > intRequestPort
void writeReg(uint8_t offset, uint32_t value)
RedirTableEntry redirTable[TableSize]
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
Bitfield< 31, 0 > bottomDW
#define EndBitUnion(name)
This closes off the class and union started by the above macro.
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.
Overload hash function for BasicBlockRange type.