23 #include "nv_macros.h" 24 #include "pedigree/kernel/processor/MemoryMappedIo.h" 25 #include "pedigree/kernel/processor/MemoryRegion.h" 28 #define NV_GENERAL_FIFO_CH0 0x0000 29 #define NV_GENERAL_FIFO_CH1 0x2000 30 #define NV_GENERAL_FIFO_CH2 0x4000 31 #define NV_GENERAL_FIFO_CH3 0x6000 32 #define NV_GENERAL_FIFO_CH4 0x8000 33 #define NV_GENERAL_FIFO_CH5 0xa000 34 #define NV_GENERAL_FIFO_CH6 0xc000 35 #define NV_GENERAL_FIFO_CH7 0xe000 38 #define NV_GENERAL_DMAPUT 0x0040 39 #define NV_GENERAL_DMAGET 0x0044 40 #define NV_ROP5_SOLID_SETROP5 0x0300 41 #define NV_IMAGE_BLACK_RECTANGLE_TOPLEFT 0x0300 42 #define NV_IMAGE_PATTERN_SETCOLORFORMAT 0x0300 43 #define NV_IMAGE_PATTERN_SETSHAPE 0x0308 44 #define NV_IMAGE_PATTERN_SETCOLOR0 0x0310 45 #define NV_IMAGE_BLIT_SOURCEORG 0x0300 46 #define NV4_GDI_RECTANGLE_TEXT_SETCOLORFORMAT 0x0300 47 #define NV4_GDI_RECTANGLE_TEXT_COLOR1A 0x03fc 48 #define NV4_GDI_RECTANGLE_TEXT_UCR0_LEFTTOP 0x0400 49 #define NV4_SURFACE_FORMAT 0x0300 50 #define NV_SCALED_IMAGE_FROM_MEMORY_SETCOLORFORMAT 0x0300 51 #define NV_SCALED_IMAGE_FROM_MEMORY_SOURCEORG 0x0308 52 #define NV_SCALED_IMAGE_FROM_MEMORY_SOURCESIZE 0x0400 55 #define NV_ROP5_SOLID 0x00000000 56 #define NV_IMAGE_BLACK_RECTANGLE 0x00000001 57 #define NV_IMAGE_PATTERN 0x00000002 58 #define NV_SCALED_IMAGE_FROM_MEMORY 0x00000003 59 #define NV_TCL_PRIMITIVE_3D 0x00000004 // 2007 60 #define NV4_SURFACE 0x00000010 61 #define NV10_CONTEXT_SURFACES_2D 0x00000010 62 #define NV_IMAGE_BLIT 0x00000011 63 #define NV12_IMAGE_BLIT 0x00000011 64 #define NV4_GDI_RECTANGLE_TEXT 0x00000012 65 #define NV4_CONTEXT_SURFACES_ARGB_ZS 0x00000013 66 #define NV10_CONTEXT_SURFACES_ARGB_ZS 0x00000013 67 #define NV4_DX5_TEXTURE_TRIANGLE 0x00000014 68 #define NV10_DX5_TEXTURE_TRIANGLE 0x00000014 69 #define NV4_DX6_MULTI_TEXTURE_TRIANGLE 0x00000015 70 #define NV10_DX6_MULTI_TEXTURE_TRIANGLE 0x00000015 71 #define NV1_RENDER_SOLID_LIN 0x00000016 125 void screenToScreenBlit(
126 uint16_t src_x, uint16_t src_y, uint16_t dest_x, uint16_t dest_y,
127 uint16_t h, uint16_t w);
128 void fillRectangle(uint16_t x, uint16_t y, uint16_t h, uint16_t w);
132 Dma &operator=(
const Dma &);
134 void dmaCmd(uint32_t
cmd, uint32_t offset, uint16_t size);
135 void writeBuffer(uint32_t arg);
137 void ensureFree(uint16_t cmd_size);
138 void initFifo(uint32_t ch, uint32_t handle);
139 void setUpReverseEngineeredMagicRegs();
145 uintptr_t m_nRamSize;
147 uint32_t m_pFifos[32];
148 uint32_t m_pFifoPtrs[32];
150 uintptr_t m_nDmaBuffer;
151 uint32_t *m_pDmaBuffer;
154 uintptr_t m_nCurrent;
Abstrace base class for hardware I/O capabilities.
Special memory entity in the kernel's virtual address space.