Commit Graph

83 Commits

Author SHA1 Message Date
mintsuki
d442805bc0 term: Tidy up gterm wrapper code 2022-10-04 22:22:31 +02:00
mintsuki
ad8151a6a6 term: Move to use external, portable terminal 2022-10-04 22:22:31 +02:00
mintsuki
fc6e44c82c pmm: Misc bug fixes in pmm 2022-09-28 02:10:08 +02:00
mintsuki
96ceab3c72 misc: Fix bugs introduced in 3181293a 2022-09-20 10:10:00 +02:00
mintsuki
3181293a04 misc: Improve printing effectively on panics and errors 2022-09-18 22:34:53 +02:00
mintsuki
5b5f768360 smp: Remove hacks needed for stivale 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
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
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
07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +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
c43acd445f limine: Drop legacy framebuffer and terminal requests 2022-07-29 00:53:59 +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
00b9f44255 limine: Fix assignment of paths broken in 0431623 2022-07-07 10:08:55 +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
215bf87993 misc: Bring mb2 up to par to mb1 wrt everywhere ranges and bug fixes 2022-06-29 10:27:04 +02:00
mintsuki
746d0ad529 protos: Drop stivale and stivale2 support 2022-06-14 03:56:30 +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