OurOS 0.1
Operating System built by McGill Students
 
Loading...
Searching...
No Matches
limine.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  limine_uuid
 
struct  limine_file
 
struct  limine_bootloader_info_response
 
struct  limine_bootloader_info_request
 
struct  limine_executable_cmdline_response
 
struct  limine_executable_cmdline_request
 
struct  limine_firmware_type_response
 
struct  limine_firmware_type_request
 
struct  limine_stack_size_response
 
struct  limine_stack_size_request
 
struct  limine_hhdm_response
 
struct  limine_hhdm_request
 
struct  limine_video_mode
 
struct  limine_framebuffer
 
struct  limine_framebuffer_response
 
struct  limine_framebuffer_request
 
struct  limine_paging_mode_response
 
struct  limine_paging_mode_request
 
struct  limine_mp_request
 
struct  limine_memmap_entry
 
struct  limine_memmap_response
 
struct  limine_memmap_request
 
struct  limine_entry_point_response
 
struct  limine_entry_point_request
 
struct  limine_executable_file_response
 
struct  limine_executable_file_request
 
struct  limine_internal_module
 
struct  limine_module_response
 
struct  limine_module_request
 
struct  limine_rsdp_response
 
struct  limine_rsdp_request
 
struct  limine_smbios_response
 
struct  limine_smbios_request
 
struct  limine_efi_system_table_response
 
struct  limine_efi_system_table_request
 
struct  limine_efi_memmap_response
 
struct  limine_efi_memmap_request
 
struct  limine_date_at_boot_response
 
struct  limine_date_at_boot_request
 
struct  limine_executable_address_response
 
struct  limine_executable_address_request
 
struct  limine_dtb_response
 
struct  limine_dtb_request
 
struct  limine_riscv_bsp_hartid_response
 
struct  limine_riscv_bsp_hartid_request
 
struct  limine_bootloader_performance_response
 
struct  limine_bootloader_performance_request
 

Macros

#define LIMINE_PTR(TYPE)   TYPE
 
#define LIMINE_REQUESTS_START_MARKER
 
#define LIMINE_REQUESTS_END_MARKER   { 0xadc0e0531bb10d03, 0x9572709f31764c62 }
 
#define LIMINE_BASE_REVISION(N)   { 0xf9562b2d5c95a6c8, 0x6a7b384944536bdc, (N) }
 
#define LIMINE_BASE_REVISION_SUPPORTED(VAR)   ((VAR)[2] == 0)
 
#define LIMINE_LOADED_BASE_REVISION_VALID(VAR)   ((VAR)[1] != 0x6a7b384944536bdc)
 
#define LIMINE_LOADED_BASE_REVISION(VAR)   ((VAR)[1])
 
#define LIMINE_COMMON_MAGIC   0xc7b1dd30df4c8b88, 0x0a82e883a194f07b
 
#define LIMINE_MEDIA_TYPE_GENERIC   0
 
#define LIMINE_MEDIA_TYPE_OPTICAL   1
 
#define LIMINE_MEDIA_TYPE_TFTP   2
 
#define LIMINE_BOOTLOADER_INFO_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xf55038d8e2a1202f, 0x279426fcf5f59740 }
 
#define LIMINE_EXECUTABLE_CMDLINE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x4b161536e598651e, 0xb390ad4a2f1f303a }
 
#define LIMINE_FIRMWARE_TYPE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x8c2f75d90bef28a8, 0x7045a4688eac00c3 }
 
#define LIMINE_FIRMWARE_TYPE_X86BIOS   0
 
#define LIMINE_FIRMWARE_TYPE_EFI32   1
 
#define LIMINE_FIRMWARE_TYPE_EFI64   2
 
#define LIMINE_FIRMWARE_TYPE_SBI   3
 
#define LIMINE_STACK_SIZE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x224ef0460a8e8926, 0xe1cb0fc25f46ea3d }
 
#define LIMINE_HHDM_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x48dcf1cb8ad2b852, 0x63984e959a98244b }
 
