Commit Graph

302 Commits

Author SHA1 Message Date
mintsuki
08b004600a build: Fix stage2 map 2022-09-15 03:17:49 +02:00
Andy-Python-Programmer
d56ff6f7cb DTB: ensure the dtb_ptr is an HHDM address
* Ensure that the `dtb_ptr` is an HHDM address
* If DTB is not found, do not generate the response

Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2022-09-12 12:09:16 +02:00
mintsuki
fe647a067f elf: Fix issue where KASLR was applied to non reloc executables 2022-09-12 12:09:16 +02:00
mintsuki
831af39ed4 Revert "Revert "elf: General refactor""
This reverts commit 4c8516c6a6.
2022-09-12 12:09:16 +02:00
mintsuki
4c8516c6a6 Revert "elf: General refactor"
This reverts commit 3452e492bb.
2022-09-11 17:47:49 +02:00
mintsuki
3452e492bb elf: General refactor 2022-09-11 10:05:45 +02:00
mintsuki
5566278736 textmode: Load notready() *before* setting term_{cols,rows} 2022-09-05 03:14:16 +02:00
mintsuki
86ebf0b453 term: Initial support for 256-color palette 2022-09-05 00:49:33 +02:00
mintsuki
67498a6967 term: Initial support for RGB 2022-09-04 06:39:13 +02:00
mintsuki
b2a390c4d5 misc: Update wallpaper 2022-09-04 03:57:32 +02:00
mintsuki
07c446f293 build: Updates for new limine-efi 2022-09-02 11:01:13 +02:00
mintsuki
5e06a79fdc limine: Do not set NX bit in page tables if NX not available 2022-09-02 03:41:25 +02:00
mintsuki
d3385da3e3 limine: Make NX feature not mandatory 2022-09-02 03:31:22 +02:00
mintsuki
c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki
27711e3c27 fs: Add case insensitive fopen() for config and system files 2022-09-02 01:12:13 +02:00
mintsuki
4702e912be gensyms: Do not escape # in substitution string 2022-09-01 12:20:47 +02:00
mintsuki
fb372e6db7 pmm: Make code to reserve page 0 uniform between BIOS and UEFI 2022-09-01 04:58:18 +02:00
mintsuki
9b3570f043 bios/disk: Fix always-true comparison warning 2022-09-01 04:42:49 +02:00
mintsuki
1b630659d9 bios/disk: Add manual sector size detection code 2022-09-01 04:22:30 +02:00
mintsuki
c34db50cfd build: Small formatting fix 2022-08-31 00:40:59 +02:00
mintsuki
21fa4a9616 build: Update for new cross-detect 2022-08-29 21:52:59 +02:00
mintsuki
44df23c81a build: Update linker and compiler flags 2022-08-28 23:24:47 +02:00
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