summaryrefslogtreecommitdiff
path: root/shim/entry.c
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2021-12-19 01:16:51 +0000
committerAda Christine <adachristine18@gmail.com>2021-12-19 01:16:51 +0000
commitbff63a4337eb3388617d230970c5eb2684d6a215 (patch)
treef40891f45918b23dac0f31888142136434c7fc8c /shim/entry.c
parentd5f485a4f6801f58cbb2bc9d8e80c955c79ff044 (diff)
i don't know what i'm doing anymore
Diffstat (limited to 'shim/entry.c')
-rw-r--r--shim/entry.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/shim/entry.c b/shim/entry.c
deleted file mode 100644
index a4d00c7..0000000
--- a/shim/entry.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include <loader/efi/shim.h>
-#include <kernel/memory/range.h>
-
-#include <stdbool.h>
-
-#include "../lib/elf.h"
-
-struct efi_memory_map
-{
- struct memory_range buffer;
- UINTN size;
- UINTN key;
- UINTN descsize;
- UINT32 descver;
-};
-
-struct efi_video_data
-{
- struct memory_range buffer;
- UINT32 width;
- UINT32 height;
- UINT32 pitch;
- EFI_GRAPHICS_PIXEL_FORMAT format;
- EFI_PIXEL_BITMASK mask;
-};
-
-struct efi_boot_data
-{
- struct efi_memory_map memory_map;
- struct efi_video_data video_data;
- void *acpi_rsdp;
- unsigned long acpi_version;
-};
-
-struct efi_loader_image kernel_image =
-{
- .path = L"\\adasoft\\sophia\\kernel.os"
-};
-
-static struct efi_loader_image *shim_image;
-static struct efi_boot_data boot_data;
-
-EFI_STATUS efi_shim_entry(struct efi_loader_image *image,
- struct efi_loader_interface *interface)
-{
- /* 1. load kernel and boot modules into memory
- * 2. generate page tables for kernel and boot modules
- * 2. gather boot data, store as type SystemMemoryType
- * 3. exit boot services
- * 5. ???????????
- */
-
- void *image_base = (void *)image->buffer_base;
-
- elf_reloc(image_base);
-
- EFI_STATUS status;
-
- if (!image)
- {
- return EFI_INVALID_PARAMETER;
- }
- else if (!shim_image)
- {
- shim_image = image;
- kernel_image.image_handle = shim_image->image_handle;
- }
- else
- {
- return EFI_ALREADY_STARTED;
- }
-
- if (!EFI_ERROR((status = interface->image_open(&kernel_image))) &&
- !EFI_ERROR((status = interface->image_alloc(&kernel_image))) &&
- !EFI_ERROR((status = interface->image_load(&kernel_image))))
- {
- (void)boot_data;
- }
-
- __asm__ volatile (
- "cli\n\t"
- "hlt\n\t"
- );
-
- return status;
-}
-