Commit Graph

51 Commits

Author SHA1 Message Date
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
7abb7348a9 stivale2: Implement terminal 2021-04-07 02:10:28 +02:00
mintsuki
4c5ff180d7 menu: Fix broken comparison that would always override user set menu resolution 2021-04-06 23:57:28 +02:00
mintsuki
bfc613bcbb video: Fix missing terminal deinitialisation before changing into final video mode 2021-04-04 18:05:18 +02:00
mintsuki
98fdd625c4 video: Wire in new textmode modesetting logic; use BIOS instead of VGA ports to enable and disable hardware textmode cursor 2021-04-04 04:51:55 +02:00
mintsuki
49ac7572d1 video: Implement fb_clear() 2021-04-04 04:02:05 +02:00
mintsuki
1ffb45ac9c video: Do not switch video modes when unnecessary to avoid flickering and screen blanking out 2021-04-04 03:38:38 +02:00
mintsuki
12aceadc76 libgcc: Fix __udivmoddi4 and __divmoddi4 2021-04-03 15:26:58 +02:00
mintsuki
d6f2585b09 real: Remove stray mov from sleep.asm 2021-04-03 01:33:01 +02:00
mintsuki
8e4de054d7 build: Generally rework build system to easily allow 3rd party toolchains to be used. Drop reliance on libgcc for BIOS builds by shipping our own routines instead 2021-04-03 00:48:38 +02:00
mintsuki
0f0dddf75e part: Harden MBR detection code 2021-03-29 12:14:17 +02:00
mintsuki
d1946b9dbc stivale2: Implement kernel file tag 2021-03-28 15:46:59 +02:00
mintsuki
30b750a2ad elf: Always do ASLR when loading relocatable ELFs and handle unavailable memory ranges instead of crashing 2021-03-26 15:47:59 +01:00
mintsuki
af53421cd0 fb: Support 64-bit EFI framebuffer bases 2021-03-21 08:25:50 +01: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
39936f5929 fb: Improve fallback resolution logic 2021-03-15 02:56:49 +01:00
mintsuki
503fb92c90 config: Update search paths 2021-03-14 07:04:12 +01:00
mintsuki
3674ce3af9 gop: Implement fallback resolutions like for VBE 2021-03-14 03:03:08 +01:00
mintsuki
441c6fadbe misc: Makefile fixes 2021-03-13 09:48:11 +01:00
mintsuki
7ee7e3425c pxe: Make it work again 2021-03-13 09:08:01 +01:00
mintsuki
de4fd786dd uri: Replace bios:// with hdd:// and odd:// 2021-03-13 08:27:15 +01:00
mintsuki
23838a4e84 misc: We don't stacktrace on UEFI 2021-03-13 03:40:17 +01:00
mintsuki
94887a4533 misc: Handle CPU exceptions nicely 2021-03-13 03:21:01 +01:00
mintsuki
9e60b1da10 misc: Split off a stage 2 symbol map and embed it into stage 2 so that it can print stacktrace symbol names before stage 3 is loaded 2021-03-12 05:19:56 +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
ab441fecda acpi: Fix length of RSDP calculation 2021-03-10 02:27:26 +01:00
mintsuki
6fe0a46a34 pmm: Implement pmm_reclaim_uefi_mem() 2021-03-10 01:23:44 +01:00
mintsuki
4e55d28777 acpi: Implement UEFI version of acpi_get_rsdp() 2021-03-07 03:57:18 +01:00
mintsuki
5d3f8b4eb0 Implement do_32() and make stivale kernels work with UEFI 2021-03-07 00:52:25 +01:00
mintsuki
c3c278ffdd Always use our own (better) allocator 2021-03-05 06:10:58 +01:00
mintsuki
a81f094d1d Implement UEFI to Limine memory map conversion 2021-03-05 04:20:58 +01:00
mintsuki
cbcf3779b6 Fix keyboard stuff 2021-03-04 13:48:31 +01:00
mintsuki
f26b6045a7 Let there be GOP 2021-03-04 10:13:02 +01:00
mintsuki
deac1d7fd1 Misc stuff 2021-03-04 09:15:10 +01:00
mintsuki
82466973d3 Implement disk_volume_from_efi_handle() 2021-03-04 01:42:25 +01:00
mintsuki
e21b9d87c9 Fix sleep_and_quit_on_keypress on BIOS 2021-03-03 22:47:46 +01:00
mintsuki
f7a8bbd7f6 A lot of changes 2021-03-03 22:38:28 +01:00
mintsuki
54862a8269 disk: More properly detect non-present removable media 2021-03-03 22:20:48 +01:00
mintsuki
3e4b4a6b9b disk: Move caching code to part.c from disk.c 2021-03-03 22:02:18 +01:00
mintsuki
edd4a8de60 Initial UEFI port 2021-03-02 10:23:43 +01:00
mintsuki
a7a168a682 fb: Abstract framebuffer API 2021-03-02 06:21:05 +01:00
mintsuki
689e82dba7 vbe: Move graphical terminal code to gterm and ship font instead of dumping from graphics card 2021-03-02 06:05:14 +01:00
mintsuki
8c0c36ea74 misc: Change the way stage 2 and 3 are divided 2021-03-01 23:38:55 +01:00
mintsuki
1e7ba95230 config: Move config code to stage 3 2021-02-26 01:30:27 +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
08f6ea60a8 misc: Add measures to prevent stage 2 from accidentally relying on stage 3 before the latter is loaded 2021-02-25 11:28:14 +01:00
mintsuki
bd8c9ed699 misc: Add a build ID to make sure that stage2 and stage3 always come from the same build 2021-02-25 08:45:03 +01:00
mintsuki
326bcbfa29 misc: Misc adjustments 2021-02-25 01:47:48 +01:00