virtual FileSystem::Result read(IOBuffer &buffer, Size &size, const Size offset)
Read video memory.
static Size copy(void *dest, const void *src, Size count)
Copy memory from one place to another.
virtual FileSystem::Result initialize()
Initialize the VGA device.
#define PAGESIZE
ARM uses 4K pages.
#define VGA_IOADDR
VGA I/O address port.
Abstract device class interface.
#define VGA_PADDR
VGA physical video memory address.
API::Result VMCtl(const ProcessID procID, const MemoryOperation op, Memory::Range *range=ZERO)
Prototype for user applications.
u16 * vga
VGA video memory address.
unsigned int uint
Unsigned integer number.
Size height
Number of characters vertically.
Address phys
Physical address.
unsigned short u16
Unsigned 16-bit number.
Abstract Input/Output buffer.
unsigned int u32
Unsigned 32-bit number.
unsigned int Size
Any sane size indicator cannot go negative.
#define VGA_IODATA
VGA I/O data port.
u8 * getBuffer()
Get raw buffer.
VGA(const u32 inode, const Size width=80, const Size height=25)
Class constructor function.
String m_identifier
Unique identifier for this Device.
virtual FileSystem::Result write(IOBuffer &buffer, Size &size, const Size offset)
Write video memory.
Result
Result code for filesystem Actions.
Arch::IO m_io
Port I/O object.
Address virt
Virtual address.
FileSystem::Result write(const void *buffer, const Size size, const Size offset=ZERO)
Write bytes to the I/O buffer.
#define VGA_CHAR(ch, front, back)
Encodes a character for VGA output.
Size width
Number of characters horizontally.
Size size
Size in number of bytes.
Access access
Page access flags.