Skip to content

Commit

Permalink
Binary release v8.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mintsuki committed Nov 30, 2024
1 parent a7436bd commit 6409c90
Show file tree
Hide file tree
Showing 14 changed files with 1,187 additions and 1,151 deletions.
Binary file modified BOOTAA64.EFI
Binary file not shown.
Binary file modified BOOTIA32.EFI
Binary file not shown.
Binary file modified BOOTLOONGARCH64.EFI
Binary file not shown.
Binary file modified BOOTRISCV64.EFI
Binary file not shown.
Binary file modified BOOTX64.EFI
Binary file not shown.
9 changes: 7 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
SHELL = /bin/sh

CC = cc
CFLAGS = -g -O2 -pipe
CPPFLAGS =
LDFLAGS =
LIBS =

WERROR_FLAG =

STRIP = strip
INSTALL = ./install-sh

PREFIX = /usr/local

CFLAGS = -g -O2 -pipe

.PHONY: all
all: limine

Expand Down
Binary file modified limine-bios-cd.bin
Binary file not shown.
2,258 changes: 1,129 additions & 1,129 deletions limine-bios-hdd.h

Large diffs are not rendered by default.

Binary file modified limine-bios-pxe.bin
Binary file not shown.
Binary file modified limine-bios.sys
Binary file not shown.
Binary file modified limine-uefi-cd.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion limine.c
Original file line number Diff line number Diff line change
Expand Up @@ -1202,7 +1202,7 @@ static int enroll_config(int argc, char *argv[]) {
return ret;
}

#define LIMINE_VERSION "8.4.1"
#define LIMINE_VERSION "8.5.0"
#define LIMINE_COPYRIGHT "Copyright (C) 2019-2024 mintsuki and contributors."

static void version_usage(void) {
Expand Down
Binary file modified limine.exe
Binary file not shown.
69 changes: 50 additions & 19 deletions limine.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ extern "C" {
# define LIMINE_PTR(TYPE) TYPE
#endif

#ifndef LIMINE_API_REVISION
# define LIMINE_API_REVISION 0
#endif

#if LIMINE_API_REVISION > 1
# error "limine.h API revision unsupported"
#endif

#ifdef __GNUC__
# define LIMINE_DEPRECATED __attribute__((__deprecated__))
# define LIMINE_DEPRECATED_IGNORE_START \
Expand Down Expand Up @@ -328,37 +336,47 @@ struct LIMINE_DEPRECATED limine_5_level_paging_request {

LIMINE_DEPRECATED_IGNORE_END

/* SMP */
/* MP */

#define LIMINE_SMP_REQUEST { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }
#if LIMINE_API_REVISION >= 1
# define LIMINE_MP_REQUEST { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }
# define LIMINE_MP(TEXT) limine_mp_##TEXT
#else
# define LIMINE_SMP_REQUEST { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }
# define LIMINE_MP(TEXT) limine_smp_##TEXT
#endif

struct limine_smp_info;
struct LIMINE_MP(info);

typedef void (*limine_goto_address)(struct limine_smp_info *);
typedef void (*limine_goto_address)(struct LIMINE_MP(info) *);

#if defined (__x86_64__) || defined (__i386__)

#define LIMINE_SMP_X2APIC (1 << 0)
#if LIMINE_API_REVISION >= 1
# define LIMINE_MP_X2APIC (1 << 0)
#else
# define LIMINE_SMP_X2APIC (1 << 0)
#endif

struct limine_smp_info {
struct LIMINE_MP(info) {
uint32_t processor_id;
uint32_t lapic_id;
uint64_t reserved;
LIMINE_PTR(limine_goto_address) goto_address;
uint64_t extra_argument;
};

struct limine_smp_response {
struct LIMINE_MP(response) {
uint64_t revision;
uint32_t flags;
uint32_t bsp_lapic_id;
uint64_t cpu_count;
LIMINE_PTR(struct limine_smp_info **) cpus;
LIMINE_PTR(struct LIMINE_MP(info) **) cpus;
};

#elif defined (__aarch64__)

struct limine_smp_info {
struct LIMINE_MP(info) {
uint32_t processor_id;
uint32_t reserved1;
uint64_t mpidr;
Expand All @@ -367,51 +385,51 @@ struct limine_smp_info {
uint64_t extra_argument;
};

struct limine_smp_response {
struct LIMINE_MP(response) {
uint64_t revision;
uint64_t flags;
uint64_t bsp_mpidr;
uint64_t cpu_count;
LIMINE_PTR(struct limine_smp_info **) cpus;
LIMINE_PTR(struct LIMINE_MP(info) **) cpus;
};

#elif defined (__riscv) && (__riscv_xlen == 64)

struct limine_smp_info {
struct LIMINE_MP(info) {
uint64_t processor_id;
uint64_t hartid;
uint64_t reserved;
LIMINE_PTR(limine_goto_address) goto_address;
uint64_t extra_argument;
};

struct limine_smp_response {
struct LIMINE_MP(response) {
uint64_t revision;
uint64_t flags;
uint64_t bsp_hartid;
uint64_t cpu_count;
LIMINE_PTR(struct limine_smp_info **) cpus;
LIMINE_PTR(struct LIMINE_MP(info) **) cpus;
};

#elif defined (__loongarch__) && (__loongarch_grlen == 64)

struct limine_smp_info {
struct LIMINE_MP(info) {
uint64_t reserved;
};

struct limine_smp_response {
struct LIMINE_MP(response) {
uint64_t cpu_count;
LIMINE_PTR(struct limine_smp_info **) cpus;
LIMINE_PTR(struct LIMINE_MP(info) **) cpus;
};

#else
#error Unknown architecture
#endif

struct limine_smp_request {
struct LIMINE_MP(request) {
uint64_t id[4];
uint64_t revision;
LIMINE_PTR(struct limine_smp_response *) response;
LIMINE_PTR(struct LIMINE_MP(response) *) response;
uint64_t flags;
};

Expand Down Expand Up @@ -513,7 +531,11 @@ struct limine_module_request {

struct limine_rsdp_response {
uint64_t revision;
#if LIMINE_API_REVISION >= 1
uint64_t address;
#else
LIMINE_PTR(void *) address;
#endif
};

struct limine_rsdp_request {
Expand All @@ -528,8 +550,13 @@ struct limine_rsdp_request {

struct limine_smbios_response {
uint64_t revision;
#if LIMINE_API_REVISION >= 1
uint64_t entry_32;
uint64_t entry_64;
#else
LIMINE_PTR(void *) entry_32;
LIMINE_PTR(void *) entry_64;
#endif
};

struct limine_smbios_request {
Expand All @@ -544,7 +571,11 @@ struct limine_smbios_request {

struct limine_efi_system_table_response {
uint64_t revision;
#if LIMINE_API_REVISION >= 1
uint64_t address;
#else
LIMINE_PTR(void *) address;
#endif
};

struct limine_efi_system_table_request {
Expand Down

0 comments on commit 6409c90

Please sign in to comment.