29#ifndef __DEV_LUPIO_LUPIO_IPI_HH__
30#define __DEV_LUPIO_LUPIO_IPI_HH__
35#include "params/LupioIPI.hh"
LupioIPI: An inter-processor interrupt virtual device.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
std::vector< uint32_t > pending
Tick read(PacketPtr pkt) override
Implement BasicPioDevice virtual functions.
std::vector< uint32_t > mask
Set of registers corresponding to each CPU for sending inter-processor interrupts.
void lupioIPIWrite(const uint8_t addr, uint64_t val64, int size)
Function to write to the word register of the corresponding CPU and raise the IRQ.
LupioIPI(const Params ¶ms)
void lupioIPIUpdateIRQ()
Function to post and clear interrupts.
const ByteOrder byteOrder
uint64_t lupioIPIRead(const uint8_t addr, int size)
Function to return the value in the word register of the corresponding CPU and lower the IRQ.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Tick
Tick count type.