diff options
author | Anton Kling <anton@kling.gg> | 2024-04-26 16:06:35 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-04-26 16:20:59 +0200 |
commit | 59e3f74a2e1a0806350e1ffd77a528821d1f2be3 (patch) | |
tree | a514572b0b9468f6ae3ba7cd075181c58c2371e7 /kernel/drivers/vbe.c | |
parent | 15bc439577c49e97c24a074fe6d9e9464f917054 (diff) |
Kernel: More out of memory condition checks
Diffstat (limited to 'kernel/drivers/vbe.c')
-rw-r--r-- | kernel/drivers/vbe.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/drivers/vbe.c b/kernel/drivers/vbe.c index 9c6fa4a..e67a3d9 100644 --- a/kernel/drivers/vbe.c +++ b/kernel/drivers/vbe.c @@ -24,7 +24,7 @@ struct DISPLAY_INFO { struct DISPLAY_INFO vbe_info; -void display_driver_init(multiboot_info_t *mbi) { +int display_driver_init(multiboot_info_t *mbi) { assert(CHECK_FLAG(mbi->flags, 12)); framebuffer_width = mbi->framebuffer_width; framebuffer_height = mbi->framebuffer_height; @@ -37,10 +37,14 @@ void display_driver_init(multiboot_info_t *mbi) { framebuffer_physical = mbi->framebuffer_addr; framebuffer = mmu_map_frames((void *)(u32)mbi->framebuffer_addr, framebuffer_size); + if(!framebuffer) { + return 0; + } vbe_info.width = framebuffer_width; vbe_info.height = framebuffer_height; vbe_info.bpp = mbi->framebuffer_bpp; + return 1; } vfs_vm_object_t *vbe_get_vm_object(u64 length, u64 offset, vfs_fd_t *fd) { |