20#ifndef MACHINE_X86_VGA_H
21#define MACHINE_X86_VGA_H
22#include "pedigree/kernel/Spinlock.h"
23#include "pedigree/kernel/machine/Vga.h"
24#include "pedigree/kernel/processor/MemoryMappedIo.h"
25#include "pedigree/kernel/processor/types.h"
27#include "FramebufferConsole.h"
47 return FramebufferConsole::Columns;
54 return FramebufferConsole::Rows;
67 virtual void pokeBuffer(uint8_t* pBuffer,
size_t nBufLen);
78 virtual void peekBuffer(uint8_t* pBuffer,
size_t nBufLen);
87 bool setFramebuffer(
Framebuffer* framebuffer)
override;
88 void enterPanicMode()
override {
94 operator uint16_t*()
const {
95 return const_cast<uint16_t*
>(m_Console.cells());
103 Spinlock m_ConsoleLock{
false,
true};
104 bool m_PanicMode =
false;
virtual bool setLargestTextMode()
virtual void pokeBuffer(uint8_t *pBuffer, size_t nBufLen)
virtual size_t getNumCols()
virtual void moveCursor(size_t nX, size_t nY)
virtual void peekBuffer(uint8_t *pBuffer, size_t nBufLen)
virtual size_t getNumRows()