Compare commits
7 Commits
v4.2023042
...
v4.2023061
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc737752d3 | ||
|
|
5aaba3bcd9 | ||
|
|
9272485dd0 | ||
|
|
0659bb3dca | ||
|
|
da6efcf9f3 | ||
|
|
475b34ce67 | ||
|
|
ef3450b8bd |
BIN
BOOTAA64.EFI
Executable file → Normal file
BIN
BOOTAA64.EFI
Executable file → Normal file
Binary file not shown.
BIN
BOOTIA32.EFI
Executable file → Normal file
BIN
BOOTIA32.EFI
Executable file → Normal file
Binary file not shown.
BIN
BOOTX64.EFI
Executable file → Normal file
BIN
BOOTX64.EFI
Executable file → Normal file
Binary file not shown.
1
Makefile
1
Makefile
@@ -19,6 +19,7 @@ install: all
|
||||
$(INSTALL) -m 644 limine-pxe.bin '$(DESTDIR)$(PREFIX)/share/limine/'
|
||||
$(INSTALL) -m 644 BOOTX64.EFI '$(DESTDIR)$(PREFIX)/share/limine/'
|
||||
$(INSTALL) -m 644 BOOTIA32.EFI '$(DESTDIR)$(PREFIX)/share/limine/'
|
||||
$(INSTALL) -m 644 BOOTAA64.EFI '$(DESTDIR)$(PREFIX)/share/limine/'
|
||||
$(INSTALL) -d '$(DESTDIR)$(PREFIX)/include'
|
||||
$(INSTALL) -m 644 limine.h '$(DESTDIR)$(PREFIX)/include/'
|
||||
$(INSTALL) -d '$(DESTDIR)$(PREFIX)/bin'
|
||||
|
||||
Binary file not shown.
BIN
limine-cd.bin
BIN
limine-cd.bin
Binary file not shown.
@@ -137,8 +137,6 @@ static uint32_t crc32(void *_stream, size_t len) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
static bool bigendian = false;
|
||||
|
||||
static uint16_t endswap16(uint16_t value) {
|
||||
uint16_t ret = 0;
|
||||
ret |= (value >> 8) & 0x00ff;
|
||||
@@ -168,6 +166,20 @@ static uint64_t endswap64(uint64_t value) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef __BYTE_ORDER__
|
||||
|
||||
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
#define bigendian true
|
||||
#else
|
||||
#define bigendian false
|
||||
#endif
|
||||
|
||||
#else /* !__BYTE_ORDER__ */
|
||||
|
||||
static bool bigendian = false;
|
||||
|
||||
#endif /* !__BYTE_ORDER__ */
|
||||
|
||||
#define ENDSWAP(VALUE) (bigendian ? ( \
|
||||
sizeof(VALUE) == 1 ? (VALUE) : \
|
||||
sizeof(VALUE) == 2 ? endswap16(VALUE) : \
|
||||
@@ -521,9 +533,11 @@ int main(int argc, char *argv[]) {
|
||||
uint8_t orig_mbr[70], timestamp[6];
|
||||
const char *part_ndx = NULL;
|
||||
|
||||
#ifndef __BYTE_ORDER__
|
||||
uint32_t endcheck = 0x12345678;
|
||||
uint8_t endbyte = *((uint8_t *)&endcheck);
|
||||
bigendian = endbyte == 0x12;
|
||||
#endif
|
||||
|
||||
if (argc < 2) {
|
||||
usage(argv[0]);
|
||||
|
||||
Binary file not shown.
2450
limine-hdd.h
2450
limine-hdd.h
File diff suppressed because it is too large
Load Diff
BIN
limine-pxe.bin
BIN
limine-pxe.bin
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define LIMINE_VERSION "4.20230422.0"
|
||||
#define LIMINE_VERSION "4.20230615.0"
|
||||
|
||||
int main(void) {
|
||||
puts(LIMINE_VERSION);
|
||||
|
||||
40
limine.h
40
limine.h
@@ -233,20 +233,56 @@ struct LIMINE_DEPRECATED limine_terminal_request {
|
||||
|
||||
LIMINE_DEPRECATED_IGNORE_END
|
||||
|
||||
/* Paging mode */
|
||||
|
||||
#define LIMINE_PAGING_MODE_REQUEST { LIMINE_COMMON_MAGIC, 0x95c1a0edab0944cb, 0xa4e5cb3842f7488a }
|
||||
|
||||
#if defined (__x86_64__) || defined (__i386__)
|
||||
#define LIMINE_PAGING_MODE_X86_64_4LVL 0
|
||||
#define LIMINE_PAGING_MODE_X86_64_5LVL 1
|
||||
#define LIMINE_PAGING_MODE_MAX LIMINE_PAGING_MODE_X86_64_5LVL
|
||||
#define LIMINE_PAGING_MODE_DEFAULT LIMINE_PAGING_MODE_X86_64_4LVL
|
||||
#elif defined (__aarch64__)
|
||||
#define LIMINE_PAGING_MODE_AARCH64_4LVL 0
|
||||
#define LIMINE_PAGING_MODE_AARCH64_5LVL 1
|
||||
#define LIMINE_PAGING_MODE_MAX LIMINE_PAGING_MODE_AARCH64_5LVL
|
||||
#define LIMINE_PAGING_MODE_DEFAULT LIMINE_PAGING_MODE_AARCH64_4LVL
|
||||
#else
|
||||
#error Unknown architecture
|
||||
#endif
|
||||
|
||||
struct limine_paging_mode_response {
|
||||
uint64_t revision;
|
||||
uint64_t mode;
|
||||
uint64_t flags;
|
||||
};
|
||||
|
||||
struct limine_paging_mode_request {
|
||||
uint64_t id[4];
|
||||
uint64_t revision;
|
||||
LIMINE_PTR(struct limine_paging_mode_response *) response;
|
||||
uint64_t mode;
|
||||
uint64_t flags;
|
||||
};
|
||||
|
||||
/* 5-level paging */
|
||||
|
||||
#define LIMINE_5_LEVEL_PAGING_REQUEST { LIMINE_COMMON_MAGIC, 0x94469551da9b3192, 0xebe5e86db7382888 }
|
||||
|
||||
struct limine_5_level_paging_response {
|
||||
LIMINE_DEPRECATED_IGNORE_START
|
||||
|
||||
struct LIMINE_DEPRECATED limine_5_level_paging_response {
|
||||
uint64_t revision;
|
||||
};
|
||||
|
||||
struct limine_5_level_paging_request {
|
||||
struct LIMINE_DEPRECATED limine_5_level_paging_request {
|
||||
uint64_t id[4];
|
||||
uint64_t revision;
|
||||
LIMINE_PTR(struct limine_5_level_paging_response *) response;
|
||||
};
|
||||
|
||||
LIMINE_DEPRECATED_IGNORE_END
|
||||
|
||||
/* SMP */
|
||||
|
||||
#define LIMINE_SMP_REQUEST { LIMINE_COMMON_MAGIC, 0x95a67b819a1b857e, 0xa0b61b723b6a73e0 }
|
||||
|
||||
BIN
limine.sys
Executable file → Normal file
BIN
limine.sys
Executable file → Normal file
Binary file not shown.
Reference in New Issue
Block a user