Commit Graph

228 Commits

Author SHA1 Message Date
48cf
2bba72634f lib/gterm: Try to initialize all 32-bpp framebuffers 2023-10-24 18:38:18 +02:00
mintsuki
f8bfe41e71 test: Use -dumpmachine to find architecture instead of expecting -target 2023-09-11 17:16:19 -05:00
mintsuki
e207c03f69 build: Drop -mabi=sysv for x86 for clang 16 2023-08-29 22:34:27 -05:00
mintsuki
1e9a42e7ce test: General makefile updates 2023-08-08 14:09:31 -05:00
mintsuki
b8fff872de test: Use Flanterm 2023-08-08 14:09:19 -05:00
xvanc
82ea6d6a57 test/riscv: disable linker relaxation, specify ISA string and ABI
Although linker relaxation is disabled, the compiler still emits small
data sections which must be explicitly included in the linker script.
2023-08-04 07:22:12 -05:00
mintsuki
ff86be6be6 misc: Update test wallpaper and screenshot 2023-07-29 11:55:37 -05:00
mintsuki
f365a46617 misc: Minor updates to linker scripts 2023-07-26 17:05:20 -05:00
mintsuki
1ad6d6013e limine: Drop terminal request support 2023-06-20 15:58:52 +02:00
mintsuki
670b635ae8 config: Add and document ARCH built-in macro 2023-06-15 02:23:48 +02:00
mintsuki
45fd1ac08f test: Misc updates to the linker script 2023-06-15 00:52:59 +02:00
xvanc
9274ee656e
Initial riscv64 port (#274)
* initial riscv64 port

* enable Paging Mode feature for all architectures

* riscv: add missing protocol docs

* riscv: fix tests

* docs: clarify `LIMINE_PAGING_MODE_DEFAULT` macro

* build: fix whitespace in common/GNUmakefile

* riscv: default to Sv48 paging when supported

* vmm: make `VMM_MAX_LEVEL` 1-indexed

* limine: do not call `reported_addr()` before finaling paging mode

smp/riscv: do not overwrite the argument passed to APs

* limine/riscv: update default paging mode in limine.h

* test/riscv: pad OVMF.fd when downloading it
2023-06-04 01:36:06 +02:00
mintsuki
e91196d452 test: Fix copying mistake (typo) 2023-06-03 01:51:17 +02:00
Bryce Lanham
2362f1a785 Implement Multiboot2 network tag
Added caching of the dhcp response in the pxe code, and then adding the
tag containing it.
2023-04-24 06:44:56 -05:00
mintsuki
ebd1953e51 build: Use uppercase PIE/PIC compilation flags 2023-04-11 15:57:02 +02:00
mintsuki
012605adf9 limine: Fix issue with internal modules and kernels in root dir 2023-03-30 02:43:52 +02:00
mintsuki
698ca1a665 limine: Honour LIMINE_INTERNAL_MODULE_REQUIRED flag 2023-03-24 10:18:18 +01:00
mintsuki
d4334699e3 limine: Implement internal modules concept 2023-03-24 01:02:31 +01:00
mintsuki
fadb9a7c13 build: Misc updates for new freestanding-toolchain 2023-03-16 03:38:53 +01:00
mintsuki
f71f506b0a build: configure: Change some variable names to be more friendly 2023-03-16 02:28:50 +01:00
mintsuki
9009404a11 build: Updates for newer freestanding-toolchain 2023-03-14 17:20:46 +01:00
mintsuki
5bc6fbca3b misc: Change example wallpaper 2023-03-06 22:22:58 +01:00
mintsuki
e0aec79cb6 limine: Add support for framebuffer modes listing 2022-10-14 05:19:13 +02:00
mintsuki
a2ba71eb1d multiboot: Allow for headless boots 2022-09-27 05:46:39 +02:00
mintsuki
ebbf8d7bed misc: Better integration of aarch64 port and test mechanism 2022-09-05 02:17:53 +02:00
mintsuki
b2a390c4d5 misc: Update wallpaper 2022-09-04 03:57:32 +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
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
c43acd445f limine: Drop legacy framebuffer and terminal requests 2022-07-29 00:53:59 +02:00
mintsuki
f2d611eb83 build: Remove unnecessary -mno-3dnow flag 2022-07-18 21:34:26 +02:00
mintsuki
0af37b7cf0 fwcfg: Drop support 2022-07-13 06:23:20 +02:00
mintsuki
2b5f1039c2 multiboot2: Improve multiboot2 test case 2022-06-29 15:32:38 +02:00
mintsuki
3d65bfb9b9 misc: Misc elsewhere and multiboot-related bug fixes 2022-06-29 12:32:50 +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
746d0ad529 protos: Drop stivale and stivale2 support 2022-06-14 03:56:30 +02:00
mintsuki
9585dcbd5c limine: Add new requests for terminal and framebuffer 2022-05-22 03:44:04 +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
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
6caaada636 limine: Rename 2 limine_file members 2022-03-31 09:03:06 +02:00
mintsuki
abc3b309a4 gterm: Default to transparent bg if wallpaper is set 2022-03-30 03:19:05 +02:00
mintsuki
e8fcc85b03 limine: Rework modules/file/kernel_file 2022-03-26 09:27:09 +01:00
mintsuki
3c909c017b docs: limine: More documentation work 2022-03-26 01:31:38 +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
49a8dfe4b2 config: Misc improvements 2022-03-22 04:39:51 +01:00
mintsuki
99a4eaac23 config: Sanitise names of terminal keys 2022-03-22 04:09:29 +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