92 LOG_ERR(
"no GOP provided by bootloader");
100 LOG_ERR(
"failed to create GOP framebuffer");
125MODULE_INFO(
"GOP Driver",
"Kai Norberg",
"A driver for the GOP framebuffer", OS_VERSION,
"MIT",
"BOOT_GOP");
EFI_PHYSICAL_ADDRESS buffer
uint64_t _module_procedure(const module_event_t *event)
fb_t * fb_new(const char *name, const fb_ops_t *ops, void *data)
Allocate and initialize a new framebuffer.
static uint64_t gop_info(fb_t *fb, fb_info_t *info)
static void * gop_mmap(fb_t *fb, void *addr, size_t length, size_t *offset, pml_flags_t flags)
static size_t gop_read(fb_t *fb, void *buffer, size_t count, size_t *offset)
static uint64_t gop_init(void)
static size_t gop_write(fb_t *fb, const void *buffer, size_t count, size_t *offset)
boot_info_t * boot_info_get(void)
Gets the boot info structure.
void screen_hide(void)
Hide the screen logging.
#define LOG_ERR(format,...)
uintptr_t phys_addr_t
Physical address type.
void * vmm_map(space_t *space, void *virtAddr, phys_addr_t physAddr, size_t length, pml_flags_t flags, space_callback_func_t func, void *data)
Maps physical memory to virtual memory in a given address space.
#define MODULE_INFO(_name, _author, _description, _version, _licence, _deviceTypes)
Macro to define module information.
static process_t * process_current(void)
Retrieves the process of the currently running thread.
#define BUFFER_WRITE(buffer, count, offset, dest, size)
Helper macro for implementing file operations dealing with simple buffer writes.
#define BUFFER_READ(buffer, count, offset, src, size)
Helper macros for implementing file operations dealing with simple buffers.
#define EINVAL
Invalid argument.
#define errno
Error number variable.
#define UNUSED(x)
Mark a variable as unused.
#define NULL
Pointer error value.
#define ERR
Integer error value.
static const path_flag_t flags[]
__UINTPTR_TYPE__ uintptr_t
_PUBLIC char * strncpy(char *_RESTRICT s1, const char *_RESTRICT s2, size_t n)
uint64_t(* info)(fb_t *fb, fb_info_t *info)
A entry in a page table without a specified address or callback ID.