#define LIMINE_FRAMEBUFFER_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x9d5827dcd881dd75, 0xa3148604f6fab11b }
 
#define LIMINE_FRAMEBUFFER_RGB   1
 
#define LIMINE_PAGING_MODE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x95c1a0edab0944cb, 0xa4e5cb3842f7488a }
 
#define LIMINE_PAGING_MODE_X86_64_4LVL   0
 
#define LIMINE_PAGING_MODE_X86_64_5LVL   1
 
#define LIMINE_PAGING_MODE_X86_64_MIN   LIMINE_PAGING_MODE_X86_64_4LVL
 
#define LIMINE_PAGING_MODE_X86_64_DEFAULT   LIMINE_PAGING_MODE_X86_64_4LVL
 
#define LIMINE_PAGING_MODE_AARCH64_4LVL   0
 
#define LIMINE_PAGING_MODE_AARCH64_5LVL   1
 
#define LIMINE_PAGING_MODE_AARCH64_MIN   LIMINE_PAGING_MODE_AARCH64_4LVL
 
#define LIMINE_PAGING_MODE_AARCH64_DEFAULT   LIMINE_PAGING_MODE_AARCH64_4LVL
 
#define LIMINE_PAGING_MODE_RISCV_SV39   0
 
#define LIMINE_PAGING_MODE_RISCV_SV48   1
 
#define LIMINE_PAGING_MODE_RISCV_SV57   2
 
#define LIMINE_PAGING_MODE_RISCV_MIN   LIMINE_PAGING_MODE_RISCV_SV39
 
#define LIMINE_PAGING_MODE_RISCV_DEFAULT   LIMINE_PAGING_MODE_RISCV_SV48
 
#define LIMINE_PAGING_MODE_LOONGARCH_4LVL   0
 
#define LIMINE_PAGING_MODE_LOONGARCH_MIN   LIMINE_PAGING_MODE_LOONGARCH_4LVL
 
#define LIMINE_PAGING_MODE_LOONGARCH_DEFAULT   LIMINE_PAGING_MODE_LOONGARCH_4LVL
 
#define LIMINE_MP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }
 
#define LIMINE_MP_REQUEST_X86_64_X2APIC   (1 << 0)
 
#define LIMINE_MEMMAP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x67cf3d9d378a806f, 0xe304acdfc50c3c62 }
 
#define LIMINE_MEMMAP_USABLE   0
 
#define LIMINE_MEMMAP_RESERVED   1
 
#define LIMINE_MEMMAP_ACPI_RECLAIMABLE   2
 
#define LIMINE_MEMMAP_ACPI_NVS   3
 
#define LIMINE_MEMMAP_BAD_MEMORY   4
 
#define LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE   5
 
#define LIMINE_MEMMAP_EXECUTABLE_AND_MODULES   6
 
#define LIMINE_MEMMAP_FRAMEBUFFER   7
 
#define LIMINE_MEMMAP_ACPI_TABLES   8
 
#define LIMINE_ENTRY_POINT_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x13d86c035a1cd3e1, 0x2b0caa89d8f3026a }
 
#define LIMINE_EXECUTABLE_FILE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xad97e90e83f1ed67, 0x31eb5d1c5ff23b69 }
 
#define LIMINE_MODULE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x3e7e279702be32af, 0xca1c4f3bd1280cee }
 
#define LIMINE_INTERNAL_MODULE_REQUIRED   (1 << 0)
 
#define LIMINE_INTERNAL_MODULE_COMPRESSED   (1 << 1)
 
#define LIMINE_RSDP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xc5e77b6b397e7b43, 0x27637845accdcf3c }
 
#define LIMINE_SMBIOS_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x9e9046f11e095391, 0xaa4a520fefbde5ee }
 
#define LIMINE_EFI_SYSTEM_TABLE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x5ceba5163eaaf6d6, 0x0a6981610cf65fcc }
 
#define LIMINE_EFI_MEMMAP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x7df62a431d6872d5, 0xa4fcdfb3e57306c8 }
 
