Commit Graph

265 Commits

Author SHA1 Message Date
mintsuki
21ec72f1b7 build: Minor changes 2021-04-08 21:02:46 +02:00
mintsuki
543edfa0b3 build: Make build system more flexible to use when using the host toolchain 2021-04-08 19:41:46 +02:00
mintsuki
621fc30a3b build: Prefer -static-pie to -shared for linking PIE executables 2021-04-08 02:07:40 +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
f899648d86 build: Misc enhancements 2021-04-03 22:12:40 +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
235096cb62 build: Remove now useless libgcc.a references from linker scripts 2021-04-03 01:23:14 +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
74ef5901a7 build: UEFI: Link using gcc rather than ld directly, and do not enable PIC 2021-04-02 16:45:14 +02:00
mintsuki
2bdd297c3d build: Pull actual branch name from git rather than hardcoding 'trunk' 2021-04-02 16:19:56 +02:00
mintsuki
dce8d312ea stivale2: Report correct kernel/modules memory map type value 2021-04-01 20:05:27 +02:00
mintsuki
59dd147bf4 stivale: Refuse to boot if text mode wanted on UEFI 2021-03-31 01:48:27 +02:00
mintsuki
0f0dddf75e part: Harden MBR detection code 2021-03-29 12:14:17 +02:00
mintsuki
bd0a713c1c bios: Skip disks which return bogus geometry 2021-03-28 20:30:13 +02:00
mintsuki
0885bac3aa stivale2: Implement kernel slide tag 2021-03-28 16:20:23 +02:00
mintsuki
d1946b9dbc stivale2: Implement kernel file tag 2021-03-28 15:46:59 +02:00
mintsuki
fc0dc17bb9 stivale2: Remove useless KASLR related code 2021-03-26 16:50:50 +01: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
621a004bf2 menu: Make right arrow act as enter on entries 2021-03-26 13:56:09 +01:00
mintsuki
04bef1ce1a misc: Warn about missing limine.sys only when necessary 2021-03-21 09:44:07 +01:00
mintsuki
af53421cd0 fb: Support 64-bit EFI framebuffer bases 2021-03-21 08:25:50 +01:00
mintsuki
698e386cc5 misc: Add warnings about copying limine.sys over 2021-03-21 07:58:21 +01:00
mintsuki
48e6d8f90e echfs: Remove overly verbose print 2021-03-21 07:49:31 +01:00
mintsuki
b20c440278 linux: Remove overly verbose print 2021-03-21 07:46:54 +01:00
mintsuki
c89644b3d1 edid: Properly get segment:offset from flat address 2021-03-20 13:07:28 +01:00
mintsuki
2dc49ee73b vbe: Force bpp to 32 when trying EDID else it will never work 2021-03-20 12:03:57 +01:00
mintsuki
984986a64d iso9660: Add support for rock ridge and properly handle padded sectors when searching directories 2021-03-20 11:52:53 +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
37a40880b2 protos: Fix retf frames for Linux and chainload 2021-03-17 19:40:27 +01:00
mintsuki
2e12cc0a40 protos: Make sure Linux and chainload protocols use the proper real mode IVT when spun up 2021-03-17 19:12:31 +01:00
mintsuki
e374d73265 pmm: Fix bug with memmap_alloc_range() where the type of the new upper entry was incorrectly set 2021-03-17 17:56:36 +01:00
mintsuki
f7dc2e7b8e pmm: Limit bump allocator to 0x70000 on UEFI as well 2021-03-17 07:51:32 +01:00
mintsuki
fd66a94334 gop: Change way preset resolution is set when fallbacking 2021-03-17 07:43:34 +01:00
mintsuki
1b1b014a34 pmm: Misc bug fixes and improvements 2021-03-17 06:53:24 +01:00
mintsuki
741dca5089 misc: Fix linker_dbg.ld section misplacement 2021-03-15 07:32:23 +01:00
mintsuki
b71e3a0a0e misc: Fix LIMINE_VERSION 2021-03-15 06:43:59 +01:00
mintsuki
39936f5929 fb: Improve fallback resolution logic 2021-03-15 02:56:49 +01:00
mintsuki
6bbc31f232 disk: Actually wire in the max_partition logic 2021-03-15 02:22:55 +01:00
mintsuki
503fb92c90 config: Update search paths 2021-03-14 07:04:12 +01:00
mintsuki
6c7e096800 stivale2: Implement EDID and EFI system table tags 2021-03-14 06:13:19 +01:00
mintsuki
3674ce3af9 gop: Implement fallback resolutions like for VBE 2021-03-14 03:03:08 +01:00
mintsuki
d6cda61fb9 gop: Properly determine bpp and pixel masks and shifts 2021-03-14 02:11:41 +01:00
mintsuki
7950ac5997 uefi: Add hacky support for determining boot drive was a CD 2021-03-13 15:53:16 +01:00
mintsuki
094c8eca5b protos: Properly advertise the presence of PXE to stivale2 2021-03-13 14:26:27 +01:00
mintsuki
1f1f601c50 pmm: Make sure conv_mem_alloc() does not return NULL as a valid allocation 2021-03-13 14:10:40 +01:00
mintsuki
441c6fadbe misc: Makefile fixes 2021-03-13 09:48:11 +01:00
mintsuki
9386536c64 uefi: We don't do PXE 2021-03-13 09:45:17 +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
5380c82e57 fat16: FAT16 does not use the high sector number in the directory entries 2021-03-13 05:18:55 +01:00
mintsuki
1822839506 fat: Initial FAT16 implementation 2021-03-13 05:07:18 +01:00
mintsuki
23838a4e84 misc: We don't stacktrace on UEFI 2021-03-13 03:40:17 +01: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
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
6d9d3259a1 stivale: UEFI is not BIOS 2021-03-12 00:04:37 +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
7f32fb591b mtrr: Fix range overlap check 2021-03-10 04:45:30 +01:00
mintsuki
8bcbaa48c9 stivale: Exit boot services in the right spot 2021-03-10 03:09:42 +01:00
mintsuki
ab441fecda acpi: Fix length of RSDP calculation 2021-03-10 02:27:26 +01:00
mintsuki
0ab68fa83e pmm: Remove useless if 2021-03-10 01:35:28 +01:00
mintsuki
6fe0a46a34 pmm: Implement pmm_reclaim_uefi_mem() 2021-03-10 01:23:44 +01:00
mintsuki
32aa82a1bd misc: Fix output of limine_stage2only.elf in Makefile 2021-03-08 03:08:32 +01:00
mintsuki
db20cc7580 misc: Disentangle Makefiles so it builds fine with -j 2021-03-08 03:05:39 +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
e56df5b3ab pmm: Make conventional memory allocator work with UEFI 2021-03-07 04:10:44 +01:00
mintsuki
4e55d28777 acpi: Implement UEFI version of acpi_get_rsdp() 2021-03-07 03:57:18 +01:00
mintsuki
d96bdf775b fat32: Fix base calculation for cluster sizes of more than 1 sector 2021-03-07 03:03:56 +01:00
mintsuki
5d3f8b4eb0 Implement do_32() and make stivale kernels work with UEFI 2021-03-07 00:52:25 +01:00
mintsuki
6c22743c7e Do not build necessary gnu-efi dependencies using the host compiler, use our toolchain instead 2021-03-06 06:02:48 +01:00
JlXip
32a4539313 iso9660: support files without extension 2021-03-05 23:51:34 +01:00
mintsuki
443266feb3 Implement UEFI EDID 2021-03-05 23:48:52 +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
8939c3421c misc: Compile stage 2 with -Os and stage 3 with -O3 2021-03-04 23:12:40 +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
c478e57adb Tidy up stage 3 entry 2021-03-04 09:22:08 +01:00
mintsuki
deac1d7fd1 Misc stuff 2021-03-04 09:15:10 +01:00
mintsuki
7be0b35f6f We got the config to load 2021-03-04 07:18:00 +01:00
mintsuki
1be84baf84 Makefile fixes 2021-03-04 05:30:31 +01:00
mintsuki
746d9146c6 Make the smp trampoline more UEFI friendly 2021-03-04 05:15:20 +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
0ec053710c Make it work 2021-03-02 19:11:34 +01:00
mintsuki
6d756cf78b Makefile fixes 2021-03-02 10:42:35 +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
d4ea15e39e misc: Make sure to remove limine_stage2only.elf in stage23 clean target 2021-03-01 23:57:39 +01:00
mintsuki
8c0c36ea74 misc: Change the way stage 2 and 3 are divided 2021-03-01 23:38:55 +01:00
mintsuki
659a6afa18 iso9660: Fix GCC 11 'array subscript partly outside array bounds' warning 2021-03-01 20:43:27 +01:00
mintsuki
1e7ba95230 config: Move config code to stage 3 2021-02-26 01:30:27 +01:00
mintsuki
60742ea6a5 main: Add missing switch case for CD boot 2021-02-26 00:34:36 +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
JlXip
00dbeaa832 stivale2: fix stivale2_load parameters 2021-02-25 04:06:14 +01:00
JlXip
7677c6109d iso9660: back to stage2+decompressor 2021-02-25 03:34:23 +01:00
JlXip
1a5cb00cda iso9660: Root caching (rereverting) 2021-02-25 03:08:42 +01:00
mintsuki
326bcbfa29 misc: Misc adjustments 2021-02-25 01:47:48 +01:00
mintsuki
27848fc85c misc: General code reorganisation 2021-02-25 01:24:54 +01:00