czapek1337
71eb143611
print: Specifier for printing URIs
2022-09-12 14:10:36 +02:00
mint
f8d714317b
Merge pull request #217 from Andy-Python-Programmer/trunk
...
DTB: ensure the `dtb_ptr` is an HHDM address
2022-09-12 09:27:18 +02:00
Andy-Python-Programmer
528be7230f
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 17:25:35 +10:00
mintsuki
3452e492bb
elf: General refactor
2022-09-11 10:05:45 +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
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
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
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
7ade45b230
misc: struct e820_entry_t -> struct memmap_entry
2022-08-13 19:54:49 +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
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
4c6fba824c
chainload: Add GPT_GUID support and improve documentation. Closes #201
2022-07-26 19:21:47 +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
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
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
00b9f44255
limine: Fix assignment of paths broken in 0431623
2022-07-07 10:08:55 +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
48318c25eb
limine: Fix bug where HHDM would be randomised even with KASLR disabled
2022-07-04 08:58:44 +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
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
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
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
1e47160a62
multiboot: Fix section location calculation
2022-06-19 20:16:37 +02:00
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
1fc8247a86
build: Increase portability of Makefile targets
2022-06-15 03:25:36 +02:00
mintsuki
746d0ad529
protos: Drop stivale and stivale2 support
2022-06-14 03:56:30 +02:00
mintsuki
9a89e72dc8
multiboot1: use config_get_tuple when appropriate
2022-05-28 05:13:46 +02:00
Nathan Royer
67b75fa059
multiboot2: use config_get_tuple when appropriate
2022-05-28 05:05:11 +02:00
mintsuki
c9f4f6bee7
fb: Change reactions of protocols to high fb sizes
2022-05-22 08:19:41 +02:00
mintsuki
9585dcbd5c
limine: Add new requests for terminal and framebuffer
2022-05-22 03:44:04 +02:00
mintsuki
688c118caa
limine: Ensure framebuffer pointer of terminal is always valid
2022-05-13 19:14:10 +02:00
mintsuki
e836fb44de
limine: Only acknowledge stack size req if new stack > default
2022-05-07 17:11:11 +02:00
ilobilo
ce7c561eb0
Stack size
...
If stack size == 0 use default size
2022-05-05 15:51:31 +04:00
mintsuki
e22d5eff39
limine: Increment default stack size to 64KiB
2022-04-17 07:56:41 +02:00
mintsuki
fbf1e1584e
term/protos: Do not call callback if NULL
2022-04-17 07:51:28 +02:00
mintsuki
4202402bf0
limine: Ensure framebuffer memmap entry is always generated
2022-04-15 15:13:40 +02:00
mintsuki
dae8927078
limine: Add support for .limine_reqs ELF section
2022-04-14 20:34:59 +02:00
mintsuki
5c7578c54a
limine: Add media type to limine_file structure
2022-04-02 10:28:07 +02:00
mintsuki
012e7b0b67
misc: Fix minor things accidentally reverted in 790a130
2022-04-02 10:14:52 +02:00
mintsuki
790a1303f8
Revert "limine: Initial support for non-ELF executables"
...
This reverts commit 4240256074
.
2022-04-02 10:10:38 +02:00
mintsuki
5f525a1052
limine: Change terminal write contract
2022-04-02 10:05:14 +02:00
mintsuki
fb175747df
limine: Add support for multiple terminals and properly document it
2022-04-01 10:00:36 +02:00
mintsuki
15f111f5c3
limine: Make WP flag enabled as per spec
2022-03-31 13:33:18 +02:00
mintsuki
6caaada636
limine: Rename 2 limine_file members
2022-03-31 09:03:06 +02:00
mintsuki
4240256074
limine: Initial support for non-ELF executables
2022-03-30 14:04:04 +02:00
mintsuki
a688a1dd4f
limine: Add stack size feature
2022-03-28 08:00:40 +02:00
mintsuki
41ea16e2ff
elf: Return is_reloc
2022-03-28 05:13:47 +02:00
mintsuki
8b2cafc875
misc: Bug fixes
2022-03-26 11:59:27 +01:00
mintsuki
e8fcc85b03
limine: Rework modules/file/kernel_file
2022-03-26 09:27:09 +01:00
mintsuki
652b5447fe
limine: Make module paths better defined
2022-03-26 08:36:53 +01:00
mintsuki
8aa1372ce9
elf: Return image size
2022-03-26 05:03:02 +01:00
mintsuki
21f8640510
docs: limine: Document SMP request
2022-03-24 02:18:33 +01:00
mintsuki
c4f04dab95
docs: Continue work on Limine protocol spec
2022-03-22 10:26:41 +01:00
mintsuki
733865c9a6
limine: Add terminal request
2022-03-21 05:15:10 +01:00
mintsuki
01fd8257e3
limine: Header cleanup
2022-03-20 21:23:47 +01:00
mintsuki
80ba39503d
limine: Use arrays of pointers over arrays of structs
2022-03-20 20:28:44 +01:00
mintsuki
414fb38492
limine: Fix wrong variable name
2022-03-20 19:22:38 +01:00
mintsuki
fb19f6bc97
Revert "limine: Move module request to using SoA"
...
This reverts commit f39578f4e3
.
2022-03-20 19:13:18 +01:00
mintsuki
40e0f3fd77
Revert "limine: Move memmap request to using SoA"
...
This reverts commit 82627d8693
.
2022-03-20 19:13:18 +01:00
mintsuki
2ba3770766
Revert "limine: Move SMP request to using SoA"
...
This reverts commit 03700dea96
.
2022-03-20 19:12:55 +01:00
mintsuki
b2211a7e13
Revert "limine: Move framebuffer request to using SoA"
...
This reverts commit 76b9312d72
.
2022-03-20 19:11:22 +01:00
mintsuki
2d048ecfde
limine: Add kernel address request
2022-03-20 19:01:24 +01:00
mintsuki
f487061f40
limine: Add boot time request
2022-03-20 08:19:32 +01:00
mintsuki
38233a2405
limine: Add EFI system table request
2022-03-20 08:05:12 +01:00
mintsuki
a65e6ca9d8
limine: flags -> revision
2022-03-20 00:57:10 +01:00
mintsuki
f39578f4e3
limine: Move module request to using SoA
2022-03-18 08:48:48 +01:00
mintsuki
82627d8693
limine: Move memmap request to using SoA
2022-03-18 08:32:19 +01:00
mintsuki
03700dea96
limine: Move SMP request to using SoA
2022-03-18 07:26:56 +01:00