#define LIMINE_DATE_AT_BOOT_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x502746e184c088aa, 0xfbc5ec83e6327893 }
 
#define LIMINE_EXECUTABLE_ADDRESS_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x71ba76863cc55f63, 0xb2644a48c516a487 }
 
#define LIMINE_DTB_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xb40ddb48fb54bac7, 0x545081493f81ffb7 }
 
#define LIMINE_RISCV_BSP_HARTID_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x1369359f025525f9, 0x2ff2a56178391bb6 }
 
#define LIMINE_BOOTLOADER_PERFORMANCE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x6b50ad9bf36d13ad, 0xdc4c7e88fc759e17 }
 

Typedefs

typedef void(* limine_goto_address) (struct limine_mp_info *)
 
typedef void(* limine_entry_point) (void)
 

Macro Definition Documentation

◆ LIMINE_BASE_REVISION

#define LIMINE_BASE_REVISION (   N)    { 0xf9562b2d5c95a6c8, 0x6a7b384944536bdc, (N) }

◆ LIMINE_BASE_REVISION_SUPPORTED

#define LIMINE_BASE_REVISION_SUPPORTED (   VAR)    ((VAR)[2] == 0)

◆ LIMINE_BOOTLOADER_INFO_REQUEST_ID

#define LIMINE_BOOTLOADER_INFO_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xf55038d8e2a1202f, 0x279426fcf5f59740 }

◆ LIMINE_BOOTLOADER_PERFORMANCE_REQUEST_ID

#define LIMINE_BOOTLOADER_PERFORMANCE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x6b50ad9bf36d13ad, 0xdc4c7e88fc759e17 }

◆ LIMINE_COMMON_MAGIC

#define LIMINE_COMMON_MAGIC   0xc7b1dd30df4c8b88, 0x0a82e883a194f07b

◆ LIMINE_DATE_AT_BOOT_REQUEST_ID

#define LIMINE_DATE_AT_BOOT_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x502746e184c088aa, 0xfbc5ec83e6327893 }

◆ LIMINE_DTB_REQUEST_ID

#define LIMINE_DTB_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xb40ddb48fb54bac7, 0x545081493f81ffb7 }

◆ LIMINE_EFI_MEMMAP_REQUEST_ID

#define LIMINE_EFI_MEMMAP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x7df62a431d6872d5, 0xa4fcdfb3e57306c8 }

◆ LIMINE_EFI_SYSTEM_TABLE_REQUEST_ID

#define LIMINE_EFI_SYSTEM_TABLE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x5ceba5163eaaf6d6, 0x0a6981610cf65fcc }

◆ LIMINE_ENTRY_POINT_REQUEST_ID

#define LIMINE_ENTRY_POINT_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x13d86c035a1cd3e1, 0x2b0caa89d8f3026a }

◆ LIMINE_EXECUTABLE_ADDRESS_REQUEST_ID

#define LIMINE_EXECUTABLE_ADDRESS_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x71ba76863cc55f63, 0xb2644a48c516a487 }

◆ LIMINE_EXECUTABLE_CMDLINE_REQUEST_ID

#define LIMINE_EXECUTABLE_CMDLINE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x4b161536e598651e, 0xb390ad4a2f1f303a }

◆ LIMINE_EXECUTABLE_FILE_REQUEST_ID

#define LIMINE_EXECUTABLE_FILE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xad97e90e83f1ed67, 0x31eb5d1c5ff23b69 }

◆ LIMINE_FIRMWARE_TYPE_EFI32

#define LIMINE_FIRMWARE_TYPE_EFI32   1

◆ LIMINE_FIRMWARE_TYPE_EFI64

#define LIMINE_FIRMWARE_TYPE_EFI64   2

◆ LIMINE_FIRMWARE_TYPE_REQUEST_ID

#define LIMINE_FIRMWARE_TYPE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x8c2f75d90bef28a8, 0x7045a4688eac00c3 }

◆ LIMINE_FIRMWARE_TYPE_SBI

#define LIMINE_FIRMWARE_TYPE_SBI   3

