Commit Graph

41 Commits

Author SHA1 Message Date
mintsuki
80ae303ba8 misc: Fixes for GCC 12 warnings; add extern prototypes for inline functions 2022-01-26 03:58:28 +01:00
mintsuki
edad956e9a misc: Allow recovering from panics 2021-12-11 19:58:00 +01:00
mintsuki
2f844f3f48 stivale1&2: Pass higher half GDTR.base when returning higher half pointers 2021-11-25 22:46:16 +01:00
mintsuki
eea96cda9c gdt: Allocate GDT on the heap on UEFI 2021-11-25 21:51:41 +01:00
mintsuki
87a62d7f3b asm: Reorganise assembly code to avoid symlink use 2021-10-22 15:45:47 +02:00
mintsuki
39b8b49988 idt: Move dummy_isr() to its own assembly file 2021-10-22 12:17:16 +02:00
mintsuki
3ff618f1eb everywhere: Use pmm_free() in more places 2021-10-21 02:37:05 +02:00
mintsuki
dbab5f6063 apic: Do not attempt an APIC flush for protocols that don't mask IRQs 2021-09-22 12:33:56 +02:00
mintsuki
21b926fb70 idt: Move flush_irq() logic to stage 3 2021-09-21 17:44:01 +02:00
mintsuki
7637f94efa apic: Improve pending IRQ flushing mechanism 2021-09-21 17:28:32 +02:00
mintsuki
f73a19b5d5 apic: Do not panic if APIC not found 2021-09-21 14:49:48 +02:00
mintsuki
b29a513e6c apic: Add logic to mask all IO APIC GSIs. Fixes #111 2021-09-21 11:11:52 +02:00
mintsuki
05eb70e9f0 smp: Use rdtsc to delay rather than dummy port IO 2021-09-13 05:13:02 +02:00
mintsuki
dafc710c60 pmm: Allocate memory map dynamically using EFI 2021-09-03 03:10:23 +02:00
mintsuki
0410e53e3d cpu: Make rdseed() macro actually use rdseed 2021-09-02 22:59:51 +02:00
mintsuki
5217f50bbd pmm: Increase the max size of the memory map 2021-09-02 04:23:09 +02:00
mintsuki
48f7dee672 cpu: Remove static from header inline functions 2021-08-22 17:37:09 +02:00
mintsuki
049601814a disk: Add logic to determine fastest transfer size 2021-08-22 16:27:06 +02:00
mintsuki
6e1afcd3cb uefi: Initial 32 bit UEFI support 2021-07-20 13:35:43 +02:00
mintsuki
de3c7eed67 stivale2: Implement PMRs 2021-07-15 16:20:29 +02:00
mintsuki
1aa5ae13fc misc: Change how bios and uefi macros are defined and tested 2021-07-15 10:03:47 +02:00
mintsuki
4a87babe4a misc: Forbid variable shadowing 2021-07-06 05:17:18 +02:00
mintsuki
572bcdae3b x86: Invalidate LDT before handoff 2021-07-06 02:13:25 +02:00
mintsuki
6e78e33989 misc: Replace Intel-syntax inline assembly with GAS-syntax inline assembly; ensure we can build with clang 2021-05-29 18:07:28 +02:00
mintsuki
87cc5494c7 build: Remove dependency on GCC-specific -fplan9-extensions flag 2021-05-28 16:05:42 +02:00
mintsuki
110d2dc7d4 misc: Misc EFI-related adjustments 2021-05-20 01:16:39 +02:00
mintsuki
9676a3d09c stivale: Load up invalid IDT before jumping to kernel instead of leaking internal one 2021-05-19 08:29:21 +02:00
mintsuki
f650e4b41b misc: Add verbose config option 2021-05-11 06:46:42 +02:00
mintsuki
4e4017fb13 pmm: Rework conventional memory allocator 2021-04-15 02:21:38 +02:00
mintsuki
c3481e12cc mtrr: Wholly remove MTRR support 2021-04-09 02:28:56 +02:00
mintsuki
63bccd9b0a misc: IDT itself does not need to be in .realmode 2021-03-13 03:39:38 +01:00
mintsuki
94887a4533 misc: Handle CPU exceptions nicely 2021-03-13 03:21:01 +01:00
mintsuki
a8626d6fdd misc: Initial Makefile rework 2021-03-08 00:50:23 +01:00
mintsuki
62b042a2fe Get SMP to work on UEFI 2021-03-07 06:50:04 +01:00
mintsuki
058da70164 Misc fixes 2021-03-07 04:31:06 +01:00
mintsuki
5d3f8b4eb0 Implement do_32() and make stivale kernels work with UEFI 2021-03-07 00:52:25 +01:00
mintsuki
746d9146c6 Make the smp trampoline more UEFI friendly 2021-03-04 05:15:20 +01:00
mintsuki
edd4a8de60 Initial UEFI port 2021-03-02 10:23:43 +01:00
mintsuki
8c0c36ea74 misc: Change the way stage 2 and 3 are divided 2021-03-01 23:38:55 +01:00
mintsuki
8769aaae1e misc: Move a lot of code from stage 2 to stage 3 2021-02-25 23:11:53 +01:00
mintsuki
27848fc85c misc: General code reorganisation 2021-02-25 01:24:54 +01:00