Commit Graph

61 Commits

Author SHA1 Message Date
mintsuki
edad956e9a misc: Allow recovering from panics 2021-12-11 19:58:00 +01:00
mintsuki
f50bbcd9a2 menu: Move protocol logic from entry.s3.c to menu.c 2021-12-11 15:34:30 +01:00
mintsuki
ec4b01865c main: Add autodetection prompt instead of doing it automatically 2021-11-28 22:30:05 +01:00
mintsuki
eea96cda9c gdt: Allocate GDT on the heap on UEFI 2021-11-25 21:51:41 +01:00
mintsuki
6bcbfe9b48 protos: Implement autodetection 2021-11-24 13:23:02 +01:00
mintsuki
5555af6641 term: Implement interruptible quiet mode 2021-11-23 11:47:14 +01:00
mintsuki
65925ebc60 term: Bug fixes 2021-11-21 01:18:39 +01:00
mintsuki
a937eb4202 term: Introduce quiet mode 2021-11-20 21:47:51 +01:00
mintsuki
202eac3d3a bootboot: Remove bootboot support from Limine
I added bootboot support to Limine because it was sent as a pull request by a
friend. The following does not in any way place any blame on said friend.

After having had to fix numerous bugs related to misunderstandings about the
pretentious BOOTBOOT specification I've come to the conclusion that BOOTBOOT
absolutely doesn't belong in Limine.

If you want to boot a BOOTBOOT kernel with Limine just chainload the OG BOOTBOOT
and don't pollute the source tree of Limine with having to support such a brain
dead protocol.

Legit, I didn't really read the BOOTBOOT spec prior to today and just winged
the fixes to the BOOTBOOT proto code based on common sense, but it turns out that
BOOTBOOT adheres to no common sense.

Use stivale(2).
2021-11-10 14:15:14 +01:00
mintsuki
0c073fcc44 build: Get build-id from linker instead of generating a random one 2021-11-08 09:42:41 +01:00
pitust
db3af4b523 bootboot: RAMDISK->INITRD_PATH, don't pass gST around for no reason, unsplit bootboot_spinup, flush the PIC only 2021-11-02 07:00:13 +00:00
pitust
a72a68486d bootboot: add proper support for env and ramdisk 2021-11-01 20:43:00 +00:00
pitust
6443900f2b bootboot: introduce support for the bootboot protocol 2021-11-01 20:43:00 +00:00
mintsuki
0fd0650b78 stivale2: Remove useless arguments to load function 2021-10-31 19:09:21 +01:00
mintsuki
948e97c2ec entry: Remove useless term init before panic 2021-10-31 19:02:02 +01:00
mintsuki
f71e57af49 everywhere: Implement pmm_free() 2021-10-21 01:27:05 +02:00
mintsuki
4f064b30cd term: Check if any terminal is actually initialised in reset_term() 2021-10-11 21:08:32 +02:00
mintsuki
2b11825b20 console: Introduce Limine console 2021-10-09 13:32:57 +02:00
mintsuki
4d40e73692 efi: Disable watchdog timer 2021-09-21 18:56:20 +02:00
mintsuki
56ceffb44b entry: Move some initialisation calls to after config initialisation 2021-09-21 18:40:23 +02:00
mintsuki
7637f94efa apic: Improve pending IRQ flushing mechanism 2021-09-21 17:28:32 +02:00
mintsuki
b29a513e6c apic: Add logic to mask all IO APIC GSIs. Fixes #111 2021-09-21 11:11:52 +02:00
Andy-Python-Programmer
60811e70d6
multiboot2: initial support
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-10 13:46:41 +10:00
mintsuki
b00845fba0 efi: Add fallback in case we do not manage to pair the boot device handle with a volume 2021-09-02 02:11:15 +02:00
mintsuki
31f52c2b30 efi: Directly use EFI functions instead of using GNU-EFI's call wrapper 2021-08-25 22:03:00 +02:00
mintsuki
483cb4655d misc: Add copyright notice at boot 2021-08-22 18:29:18 +02:00
mintsuki
6e1afcd3cb uefi: Initial 32 bit UEFI support 2021-07-20 13:35:43 +02:00
mintsuki
1aa5ae13fc misc: Change how bios and uefi macros are defined and tested 2021-07-15 10:03:47 +02:00
mintsuki
cd59bb5097 pmm: Add option to randomise memory contents at boot-up 2021-07-09 14:40:44 +02:00
Kacper Słomiński
e6adc164bb entry: accept "multiboot" as well as "multiboot1" 2021-06-29 16:58:19 +02:00
Kacper Słomiński
4fb782449f protos: add initial multiboot1 implementation 2021-06-29 15:16:25 +02:00
mintsuki
eb83d013ca disk: Misc bug fixes and improvements 2021-06-12 13:13:19 +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
110d2dc7d4 misc: Misc EFI-related adjustments 2021-05-20 01:16:39 +02:00
mintsuki
f650e4b41b misc: Add verbose config option 2021-05-11 06:46:42 +02:00
mintsuki
1a83dfcf78 misc: Misc bug fixes 2021-05-07 00:27:49 +02:00
mintsuki
db3a41bc4c uefi: Implement chainloading support 2021-05-06 04:31:05 +02:00
mintsuki
7f63b9a10a menu: Instead of panicking when no config file exists or it has no entries, offer the user the ability to manually type in a boot entry 2021-04-20 06:45:03 +02:00
mintsuki
7ac20e0615 gterm: Many improvements 2021-04-11 02:30:48 +02:00
mintsuki
4bbc98b62e Revert "video: Many terminal related bug fixes and improvements"
This reverts commit f7638e965b.
2021-04-11 01:26:50 +02:00
mintsuki
f7638e965b video: Many terminal related bug fixes and improvements 2021-04-10 23:08:32 +02:00
mintsuki
c3481e12cc mtrr: Wholly remove MTRR support 2021-04-09 02:28:56 +02:00
mintsuki
05c60bac51 gterm: Speed up terminal greatly by caching an alpha blent canvas of the background instead of alpha blending every pixel of the background every time 2021-04-08 23:05:27 +02:00
mintsuki
9caa555973 trace: Add support for UEFI 2021-04-08 01:15:35 +02:00
mintsuki
cd3a64c9f1 linux: Initial support for 32 bit boot protocol instead of 16 bit one 2021-03-19 09:36:49 +01:00
mintsuki
6c7e096800 stivale2: Implement EDID and EFI system table tags 2021-03-14 06:13:19 +01:00
mintsuki
094c8eca5b protos: Properly advertise the presence of PXE to stivale2 2021-03-13 14:26:27 +01:00
mintsuki
53332d7056 misc: Clean up the boot device detection system 2021-03-11 00:23:44 +01:00
mintsuki
0cd183faf4 misc: Make sure Limine UEFI still works without GRAPHICS=yes and/or with TIMEOUT=0 2021-03-10 05:08:37 +01:00
mintsuki
c3c278ffdd Always use our own (better) allocator 2021-03-05 06:10:58 +01:00