◆ LIMINE_FIRMWARE_TYPE_X86BIOS

#define LIMINE_FIRMWARE_TYPE_X86BIOS   0

◆ LIMINE_FRAMEBUFFER_REQUEST_ID

#define LIMINE_FRAMEBUFFER_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x9d5827dcd881dd75, 0xa3148604f6fab11b }

◆ LIMINE_FRAMEBUFFER_RGB

#define LIMINE_FRAMEBUFFER_RGB   1

◆ LIMINE_HHDM_REQUEST_ID

#define LIMINE_HHDM_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x48dcf1cb8ad2b852, 0x63984e959a98244b }

◆ LIMINE_INTERNAL_MODULE_COMPRESSED

#define LIMINE_INTERNAL_MODULE_COMPRESSED   (1 << 1)

◆ LIMINE_INTERNAL_MODULE_REQUIRED

#define LIMINE_INTERNAL_MODULE_REQUIRED   (1 << 0)

◆ LIMINE_LOADED_BASE_REVISION

#define LIMINE_LOADED_BASE_REVISION (   VAR)    ((VAR)[1])

◆ LIMINE_LOADED_BASE_REVISION_VALID

#define LIMINE_LOADED_BASE_REVISION_VALID (   VAR)    ((VAR)[1] != 0x6a7b384944536bdc)

◆ LIMINE_MEDIA_TYPE_GENERIC

#define LIMINE_MEDIA_TYPE_GENERIC   0

◆ LIMINE_MEDIA_TYPE_OPTICAL

#define LIMINE_MEDIA_TYPE_OPTICAL   1

◆ LIMINE_MEDIA_TYPE_TFTP

#define LIMINE_MEDIA_TYPE_TFTP   2

◆ LIMINE_MEMMAP_ACPI_NVS

#define LIMINE_MEMMAP_ACPI_NVS   3

◆ LIMINE_MEMMAP_ACPI_RECLAIMABLE

#define LIMINE_MEMMAP_ACPI_RECLAIMABLE   2

◆ LIMINE_MEMMAP_ACPI_TABLES

#define LIMINE_MEMMAP_ACPI_TABLES   8

◆ LIMINE_MEMMAP_BAD_MEMORY

#define LIMINE_MEMMAP_BAD_MEMORY   4

◆ LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE

#define LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE   5

◆ LIMINE_MEMMAP_EXECUTABLE_AND_MODULES

#define LIMINE_MEMMAP_EXECUTABLE_AND_MODULES   6

◆ LIMINE_MEMMAP_FRAMEBUFFER

#define LIMINE_MEMMAP_FRAMEBUFFER   7

◆ LIMINE_MEMMAP_REQUEST_ID

#define LIMINE_MEMMAP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x67cf3d9d378a806f, 0xe304acdfc50c3c62 }

◆ LIMINE_MEMMAP_RESERVED

#define LIMINE_MEMMAP_RESERVED   1

◆ LIMINE_MEMMAP_USABLE

#define LIMINE_MEMMAP_USABLE   0

◆ LIMINE_MODULE_REQUEST_ID

#define LIMINE_MODULE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x3e7e279702be32af, 0xca1c4f3bd1280cee }

◆ LIMINE_MP_REQUEST_ID

#define LIMINE_MP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }

◆ LIMINE_MP_REQUEST_X86_64_X2APIC

#define LIMINE_MP_REQUEST_X86_64_X2APIC   (1 << 0)

◆ LIMINE_PAGING_MODE_AARCH64_4LVL

#define LIMINE_PAGING_MODE_AARCH64_4LVL   0

◆ LIMINE_PAGING_MODE_AARCH64_5LVL

#define LIMINE_PAGING_MODE_AARCH64_5LVL   1

◆ LIMINE_PAGING_MODE_AARCH64_DEFAULT

#define LIMINE_PAGING_MODE_AARCH64_DEFAULT   LIMINE_PAGING_MODE_AARCH64_4LVL

◆ LIMINE_PAGING_MODE_AARCH64_MIN

