46#ifndef __DEV_ARM_PL011_H__
47#define __DEV_ARM_PL011_H__
61 Pl011(
const Pl011Params &
p);
119 static const uint64_t
AMBA_ID = 0xb105f00d00341011ULL;
This is a base class for AMBA devices that have to respond to Device and Implementer ID calls.
Generic representation of an Arm interrupt pin.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
static const int UART_RSR
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
static const int UART_FR_CTS
static const uint16_t UART_RIINTR
Pl011(const Pl011Params &p)
static const int UART_RIS
static const uint64_t AMBA_ID
static const uint16_t UART_FEINTR
static const int UART_IFLS
void serialize(CheckpointOut &cp) const override
Serialize an object.
void setInterruptMask(uint16_t mask)
Convenience function to update the interrupt mask.
static const uint16_t UART_PEINTR
const bool endOnEOT
Should the simulation end on an EOT.
static const uint16_t UART_RTINTR
static const int UART_FR_RXFF
uint16_t maskInt() const
Masked interrupt status register.
static const uint16_t UART_RXINTR
static const int UART_DMACR
uint16_t ifls
interrupt fifo level register.
static const uint16_t UART_BEINTR
uint16_t imsc
interrupt mask register.
static const int UART_FR_TXFE
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
static const int UART_IBRD
void clearInterrupts(uint16_t ints)
Convenience function to clear interrupts.
static const int UART_IMSC
static const int UART_ICR
static const int UART_FR_TXFF
EventFunctionWrapper intEvent
Wrapper to create an event out of the thing.
void generateInterrupt()
Function to generate interrupt.
uint16_t ibrd
integer baud rate divisor.
static const int UART_MIS
void dataAvailable() override
Inform the uart that there is data available.
static const int UART_ECR
void raiseInterrupts(uint16_t ints)
Convenience function to raise a new interrupt.
uint16_t rawInt
raw interrupt status register
const Tick intDelay
Delay before interrupting.
uint16_t lcrh
Line control register.
static const int UART_LCRH
uint16_t fbrd
fractional baud rate divisor.
static const uint16_t UART_TXINTR
static const int UART_FBRD
static const uint16_t UART_CTSINTR
static const uint16_t UART_OEINTR
void setInterrupts(uint16_t ints, uint16_t mask)
Assign new interrupt values and update interrupt signals.
ArmInterruptPin *const interrupt
static const uint16_t UART_CDCINTR
static const int UART_FR_RXFE
void unserialize(CheckpointIn &cp) override
Unserialize an object.
static const uint16_t UART_DSRINTR
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Tick
Tick count type.