44#ifndef __DEV_ARM_GIC_V2M_H__
45#define __DEV_ARM_GIC_V2M_H__
51#include "params/Gicv2m.hh"
52#include "params/Gicv2mFrame.hh"
Base class for ARM GIC implementations.
Ultimately this class should be embedded in the Gicv2m class, but this confuses Python as 'Gicv2m::Fr...
Gicv2mFrame(const Params &p)
const unsigned int spi_len
const unsigned int spi_base
BaseGic * gic
Gic to which we fire interrupts.
unsigned int log2framenum
Count of number of configured frames, as log2(frames)
virtual Tick read(PacketPtr pkt)
A PIO read to the device.
virtual AddrRangeList getAddrRanges() const
Return the address ranges used by the Gicv2m This is the set of frame addresses.
static const int FRAME_SIZE
virtual Tick write(PacketPtr pkt)
A PIO read to the device.
int frameFromAddr(Addr a) const
Determine which frame a PIO access lands in.
const Tick pioDelay
Latency for an MMIO operation.
std::vector< Gicv2mFrame * > frames
A set of configured hardware frames.
static const int MSI_SETSPI_NSR
static const int MSI_TYPER
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
This device is the base class which all devices senstive to an address range inherit from.
Abstract superclass for simulation objects.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.