#define LIMINE_PAGING_MODE_AARCH64_MIN   LIMINE_PAGING_MODE_AARCH64_4LVL

◆ LIMINE_PAGING_MODE_LOONGARCH_4LVL

#define LIMINE_PAGING_MODE_LOONGARCH_4LVL   0

◆ LIMINE_PAGING_MODE_LOONGARCH_DEFAULT

#define LIMINE_PAGING_MODE_LOONGARCH_DEFAULT   LIMINE_PAGING_MODE_LOONGARCH_4LVL

◆ LIMINE_PAGING_MODE_LOONGARCH_MIN

#define LIMINE_PAGING_MODE_LOONGARCH_MIN   LIMINE_PAGING_MODE_LOONGARCH_4LVL

◆ LIMINE_PAGING_MODE_REQUEST_ID

#define LIMINE_PAGING_MODE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x95c1a0edab0944cb, 0xa4e5cb3842f7488a }

◆ LIMINE_PAGING_MODE_RISCV_DEFAULT

#define LIMINE_PAGING_MODE_RISCV_DEFAULT   LIMINE_PAGING_MODE_RISCV_SV48

◆ LIMINE_PAGING_MODE_RISCV_MIN

#define LIMINE_PAGING_MODE_RISCV_MIN   LIMINE_PAGING_MODE_RISCV_SV39

◆ LIMINE_PAGING_MODE_RISCV_SV39

#define LIMINE_PAGING_MODE_RISCV_SV39   0

◆ LIMINE_PAGING_MODE_RISCV_SV48

#define LIMINE_PAGING_MODE_RISCV_SV48   1

◆ LIMINE_PAGING_MODE_RISCV_SV57

#define LIMINE_PAGING_MODE_RISCV_SV57   2

◆ LIMINE_PAGING_MODE_X86_64_4LVL

#define LIMINE_PAGING_MODE_X86_64_4LVL   0

◆ LIMINE_PAGING_MODE_X86_64_5LVL

#define LIMINE_PAGING_MODE_X86_64_5LVL   1

◆ LIMINE_PAGING_MODE_X86_64_DEFAULT

#define LIMINE_PAGING_MODE_X86_64_DEFAULT   LIMINE_PAGING_MODE_X86_64_4LVL

◆ LIMINE_PAGING_MODE_X86_64_MIN

#define LIMINE_PAGING_MODE_X86_64_MIN   LIMINE_PAGING_MODE_X86_64_4LVL

◆ LIMINE_PTR

#define LIMINE_PTR (   TYPE)    TYPE

◆ LIMINE_REQUESTS_END_MARKER

#define LIMINE_REQUESTS_END_MARKER   { 0xadc0e0531bb10d03, 0x9572709f31764c62 }

◆ LIMINE_REQUESTS_START_MARKER

#define LIMINE_REQUESTS_START_MARKER
Value:
{ 0xf6b8f4b39de7d1ae, 0xfab91a6940fcb9cf, \
0x785c6ed015d3e316, 0x181e920a7852b9d9 }

◆ LIMINE_RISCV_BSP_HARTID_REQUEST_ID

#define LIMINE_RISCV_BSP_HARTID_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x1369359f025525f9, 0x2ff2a56178391bb6 }

◆ LIMINE_RSDP_REQUEST_ID

#define LIMINE_RSDP_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0xc5e77b6b397e7b43, 0x27637845accdcf3c }

◆ LIMINE_SMBIOS_REQUEST_ID

#define LIMINE_SMBIOS_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x9e9046f11e095391, 0xaa4a520fefbde5ee }

◆ LIMINE_STACK_SIZE_REQUEST_ID

#define LIMINE_STACK_SIZE_REQUEST_ID   { LIMINE_COMMON_MAGIC, 0x224ef0460a8e8926, 0xe1cb0fc25f46ea3d }

Typedef Documentation

◆ limine_entry_point

typedef void(* limine_entry_point) (void)

◆ limine_goto_address

typedef void(* limine_goto_address) (struct limine_mp_info *)