Commit Graph

23 Commits

Author SHA1 Message Date
mintsuki 45958f7162 misc: Consistently call x86-64 such, instead of x86_64 2023-09-16 11:31:35 -05: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 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 2091aa9c21 Revert "Revert "Revert "ci: Build and check using Alpine instead of Arch"""
This reverts commit 8caf7b5b75.
2023-01-20 16:25:15 +01:00
mintsuki 8caf7b5b75 Revert "Revert "ci: Build and check using Alpine instead of Arch""
This reverts commit ce4046d559.
2022-12-30 09:04:45 +01:00
mintsuki ce4046d559 Revert "ci: Build and check using Alpine instead of Arch"
This reverts commit 502f77b30f.
2022-10-16 01:31:36 +02:00
mintsuki 502f77b30f ci: Build and check using Alpine instead of Arch 2022-10-14 00:02:55 +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 6106285d35 build: Move to using external cross-detect package 2022-07-05 09:14:48 +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 547666ca63 gh: Run check workflow on Arch Linux container 2022-06-20 02:17:00 +02:00
mintsuki 539ac94563 build: Disable all ports by default 2022-06-15 05:01:22 +02:00
mintsuki e906d0597d build: autogen.sh -> bootstrap 2022-06-15 00:35:16 +02:00
mintsuki 8806f470dd workflow: Install lld in check workflow 2022-05-07 16:44:34 +02:00
mintsuki 4e349fe000 ci: Use TOOLCHAIN=llvm to test LLVM builds 2022-04-20 04:58:29 +02:00
mintsuki 5542dffaa7 build: Pass -undef to preprocessor calls 2022-03-02 15:46:40 +01:00
mintsuki 80ae303ba8 misc: Fixes for GCC 12 warnings; add extern prototypes for inline functions 2022-01-26 03:58:28 +01:00
mintsuki 9ce5f54e31 misc: README.md and workflow updates 2022-01-22 04:10:48 +01:00
mintsuki 4fd8fd10f9 build: Fix up version.sh 2022-01-16 06:34:15 +01:00
mintsuki 3bb70dcbee build: Move to using autoconf 2022-01-16 06:09:36 +01:00
mintsuki 474c02c9ee gh: Add missing checkout step to compile check workflow 2021-09-29 17:51:04 +02:00
mintsuki 5e8cd503ce gh: Add workflow to test for compilation failures 2021-09-29 17:41:12 +02:00