XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
main.cpp File Reference
#include <_xeneva.h>
#include <stdio.h>
#include <string.h>
#include <sys/_kefile.h>
#include <sys/_keproc.h>
#include <sys/_ketime.h>
#include <hwdev.h>
#include <gpusrv.h>
#include <aucon.h>
#include <drvctl.h>
#include <Drivers/virtio.h>
Include dependency graph for main.cpp:

Classes

struct  GpuHdr
 
struct  GpuRect
 
struct  GpuCreate2D
 
struct  GpuAttachEntry
 
struct  GpuAttach
 
struct  GpuSetScanout
 
struct  GpuTransfer
 
struct  GpuFlush
 
struct  VqDesc
 
struct  VqAvail
 
struct  VqUsedElem
 
struct  VqUsed
 
struct  Queue
 

Macros

#define VIRTIO_F_VERSION_1   (1u << 0) /* high feature word bit 0 */
 
#define VIRTQ_DESC_F_NEXT   1
 
#define VIRTQ_DESC_F_WRITE   2
 
#define VIRTIO_MSI_NO_VECTOR   0xFFFF
 
#define VIRTIO_GPU_CMD_RESOURCE_CREATE_2D   0x0101
 
#define VIRTIO_GPU_CMD_SET_SCANOUT   0x0103
 
#define VIRTIO_GPU_CMD_RESOURCE_FLUSH   0x0104
 
#define VIRTIO_GPU_CMD_TRANSFER_TO_HOST2D   0x0105
 
#define VIRTIO_GPU_CMD_RESOURCE_ATTACH   0x0106
 
#define VIRTIO_GPU_RESP_OK_NODATA   0x1100
 
#define VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM   1
 
#define QSZ   64
 
#define QUEUE_DMA_BYTES   65536
 
#define QUEUE_DESC_OFFSET   0
 
#define QUEUE_AVAIL_OFFSET   4096
 
#define QUEUE_USED_OFFSET   8192
 
#define QUEUE_CMD_OFFSET   12288
 
#define QUEUE_RESP_OFFSET   16384
 
#define QUEUE_IRQ_MS   2
 
#define C8(o)   (*(volatile uint8_t*)(g_common + (o)))
 
#define C16(o)   (*(volatile uint16_t*)(g_common + (o)))
 
#define C32(o)   (*(volatile uint32_t*)(g_common + (o)))
 

Functions

int main (int argc, char *argv[])
 

Macro Definition Documentation

◆ C16

#define C16 (   o)    (*(volatile uint16_t*)(g_common + (o)))

◆ C32

#define C32 (   o)    (*(volatile uint32_t*)(g_common + (o)))

◆ C8

#define C8 (   o)    (*(volatile uint8_t*)(g_common + (o)))

◆ QSZ

#define QSZ   64

◆ QUEUE_AVAIL_OFFSET

#define QUEUE_AVAIL_OFFSET   4096

◆ QUEUE_CMD_OFFSET

#define QUEUE_CMD_OFFSET   12288

◆ QUEUE_DESC_OFFSET

#define QUEUE_DESC_OFFSET   0

◆ QUEUE_DMA_BYTES

#define QUEUE_DMA_BYTES   65536

◆ QUEUE_IRQ_MS

#define QUEUE_IRQ_MS   2

◆ QUEUE_RESP_OFFSET

#define QUEUE_RESP_OFFSET   16384

◆ QUEUE_USED_OFFSET

#define QUEUE_USED_OFFSET   8192

◆ VIRTIO_F_VERSION_1

#define VIRTIO_F_VERSION_1   (1u << 0) /* high feature word bit 0 */

◆ VIRTIO_GPU_CMD_RESOURCE_ATTACH

#define VIRTIO_GPU_CMD_RESOURCE_ATTACH   0x0106

◆ VIRTIO_GPU_CMD_RESOURCE_CREATE_2D

#define VIRTIO_GPU_CMD_RESOURCE_CREATE_2D   0x0101

◆ VIRTIO_GPU_CMD_RESOURCE_FLUSH

#define VIRTIO_GPU_CMD_RESOURCE_FLUSH   0x0104

◆ VIRTIO_GPU_CMD_SET_SCANOUT

#define VIRTIO_GPU_CMD_SET_SCANOUT   0x0103

◆ VIRTIO_GPU_CMD_TRANSFER_TO_HOST2D

#define VIRTIO_GPU_CMD_TRANSFER_TO_HOST2D   0x0105

◆ VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM

#define VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM   1

◆ VIRTIO_GPU_RESP_OK_NODATA

#define VIRTIO_GPU_RESP_OK_NODATA   0x1100

◆ VIRTIO_MSI_NO_VECTOR

#define VIRTIO_MSI_NO_VECTOR   0xFFFF

◆ VIRTQ_DESC_F_NEXT

#define VIRTQ_DESC_F_NEXT   1

◆ VIRTQ_DESC_F_WRITE

#define VIRTQ_DESC_F_WRITE   2

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)