X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FDisplay%2FBochsGA%2Fbochsvbe.c;h=70f0c915c7abb401431dae2d60a551b3a405d20f;hb=a3ef890d4f4e213f69c04dba3fb1df3e1dd8fb54;hp=806c1c13e600030d852dea86518cbd57bd5a05a7;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Display/BochsGA/bochsvbe.c b/KernelLand/Modules/Display/BochsGA/bochsvbe.c index 806c1c13..70f0c915 100644 --- a/KernelLand/Modules/Display/BochsGA/bochsvbe.c +++ b/KernelLand/Modules/Display/BochsGA/bochsvbe.c @@ -63,8 +63,8 @@ void BGA_int_SetMode(Uint16 width, Uint16 height); int BGA_int_ModeInfo(tVideo_IOCtl_Mode *info); int BGA_int_MapFB(void *Dest); // Filesystem -Uint64 BGA_Read(tVFS_Node *Node, Uint64 off, Uint64 len, void *buffer); -Uint64 BGA_Write(tVFS_Node *Node, Uint64 off, Uint64 len, const void *buffer); +size_t BGA_Read(tVFS_Node *Node, off_t off, size_t len, void *buffer); +size_t BGA_Write(tVFS_Node *Node, off_t off, size_t len, const void *buffer); int BGA_IOCtl(tVFS_Node *Node, int ID, void *Data); // === GLOBALS === @@ -103,6 +103,10 @@ int BGA_Install(char **Arguments) // Check BGA Version version = BGA_int_ReadRegister(VBE_DISPI_INDEX_ID); LOG("version = 0x%x", version); + if( version == 0xFFFF ) { + // Floating bus, nothing there + return MODULE_ERR_NOTNEEDED; + } // NOTE: This driver was written for BGA versions >= 0xBOC2 // NOTE: However, Qemu is braindead and doesn't return the actual version @@ -141,10 +145,9 @@ void BGA_Uninstall(void) } /** - * \fn Uint64 BGA_Read(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer) * \brief Read from the framebuffer */ -Uint64 BGA_Read(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer) +size_t BGA_Read(tVFS_Node *node, off_t off, size_t len, void *buffer) { // Check Mode if(giBGA_CurrentMode == -1) return -1; @@ -161,7 +164,7 @@ Uint64 BGA_Read(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer) /** * \brief Write to the framebuffer */ -Uint64 BGA_Write(tVFS_Node *Node, Uint64 Offset, Uint64 Length, const void *Buffer) +size_t BGA_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer) { if( giBGA_CurrentMode == -1 ) BGA_int_UpdateMode(0); return DrvUtil_Video_WriteLFB(&gBGA_DrvUtil_BufInfo, Offset, Length, Buffer);