Go to the documentation of this file.
43 #ifndef __DEV_ARM_PL111_HH__
44 #define __DEV_ARM_PL111_HH__
53 #include "params/Pl111.hh"
112 Bitfield<1> underflow;
171 class DmaDoneEvent : public
Event
177 DmaDoneEvent(
Pl111 *_obj)
178 :
Event(), obj(*_obj) {}
185 const std::string
name()
const {
186 return obj.
name() +
".DmaDoneEvent";
AddrRangeList getAddrRanges() const override
Determine the address ranges that this device responds to.
InterruptReg lcdMis
Masked interrupt status register.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
static const int ClcdCrsrPalette0
static const int LcdTiming1
static const int ClcdCrsrImsc
void unserialize(CheckpointIn &cp) override
Unserialize an object.
EndBitUnion(InterruptReg) BitUnion32(TimingReg0) Bitfield< 7
const Params * params() const
Configurable RGB pixel converter.
static const int LcdTiming0
ARM PL111 register map.
uint32_t clcdCrsrCtrl
Cursor control register.
static const int LcdTiming3
static const int ClcdCrsrConfig
static const int CrsrImage
static const int LcdTiming2
uint32_t lcdUpbase
Upper panel frame base address register.
uint64_t Tick
Tick count type.
VncInput * vnc
VNC server.
TimingReg1 lcdTiming1
Vertical axis panel control register.
InterruptReg clcdCrsrMis
Cursor masked interrupt status register - const.
static const int buffer_size
InterruptReg lcdRis
Raw interrupt status register - const.
Tick pixelClock
Pixel clock.
uint32_t waterMark
DMA FIFO watermark.
void updateVideoParams()
Send updated parameters to the vnc server.
ControlReg lcdControl
Control register.
uint16_t height
Frame buffer height - lines per panel.
uint32_t lcdPalette[LcdPaletteSize]
256x16-bit color palette registers 256 palette entries organized as 128 locations of two entries per ...
static const int LcdMaxWidth
void startDma()
start the dmas off after power is enabled
uint32_t clcdCrsrClip
Cursor clip position register.
void dmaDone()
DMA done event.
static const int LcdPalette
EventFunctionWrapper fillFifoEvent
Fill fifo.
EventFunctionWrapper intEvent
Wrapper to create an event out of the interrupt.
Addr maxAddr
Frame buffer max address.
uint8_t bytesPerPixel
Bytes per pixel.
void fillFifo()
fillFIFO event
InterruptReg clcdCrsrImsc
Cursor interrupt mask set/clear register.
static const int LcdLpCurr
uint32_t clcdCrsrXY
Cursor XY position register.
uint32_t clcdCrsrConfig
Cursor configuration register.
Tick startTime
Start time for frame buffer dma read.
static const int ClcdCrsrMis
TimingReg3 lcdTiming3
Line end control register.
void generateReadEvent()
Generate dma framebuffer read event.
static const int ClcdCrsrXY
Bitfield< 13, 12 > lcdvcomp
static const int ClcdCrsrClip
AmbaDmaDeviceParams Params
static const int LcdControl
static const int LcdUpCurr
uint32_t cursorImage[CrsrImageSize]
Cursor image RAM register 256-word wide values defining images overlaid by the hw cursor mechanism.
uint32_t lcdLpbase
Lower panel frame base address register.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::vector< DmaDoneEvent > dmaDoneEventAll
All pre-allocated DMA done events.
uint32_t dmaPendingNum
Number of pending dma reads.
static const int ClcdCrsrIcr
InterruptReg lcdImsc
Interrupt mask set/clear register.
static const int ClcdCrsrPalette1
Addr curAddr
Frame buffer current address.
static const int ClcdCrsrRis
static const int ClcdCrsrCtrl
virtual const std::string name() const
void serialize(CheckpointOut &cp) const override
Serialize an object.
static const int maxOutstandingDma
BitUnion32(UserDescFlags) Bitfield< 0 > seg_32bit
std::vector< DmaDoneEvent * > dmaDoneEventFree
Unused DMA done events that are ready to be scheduled.
static const int CrsrImageSize
EventFunctionWrapper readEvent
DMA framebuffer read event.
EndBitUnion(ControlReg) class DmaDoneEvent TimingReg0 lcdTiming0
Event wrapper for dmaDone()
TimingReg2 lcdTiming2
Clock and signal polarity control register.
const SimObjectParams * _params
Cached copy of the object parameters.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
void readFramebuffer()
DMA framebuffer read.
Internal gem5 representation of a frame buffer.
static const uint64_t AMBA_ID
static const int LcdMaxHeight
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
static const int LcdUpBase
OutputStream * pic
Picture of what the current frame buffer looks like.
void generateInterrupt()
Function to generate interrupt.
std::ostream CheckpointOut
uint8_t * dmaBuffer
CLCDC supports up to 1024x768.
uint16_t width
Frame buffer width - pixels per line.
PixelConverter pixelConverter() const
InterruptReg clcdCrsrIcr
Cursor interrupt clear register.
Addr startAddr
Frame buffer base address.
uint32_t clcdCrsrPalette1
static const int LcdPaletteSize
BitUnion8(InterruptReg) Bitfield< 1 > underflow
static const int LcdLpBase
InterruptReg clcdCrsrRis
Cursor raw interrupt status register - const.
#define ULL(N)
uint64_t constant
BmpWriter bmp
Helper to write out bitmaps.
uint32_t clcdCrsrPalette0
Cursor palette registers.
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17