mintsuki
c528068ac7
misc: Fix improper panic() calls
2022-08-28 20:16:27 +02:00
mintsuki
6631b595f2
build: Pretty up find calls
2022-08-27 05:09:42 +02:00
mintsuki
07080dcbc2
misc: blib.h -> misc.h
2022-08-26 23:44:47 +02:00
mintsuki
65671d73c7
misc: Update several macros
2022-08-26 23:30:00 +02:00
mintsuki
16c5e98120
misc: Update ALIGN macros
2022-08-26 21:34:40 +02:00
mintsuki
a91abf2c2a
build: Handle -no-pie bug with cross-detect
2022-08-26 10:23:35 +02:00
mintsuki
fde0447802
fs: Drop NTFS support
2022-08-26 00:20:27 +02:00
mintsuki
5f7cb5c83f
build: Properly set target arch on objcopy to ELF
2022-08-25 22:07:50 +02:00
mintsuki
94eb0e2ae2
entry/uefi: Only perform 4GiB check if on x86_64
2022-08-25 21:53:48 +02:00
mintsuki
ed0c32f20a
entry/uefi: Abort if loaded above 4GiB. Fix #206
2022-08-25 21:50:37 +02:00
mintsuki
a89b843673
Revert "bios: Get rid of self-modifying interrupt call code"
...
This reverts commit 5e0f85727a
.
2022-08-25 20:13:42 +02:00
Kacper Słomiński
489450d602
common: fix alignment of variable in AArch64 menu thunk
...
Fixes a problem that sometimes occured due to a specific relocation
being used for the misaligned variable.
2022-08-24 21:15:37 +02:00
mintsuki
04a6389fd8
build: Improvements and updates for new limine-efi
2022-08-23 01:41:18 +02:00
mintsuki
2460b33f9c
build: Misc build system improvements
2022-08-23 00:21:09 +02:00
mintsuki
a17edef7bc
ext: Fix next_cwd_len calculation
2022-08-21 07:15:48 +02:00
mintsuki
45f65b6b40
ext: Fix abs-path related bug with symlink handling
2022-08-21 01:10:58 +02:00
mintsuki
fe637af458
ext: Properly follow relative symlinks
2022-08-21 00:50:12 +02:00
Kacper Słomiński
e1f6ac8860
Initial AArch64 port ( #205 )
...
* Initial aarch64 port
* Enable chainload on aarch64
No changes necessary since it's all UEFI anyway.
* Add specification for Limine protocol for aarch64
* PROTOCOL: Specify state of information in DT /chosen node
* common: Add spinup code for aarch64
* common: Port elf and term to aarch64
* common: Port vmm to aarch64
Also prepare to drop VMM_FLAG_PRESENT on x86.
* protos: Port limine boot protocol to aarch64
Also drop VMM_FLAG_PRESENT since we never unmap pages anyway.
* test: Add DTB request
* PROTOCOL: Port SMP request to aarch64
* cpu: Add cache maintenance functions for aarch64
* protos/limine, sys: Port SMP to aarch64
Also move common asm macros into a header file.
* test: Start up APs
* vmm: Unify get_next_level and implement large page splitting
* protos/limine: Map framebuffer using correct caching mode on AArch64
* CI: Fix GCC build for aarch64
* entry, menu: Replace uses of naked attribute with separate asm file
GCC does not understand the naked attribute on aarch64, and didn't
understand it for x86 in older versions.
2022-08-18 17:32:54 +02:00
mintsuki
664a872dda
editor: Add TERM_CONFIG_OVERRIDE to syntax highlighting
2022-08-15 18:40:52 +02:00
mintsuki
5f1680acc1
build: Misc improvements to makefiles
2022-08-15 17:41:04 +02:00
mintsuki
1e9ac0ac01
build: Update makefiles to not use INTERNAL variables
2022-08-15 16:37:31 +02:00
mintsuki
17e23dd7f6
build: Discard .eh_frame section in linker scripts to fix potential GNU toolchain miscompilation
2022-08-15 16:22:56 +02:00
mintsuki
fb2a6e1f29
limine: Remove stray external symbol declaration
2022-08-14 15:31:53 +02:00
mintsuki
997c787c16
term/limine: Allow overriding terminal config in entry
2022-08-14 15:09:57 +02:00
mintsuki
11b56c39f0
config: Only make keys global if before first entry
2022-08-14 14:45:20 +02:00
mintsuki
73f958e92e
Revert "Revert "gensyms: Use as instead of nasm""
...
This reverts commit b3ca8ae9a2
.
2022-08-13 20:32:06 +02:00
mintsuki
7ade45b230
misc: struct e820_entry_t -> struct memmap_entry
2022-08-13 19:54:49 +02:00
mintsuki
71fd2d2516
pmm: Properly handle memory map entries that cross 4GiB on UEFI
2022-08-13 17:52:01 +02:00
Dmytro Bagrii
b205ff9bd8
misc: Fix GRAPHICS config option recognition
2022-08-13 04:30:58 +03:00
mintsuki
93f8d011ff
multiboot2: Fix bug where old ACPI tag would not get passed if RSDP rev == 0
2022-08-12 23:33:28 +02:00
mintsuki
74a3a1c6b6
pmm: General tyding up of pmm code (2)
2022-08-11 20:20:16 +02:00
mintsuki
fa6f607769
pmm: General tyding up of pmm code
2022-08-11 09:41:07 +02:00
mintsuki
7a9a04d72f
build: Always place -fno-pie before -fno-pic
2022-08-09 15:22:15 +02:00
mintsuki
4422ebd61c
build: Get proper mkdir -p from autoconf
2022-08-08 22:00:25 +02:00
mintsuki
e3c4fbea25
config: Remove stray include
2022-08-06 20:21:56 +02:00
mintsuki
793d029370
linux: Only make framebuffer EFI and 64-bit if above 4GiB
2022-08-06 19:47:46 +02:00
mintsuki
367bf3e5e9
linux: Find compromise for 32-bit EFI boot
2022-08-04 14:16:42 +02:00
mintsuki
4b55b45382
pmm: Fix a handful of GCC warnings
2022-08-04 13:04:55 +02:00
mintsuki
0ef0c3adc5
linux, pmm: Get a boot with 32-bit UEFI. Addresses #185
2022-08-04 12:56:46 +02:00
mintsuki
c43acd445f
limine: Drop legacy framebuffer and terminal requests
2022-07-29 00:53:59 +02:00
mintsuki
cd1107abe2
limine: Specify that memory between 0 and 0x1000 is never to be marked usable
2022-07-29 00:42:47 +02:00
mintsuki
c23eac8018
mbr: Make detection more lax. Addresses #185
2022-07-28 22:48:04 +02:00
mintsuki
ff7d9502e5
smp: Make smp_trampoline_size variable instead of symbol
2022-07-28 22:30:26 +02:00
mintsuki
ccdd1ca642
smp: Do not calculate trampoline size in C file
2022-07-28 22:23:12 +02:00
mintsuki
77ed67e582
smp/trampoline: Use hand written pos independent code instead of objcopying
2022-07-28 09:35:59 +02:00
mintsuki
0a2c2896b7
Revert "pmm: Fix issue with get_memmap() that could cause page table corruption"
...
This reverts commit 9c180b4008
.
2022-07-26 20:02:57 +02:00
mintsuki
fb5d903ccf
pmm: Reclaim bootservices entries last and disallow allocations after
2022-07-26 19:55:18 +02:00
mintsuki
4c6fba824c
chainload: Add GPT_GUID support and improve documentation. Closes #201
2022-07-26 19:21:47 +02:00
mintsuki
7bfa2cd775
pmm: Fix bugs introduced in 85603ec
2022-07-26 11:01:00 +02:00
mintsuki
85603ec8db
pmm: Simplify handling EFI memory acquisition and release
2022-07-26 08:09:50 +02:00
mintsuki
dcfef93ff6
efi: Handle cases where untouched memmap entries are lower than current base
2022-07-24 22:36:46 +02:00
mintsuki
4859ee9790
Revert "multiboot: Take better care of not having the reloc stub overwritten"
...
This reverts commit 009fb59b69
.
2022-07-24 22:32:25 +02:00
mintsuki
d2b1579668
multiboot: Properly check elsewhere returns
2022-07-24 22:28:16 +02:00
mintsuki
b3ca8ae9a2
Revert "gensyms: Use as instead of nasm"
...
This reverts commit cb9c097bcc
.
2022-07-24 01:03:48 +02:00
mintsuki
a58e66a187
build: Move common/{entry.asm_bios_ia32 -> entry_asm.s2.asm_bios_ia32}
2022-07-18 21:34:26 +02:00
mintsuki
f2d611eb83
build: Remove unnecessary -mno-3dnow flag
2022-07-18 21:34:26 +02:00
mintsuki
f233703167
build: Remove unnecessary symbol overrides for stage2only
2022-07-18 21:34:26 +02:00
mintsuki
86fc022f11
misc: Move 'verbose' declaration to lib/print.h
2022-07-18 21:14:21 +02:00
mintsuki
6eafb4fc03
build: BIOS stage2only build improvements
2022-07-18 21:02:44 +02:00
mintsuki
22d45a5428
build: Remove dummy limine-efi rules
2022-07-18 20:48:09 +02:00
mintsuki
37f7275775
build: Update linker scripts and fix minor makefile issue
2022-07-18 20:41:39 +02:00
mintsuki
ffb4ba6f55
mbr: Relax MBR validation requirements. Closes #195
2022-07-16 17:32:27 +02:00
mintsuki
4dc295c9d8
misc: Fix broken memcmp()
2022-07-14 20:03:21 +02:00
mintsuki
8a8b62fbcf
chainload: Fix bug where PARTITION was ignored if MBR_ID was set. Addresses #197
2022-07-14 19:24:41 +02:00
mintsuki
2a448febb3
protos: Move 'loading kernel' prints where they belong
2022-07-13 08:34:30 +02:00
mintsuki
e5e125887b
protos: Remove pointless returns added for autodetection
2022-07-13 07:40:53 +02:00
mintsuki
0af37b7cf0
fwcfg: Drop support
2022-07-13 06:23:20 +02:00
mintsuki
62c029c218
chainload: Implement MBR_ID config option. Closes #190
2022-07-11 01:30:54 +02:00
mintsuki
fb75a6876e
chainload_next: Fix some UEFI bugs
2022-07-11 00:53:33 +02:00
mintsuki
4511827780
chainload_next: Pass config through to chainload on UEFI
2022-07-11 00:27:22 +02:00
mintsuki
abd641bba0
protos: Fix typo in chainload_next.c
2022-07-11 00:19:32 +02:00
mintsuki
95272c5f1d
protos: Add chainload_next protocol. Closes #191
2022-07-11 00:15:56 +02:00
mintsuki
1ac1343059
mbr: Add extra FAT32 and NTFS signatures to validity check
2022-07-10 22:46:08 +02:00
mintsuki
abf86a561a
fat: Make signature checking even more lax
2022-07-10 19:50:19 +02:00
mintsuki
5e0f85727a
bios: Get rid of self-modifying interrupt call code
2022-07-10 18:58:17 +02:00
mintsuki
b1672e4ab9
fat: Loosen up check more and lower its priority in file.s2.c
2022-07-09 12:42:34 +02:00
mintsuki
afedae6d08
fat32: Swallow 0x28 and 0xd0 extended boot signatures
2022-07-09 12:25:47 +02:00
mintsuki
71adb6b307
console: Set config_ready to true after successfully running editor
2022-07-09 11:58:03 +02:00
mintsuki
7d78cf4e17
part: Also print fslabel in lsvol
2022-07-07 11:22:43 +02:00
mintsuki
7895c6827c
ext: Return NULL from get_label() when no label is present
2022-07-07 11:22:43 +02:00
mintsuki
eafff620d7
uri: Fix call to panic()
2022-07-07 11:18:09 +02:00
mintsuki
ff5d74511a
fat: Fix volume label detection
2022-07-07 11:13:45 +02:00
mintsuki
00b9f44255
limine: Fix assignment of paths broken in 0431623
2022-07-07 10:08:55 +02:00
mintsuki
7db783f080
edid: Undo comparison change from 29d63d6
2022-07-06 04:47:42 +02:00
mintsuki
180eb8490a
part: Misc EBR-related bug fixes. Fixes #189
2022-07-06 03:17:11 +02:00
mintsuki
009fb59b69
multiboot: Take better care of not having the reloc stub overwritten
2022-07-05 20:42:09 +02:00
mintsuki
8e54ea461b
protos: Remove ugly .32.c files and replace them with pure asm files
2022-07-05 18:53:39 +02:00
mintsuki
1dd81d4534
build: Add DWARF debugging sections to linker scripts
2022-07-05 16:41:27 +02:00
mintsuki
6106285d35
build: Move to using external cross-detect package
2022-07-05 09:14:48 +02:00
mintsuki
0431623381
fs: Improve layering in how the filesystem API works
2022-07-04 20:16:33 +02:00
mintsuki
48318c25eb
limine: Fix bug where HHDM would be randomised even with KASLR disabled
2022-07-04 08:58:44 +02:00
mintsuki
51b36a79c4
config: Fix macro parsing and expansion bugs
2022-07-02 13:29:18 +02:00
mintsuki
effb82320e
config: Fix issue with configs without trailing newline
2022-07-02 12:05:56 +02:00
mintsuki
0f5a467a78
uri: Add fslabel:// URI scheme as mentioned in #188
2022-07-02 10:43:10 +02:00
mintsuki
857dcbbfe7
part: Fix broken sector count normalisation calculation
2022-07-01 18:32:18 +02:00
mintsuki
0a7c1be0bb
part: Fix implicit declaration warning
2022-07-01 17:33:59 +02:00
mintsuki
20640083d8
part: Fix long standing issue with GPT logical block sizes and implement lsvol console command
2022-07-01 17:30:53 +02:00
mintsuki
f3621c7bcc
acpi: Add EBDA address sanity checks and work around bogus GCC warning
2022-07-01 15:04:57 +02:00
mintsuki
29d63d6b3e
gop: Use LocateHandle/HandleProtocol to get GOP instance
2022-07-01 13:08:08 +02:00
mintsuki
55199478db
efi: Fix broken assignments of handles_size
2022-07-01 09:07:45 +02:00
mintsuki
f9e90da2c2
efi: Fix potential issues with LocateHandle invocations
2022-07-01 08:03:21 +02:00
mintsuki
098e8679f3
build: Rename freestanding-headers to match upstream
2022-06-30 07:48:42 +02:00
mintsuki
af2f92210a
multiboot: Do not panic if unable to set text mode
2022-06-30 07:25:33 +02:00
mintsuki
0fac035a34
multiboot2: Add stub support for relocation header tag
2022-06-30 05:50:31 +02:00
mintsuki
b899d1accd
multiboot2: Remove useless, broken comparison
2022-06-29 15:20:09 +02:00
mintsuki
a1bf37382d
multiboot2: Bring framebuffer tag up to par with mb1
2022-06-29 13:25:09 +02:00
mintsuki
77b405a6b6
multiboot2: Bring a.out kludge up to par with mb1
2022-06-29 13:04:26 +02:00
mintsuki
94a20e649b
multiboot: Fix relocator assembly issues
2022-06-29 12:41:42 +02:00
mintsuki
3d65bfb9b9
misc: Misc elsewhere and multiboot-related bug fixes
2022-06-29 12:32:50 +02:00
mintsuki
215bf87993
misc: Bring mb2 up to par to mb1 wrt everywhere ranges and bug fixes
2022-06-29 10:27:04 +02:00
mintsuki
19287d5ca1
misc: Add elsewhere TU and rework mb1 to use it
2022-06-29 09:34:14 +02:00
mintsuki
e436b763c2
elf: Add elf*_load_elsewhere() functions
2022-06-29 08:16:22 +02:00
mintsuki
4e0ec6d544
elf: Undo all the mess caused by multiboot in preparation for separate functions
2022-06-29 07:48:10 +02:00
mintsuki
a2f7d2d314
multiboot1: Add ahead-of-time info size calculation
2022-06-29 07:26:06 +02:00
mintsuki
d7d0a84462
multiboot1: Properly support relocation for a.out kludge kernels and bug fixes
2022-06-28 11:41:15 +02:00
mintsuki
fba565b34e
elf: Add support for sliding and ELF ranges to ELF32 as well
2022-06-28 10:26:14 +02:00
mintsuki
f62345ee64
build: Add generic x86 asm extension grouping
2022-06-28 08:47:40 +02:00
mintsuki
27e2b84e31
elf64: Do not align ELF ranges if using paddr
2022-06-27 15:20:01 +02:00
mintsuki
b9400d2fc9
multiboot: Backport b92d48e
to multiboot1
2022-06-27 11:17:47 +02:00
mintsuki
b92d48e44f
multiboot(2): Initial support for arbitrary kernel load addresses
2022-06-27 10:55:57 +02:00
mintsuki
0836a62fbd
pmm: Minor overhaul to try and fix #185
2022-06-26 04:23:13 +02:00
mintsuki
9c180b4008
pmm: Fix issue with get_memmap() that could cause page table corruption
2022-06-22 22:28:43 +02:00
mintsuki
7415137a1b
misc: Update default font
2022-06-22 22:08:01 +02:00
mintsuki
4b32083ab6
build: Misc improvements
2022-06-22 21:56:41 +02:00
mintsuki
9f00d613a1
build: Update for newer limine-efi
2022-06-22 21:24:30 +02:00
peko
7fb17ce9bc
Update multiboot1.c ( #181 )
...
* Update multiboot1.c
* Update multiboot1.c
* Update multiboot1.c
* Update multiboot1.c
2022-06-22 21:11:34 +02:00
mintsuki
ef4e014cb3
build: Use libgcc-binaries
2022-06-21 08:47:48 +02:00
mintsuki
75c3585e58
build: Use binary libgcc from GCC instead of our own stubs. Closes #180
2022-06-20 04:28:59 +02:00
mintsuki
53a2dbefdf
build: Improve toolchain detection
2022-06-20 00:22:02 +02:00
mint
dc3de36c7e
Merge pull request #178 from lightning-speed/patch-2
...
Replaced Multiple strlen(buffer) call with one call
2022-06-19 20:29:59 +02:00
mintsuki
9ba7ba47f7
ext: Turn presence of encryption feature to a warning. Closes #179
2022-06-19 20:23:45 +02:00
mintsuki
1e47160a62
multiboot: Fix section location calculation
2022-06-19 20:16:37 +02:00
peko
2f07cb36ac
Update menu.c
2022-06-19 16:27:05 +05:30
mintsuki
3ef8a29933
multiboot1: Add ELF sections load support
2022-06-19 01:46:38 +02:00
mintsuki
77fa71ae92
multiboot2: Use correct section list copy for section loading
2022-06-19 01:08:17 +02:00
mintsuki
15ab3d7748
multiboot2: Fix broken section list size calculation (3)
2022-06-19 00:35:12 +02:00
mintsuki
ab84448be2
multiboot2: Fix broken section list size calculation (2)
2022-06-19 00:30:01 +02:00
mintsuki
ded43b60a3
multiboot2: Fix broken section list size calculation
2022-06-19 00:01:58 +02:00
mintsuki
7f6ac2d135
multiboot2: Add mb2_alloc() for quirky allocation locations
2022-06-18 23:40:34 +02:00
mintsuki
5b181e10a3
term: Move notready and fallback backends to stage 2
2022-06-17 20:29:23 +02:00
mintsuki
7404cb467e
build: Add toolchain-detect
2022-06-15 07:16:41 +02:00
mintsuki
1fc8247a86
build: Increase portability of Makefile targets
2022-06-15 03:25:36 +02:00
mintsuki
8981575db6
protos: Drop autodetection support
2022-06-15 02:12:27 +02:00
mintsuki
ee69dacb08
fs: Drop echfs support
2022-06-14 23:48:29 +02:00
mintsuki
13b9a333ad
build: Update due to limine-efi rebranding
2022-06-14 05:58:34 +02:00
mintsuki
746d0ad529
protos: Drop stivale and stivale2 support
2022-06-14 03:56:30 +02:00
mintsuki
57f384eed5
gop: Ensure QueryMode() is called properly
2022-06-02 09:52:32 +02:00
mintsuki
3b60c7bb80
Revert "gop: Force 32 bpp for preset mode fallback"
...
This reverts commit 3dbed1dc59
.
2022-06-02 09:51:03 +02:00
mintsuki
571374fdd7
Revert "gop: Potential workarounds for modesetting issue"
...
This reverts commit cf8f4f86a8
.
2022-06-02 09:50:13 +02:00
mintsuki
cf8f4f86a8
gop: Potential workarounds for modesetting issue
2022-06-01 19:50:27 +02:00