mintsuki
906b714c99
sys/smp: Use monitor/mwait when available instead of plain pause for spin-loops
2025-02-08 08:53:15 +01:00
Kacper Słomiński
945c43de0d
lib: Move DTB_PATH handling logic into common code
2024-12-24 17:10:47 +01:00
mintsuki
0ba9919ed3
protos/limine: Rename SMP feature to MP feature
2024-11-30 02:19:31 +01:00
mintsuki
21056a3211
sys/smp: Ensure machines with pre-enabled x2APIC are properly supported
2024-11-25 12:58:48 +01:00
mintsuki
3e71596bdb
protos/limine: Check for PAT availability in SMP trampoline as well
2024-10-12 17:15:04 +02:00
mintsuki
0c2f0ddebe
build: Remove custom __riscv64 define in favour of built-in __riscv define
...
We do not support non-64-bit RISC-V anyways
2024-08-11 20:25:01 +02:00
mintsuki
21d3d7f3f2
sys/smp: Obtain LAPIC ID from LAPIC instead of CPUID
2024-08-11 19:32:22 +02:00
mintsuki
6eecac7049
riscv64: Use rdcycle instead of rdtime for rdtsc(); add delay to SMP startup like 530e28e846
2024-08-09 14:45:21 +02:00
Kacper Słomiński
530e28e846
smp: Fix BSP timing out while waiting for APs on AArch64
...
When running with KVM, the BSP seems to time out while waiting for APs
to come up, which leads to the OS only being told about 1 AP, and
all the APs using the same info struct and stack pointer.
2024-08-09 08:21:15 +02:00
Keegan Saunders
d9a2fb95a9
Add LoongArch support
2024-07-31 23:05:27 -04:00
mintsuki
cdeb745b66
build: Restore WERROR_FLAG to nasm calls, add NASMFLAGS_FOR_TARGET
2024-07-25 09:45:40 +02:00
mintsuki
63427dca3b
bios/a20: Add support for fast A20 method. May fix #386
2024-07-20 19:42:58 +02:00
mintsuki
b3385b8027
bios/a20: Improve a20_check(). Could fix #386
2024-07-20 19:30:06 +02:00
Kacper Słomiński
8de8ee1573
sys/smp: Add support for SMP on non-ACPI AArch64 systems
2024-07-12 05:03:54 +02:00
Kacper Słomiński
fd2ad70604
PROTOCOL: Get rid of unreliable gic_iface_no field on AArch64
2024-07-12 04:58:30 +02:00
mintsuki
9b2ae5be47
smp: Return NULL instead of 0 CPU count if no processors were started
2024-07-01 00:21:24 +02:00
mintsuki
68ad2db755
dtb: Fix bugs introduced in cc05481b89
2024-06-28 01:01:21 +02:00
mintsuki
45e036275a
dtb: Optionally reallocate and expand DTB memory as needed
2024-06-28 00:43:27 +02:00
xvanc
65e2c1b4d8
riscv: add support for device tree
2024-05-30 10:53:21 -05:00
mintsuki
4e4105782e
misc: No more non-static inline functions in headers
2024-04-10 20:16:37 +02:00
cospplredman
ba5c0004e6
fixed header guard names
...
made them more standard compliant
2024-03-20 03:06:55 +01:00
48cf
6374a0027b
smp/aarch64: Fix trampoline alignment and allocation size
2023-11-24 03:15:33 +01:00
mintsuki
54f3118f4c
sys/smp: Synchronise AP MTRRs with the BSP
2023-11-14 08:32:48 +01:00
mintsuki
2c8c0c3deb
Revert "misc: Converge with 5.x"
...
This reverts commit f9682543fd .
2023-11-03 06:24:58 +01:00
mintsuki
c1860c8d80
limine/ioapic: Change spec to avoid masking IOAPIC RTEs unless Fixed or Lowest Priority
2023-10-24 01:21:24 +02:00
mintsuki
a55f68b3bd
smp: riscv64: Replace .insn directive with .4byte
2023-09-28 06:56:28 -05:00
mintsuki
a83dafe6f4
misc: Add section .note.GNU-stack to assembly files
2023-09-28 06:56:28 -05:00
mintsuki
87a88bf565
smp: Remove dead 32-bit trampoline code
2023-09-23 17:37:38 -05:00
mintsuki
042a6e9554
misc: Backports from trunk
2023-09-16 15:12:14 -05:00
mintsuki
5f7bcc0b1d
riscv: Fix cherry-picking issue introduced in e3d65aa628
2023-09-16 11:35:43 -05:00
xvanc
f4bfe1289a
riscv: skip rv{32,64} prefix when parsing extensions from isa strings
2023-09-16 11:28:15 -05:00
xvanc
cdac49ebfb
acpi: remove duplicate definition in sys/lapic.c
2023-09-16 11:28:15 -05:00
xvanc
90b82dc43f
riscv/vmm: use Svpbmt extension when available
2023-09-16 11:28:15 -05:00
xvanc
e3d65aa628
riscv: refactor smp init
2023-09-16 11:28:15 -05:00
xvanc
f33732a2e5
riscv: implement feature dectection
2023-09-16 11:21:17 -05:00
xvanc
2200161e7d
acpi: move acpi structure defs to lib/acpi.h
2023-09-16 11:21:17 -05:00
mintsuki
e6a67c80a6
x86/gdt: Mark accessed flag in descriptors
2023-09-09 10:08:44 -05:00
Kacper Słomiński
50dab6c2f1
smp: aarch64: Don't needlessly invalidate the data cache
...
Also get rid of the function to do clean + invalidate as not to be
tempted by it.
2023-08-18 13:38:14 -05:00
Kacper Słomiński
ba5d63b82a
elf: aarch64: Don't needlessly invalidate the data cache
...
Cleaning the data cache to PoC without invalidating it is enough when
invalidating the instruction cache to PoU.
2023-08-18 13:37:55 -05:00
mintsuki
9a074530a9
exceptions: Change naming of exceptions in panic message
2023-08-18 13:36:58 -05:00
mintsuki
50b8ab2c26
rv64: Misc relaxation related fixes
2023-08-01 05:32:05 -05:00
mintsuki
2ac43a320f
asm: Add missing section directives
2023-06-20 13:24:49 +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
1258f01bc2
Revert "smp/x86: Free up trampoline memory after use"
...
This reverts commit ae771dd8a1 .
2022-11-02 15:28:07 +01:00
mintsuki
ae771dd8a1
smp/x86: Free up trampoline memory after use
2022-10-29 16:17:57 +02:00
mintsuki
26f6ac3bb2
smp: Fix indentation
2022-09-18 11:30:21 +02:00
mintsuki
2b71eaedb6
smp: Fix aarch64 issue introduced in 0f04f686
2022-09-14 15:39:52 +02:00
mintsuki
0f04f6860a
smp: Remove hacks needed for stivale
2022-09-14 14:54:55 +02:00
mintsuki
c44f514738
misc: Rename UEFI and BIOS define macros
2022-09-02 02:29:12 +02:00
mintsuki
c528068ac7
misc: Fix improper panic() calls
2022-08-28 20:16:27 +02:00