Commit Graph

499 Commits

Author SHA1 Message Date
mintsuki 0e6ad967de textmode: Fix various cursor-related issues 2021-07-07 03:37:29 +02:00
mint 4d1a02b0b5
Merge pull request #89 from notYuriy/stretch
bmp: Add support for stretched images
2021-07-07 02:53:23 +02:00
Iurii Zamiatin 6b15b0f97b bmp: Add support for stretched images 2021-07-07 03:46:40 +03:00
mintsuki 177b83de9c menu: Prefer left alignment for titles which are not divisible by 2 2021-07-07 02:43:07 +02:00
mintsuki 3ba705d082 term: Ensure that double escape character raw prints escape 2021-07-07 02:26:25 +02:00
Carver 8c29063bfc Centering 2021-07-06 16:56:01 -07:00
Carver Harrison 6e82bd0e2f
Another Indentation Fix 2021-07-06 16:35:21 -07:00
Carver eb33edf9ee Epic last minute formatting fix 2021-07-06 16:31:39 -07:00
Carver 05b42b2428 Merge branch 'trunk' of https://github.com/carverh/qloader2 into trunk 2021-07-06 16:28:31 -07:00
Carver 34825df41b New menu system and editor 2021-07-06 16:27:07 -07:00
mintsuki a092368895 pmm: Rework pmm_reclaim_uefi_mem() 2021-07-07 00:44:37 +02:00
mintsuki c20828138e Revert "uefi: Even saner handling of exiting boot services"
This reverts commit e6cc0e4b93.
2021-07-06 22:45:16 +02:00
mintsuki ae2d924c14 efi: Properly propagate exits after loading an image using chainloading; do not try to return from panics if boot services were exited 2021-07-06 09:59:49 +02:00
mintsuki eadee3e6cb pmm: Use our custom EFI memory entry type to release EFI memory back instead of relying on our memmap 2021-07-06 08:55:32 +02:00
mintsuki e63931f0dd linux: Exit bootservices *before* saving the memory map in the zero page 2021-07-06 08:41:48 +02:00
mintsuki e6cc0e4b93 uefi: Even saner handling of exiting boot services 2021-07-06 08:21:20 +02:00
mintsuki 05bc7c5bda uefi: More sane handling of exiting boot services 2021-07-06 07:42:35 +02:00
mintsuki d966dc083c pmm: Sanitise raw EFI memory map 2021-07-06 05:26:55 +02:00
mintsuki 4a87babe4a misc: Forbid variable shadowing 2021-07-06 05:17:18 +02:00
mintsuki 04d713a45b linux: Use get_raw_memmap() 2021-07-06 03:23:36 +02:00
mintsuki 36fa6291bd pmm: Optimise get_raw_memmap() 2021-07-06 03:17:28 +02:00
mintsuki 449df1d547 pmm: Implement get_raw_memmap() and use it in mb1 proto 2021-07-06 03:01:07 +02:00
mintsuki 572bcdae3b x86: Invalidate LDT before handoff 2021-07-06 02:13:25 +02:00
mintsuki fa2a2d77bb protos: Remove dead code 2021-07-06 00:48:29 +02:00
mintsuki 81f4b86916 build: Unify do_32() and direct calls under a single common_spinup() 2021-07-05 23:28:04 +02:00
mintsuki 08423fb646 stivale: Slight change in how anchors work 2021-07-05 22:51:03 +02:00
mintsuki 591f601299 stivale: Use anchor struct definitions from public stivale headers 2021-07-05 12:20:47 +02:00
mintsuki 84e540ee48 stivale2: Implement kernel loading by anchor for non-ELF kernels 2021-07-05 10:20:35 +02:00
mintsuki d62c4f67d5 stivale: Implement kernel loading by anchor for non-ELF kernels 2021-07-05 08:04:17 +02:00
mintsuki 85a500a668 multiboot1: Fix broken cast 2021-07-03 01:45:46 +02:00
mintsuki 05e7c27f01 multiboot1: Make sure to load modules at a valid address even when using a.out kludge 2021-07-03 01:02:32 +02:00
mintsuki d53facc731 multiboot: Load modules right after kernel to emulate GRUB behaviour 2021-07-02 23:58:22 +02:00
mintsuki 652a6d2575 multiboot1: Reset textmode even if kernel does not request fb info 2021-07-02 04:34:00 +02:00
mintsuki aee3d96242 build: Update version detection method not to rely on Git when a version file is available 2021-06-30 23:14:15 +02:00
mintsuki b697b6aec6 build: Build necessary gnu-efi objects in the stage23 Makefile rather than the root one 2021-06-30 21:58:11 +02:00
Kacper Słomiński 6d47bf9d81 multiboot1: account for memory that crosses 1MB when summing up sizes 2021-06-30 20:59:59 +02:00
Kacper Słomiński 78ec547086 multiboot1: don't mask the PIC when entering kernel
The spec states the PIC must left in the state the BIOS left it in.
2021-06-30 20:44:24 +02:00
Kacper Słomiński 7002918c91 multiboot1: add a.out kludge support 2021-06-30 20:16:30 +02:00
Kacper Słomiński f84b33650e multiboot1: allocate kernel and modules using proper type
This prevents the code from allocating over the kernel and modules when
allocating memory.
The type is changed to usable when preparing the memory map.
2021-06-30 20:16:30 +02:00
mintsuki 2f08116acb misc: Fix potentially misleading strings 2021-06-30 18:44:31 +02:00
mintsuki 7d44e79abc build: which -> command -v 2021-06-30 18:22:50 +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 6bb204bbd9 multiboot1: add support for 64-bit ELFs 2021-06-29 16:58:15 +02:00
Kacper Słomiński 9115bc7b50 elf: allow elf64_load to use paddrs instead of vaddrs 2021-06-29 16:57:51 +02:00
Kacper Słomiński 22587856fd elf: adjust entry point address to paddr in elf32_load 2021-06-29 15:19:46 +02:00
Kacper Słomiński 4fb782449f protos: add initial multiboot1 implementation 2021-06-29 15:16:25 +02:00
mintsuki 60e1b43f66 secureboot: Add .sbat section 2021-06-25 01:23:26 +02:00
mintsuki ece3e9c099 iso9660: Fix bug where non rockridge filenames were not actually being loaded 2021-06-22 12:36:45 +02:00
mintsuki 7bf53f1406 pmm: Do not reclaim EfiLoader sections as usable 2021-06-15 03:10:59 +02:00
mintsuki eb83d013ca disk: Misc bug fixes and improvements 2021-06-12 13:13:19 +02:00
mintsuki 662b5b7624 iso9660: Fix improper handling of filename casing 2021-06-12 08:03:49 +02:00
mintsuki dc47b83c16 term: Fix various cursor-related issues 2021-06-08 00:06:33 +02:00
mintsuki abf1d90515 stivale32: Fix typo made when converting to AT&T syntax 2021-06-02 16:33:00 +02:00
mintsuki c31073ce63 acpi: Fix wrongly calculated RSDP checksum 2021-06-01 21:59:05 +02:00
mintsuki 6ac24628e8 build: Ensure load addresses of debug and tab sections are 0 2021-05-31 01:52:43 +02:00
mintsuki e69f7429ce build: Use linker directly instead of going thru compiler; ensure we are buildable with an llvm toolchain 2021-05-31 00:32:43 +02:00
mintsuki 1e935e10d3 linux: Fix wrong jmp instruction 2021-05-30 15:45:31 +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 977b00f0b3 stivale2: Fix bug where when requesting higher half pointers the stivale2 struct pointer was still passed in the lower half 2021-05-23 03:34:36 +02:00
mintsuki dc3b45a9a9 term: General terminal improvements 2021-05-23 00:19:27 +02:00
mintsuki 4d7a48eca7 term: Add support for tabs 2021-05-22 23:11:18 +02:00
mintsuki a6a88109d7 stivale2: Unbreak listing tags due to higher half pointers and verbose mode 2021-05-22 22:20:26 +02:00
mintsuki f9f38f0c39 build: Revert usage of -mgeneral-regs-only 2021-05-22 10:26:56 +02:00
mintsuki 0602e40cce stivale2: Actually pass tag pointers in linked list in the higher half if requested 2021-05-22 10:13:06 +02:00
mintsuki 110d2dc7d4 misc: Misc EFI-related adjustments 2021-05-20 01:16:39 +02:00
mintsuki 40e65eddb1 panic: Add missing getchar() before returning to EFI 2021-05-19 08:52:21 +02:00
mint 0d3d667ba8
Merge pull request #84 from chocabloc/trunk
Return to firmware instead of halting in UEFI mode
2021-05-19 08:46:20 +02:00
aditya e013c2ce46 include efi.h 2021-05-19 12:14:00 +05:30
aditya 60170c9f2c use fb_clear 2021-05-19 12:11:39 +05:30
mintsuki 9676a3d09c stivale: Load up invalid IDT before jumping to kernel instead of leaking internal one 2021-05-19 08:29:21 +02:00
aditya 4737625d22 fix typo 2021-05-19 11:56:43 +05:30
aditya 2c679dcec3 return to firmware instead of halting in uefi mode 2021-05-19 11:49:53 +05:30
mintsuki eb51e5a14a readline: Fix handling of escape key for BIOS 2021-05-19 08:13:15 +02:00
mintsuki 4c1782357a readline: Fix issue where timeouts were not reported properly on BIOS 2021-05-13 02:56:25 +02:00
mintsuki df6a0d3c24 readline: Protect against non-printable characters 2021-05-12 13:10:39 +02:00
mintsuki 12ec203f46 chainload: EFI workarounds 2021-05-12 12:53:06 +02:00
mintsuki f650e4b41b misc: Add verbose config option 2021-05-11 06:46:42 +02:00
mintsuki 0eb5af44aa Revert "stivale2: Reduce verbosity"
This reverts commit 2526b92ab3.
2021-05-11 06:12:47 +02:00
mintsuki b73890cce5 Revert "stivale: Reduce verbosity"
This reverts commit 8b38bc55cb.
2021-05-11 06:12:33 +02:00
mintsuki 0687bd2760 Revert "linux: Reduce verbosity"
This reverts commit e228745e5c.
2021-05-11 06:12:22 +02:00
mintsuki 9174a241dc fat: Implement FAT12 2021-05-11 06:04:23 +02:00
mintsuki e228745e5c linux: Reduce verbosity 2021-05-11 02:15:44 +02:00
mintsuki 8b38bc55cb stivale: Reduce verbosity 2021-05-11 02:11:37 +02:00
mintsuki 2526b92ab3 stivale2: Reduce verbosity 2021-05-11 02:09:59 +02:00
mintsuki 3681263f7b panic: Properly reset palette 2021-05-10 23:06:39 +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 540829f6a7 disk: Minor adjustments and fixes 2021-05-05 19:59:21 +02:00
mintsuki fdfa0207e6 stivale: Panic if higher half addresses header flag is set for 32-bit kernels 2021-05-05 00:53:18 +02:00
mintsuki ad2e03b434 pmm: Guard against broken E820 causing an EBDA overwrite 2021-05-05 00:12:20 +02:00
mintsuki a01e5ecd1a stivale2: Implement higher half returned addresses flag 2021-05-04 23:00:26 +02:00
mintsuki 4bd3a540a8 stivale: Implement higher half returned addresses flag 2021-05-04 15:17:36 +02:00
mintsuki 07d9f7d7ee build: Bump GCC to 11.1.0, misc fixes 2021-05-04 13:56:00 +02:00
mintsuki b401d07f8f build: Work around GCC issue where -static-pie does not seem to work with -elf cross compilers 2021-05-03 01:08:31 +02:00
mintsuki ac9ddc7cdd uefi: Fix linking flags 2021-05-02 22:52:24 +02:00
mintsuki 7750e14c10 stivale2: Preserve state of FS and GS segment registers across terminal print calls 2021-04-30 02:09:00 +02:00
mintsuki 1365d9656b linux: Make sure to align kernel and modules memory map allocations to page size 2021-04-29 00:45:02 +02:00
mintsuki f2b172be71 linux: Pass additional EFI info to kernel 2021-04-28 23:41:34 +02:00
mintsuki 8475f98f08 linux: Pass EDID info onto kernel 2021-04-28 22:56:28 +02:00
mintsuki 033ceb3353 stivale: Implement SMBIOS related stuff. Fixes #81 2021-04-28 20:15:24 +02:00
mintsuki 3702060f69 disk: Limit the range of hard drives and optical drives scanned in BIOS 2021-04-24 22:59:03 +02:00
mintsuki fb7e9fdb3c pmm: Remove dead code and misc bug fixes 2021-04-20 13:52:42 +02:00
mintsuki 6554ff8c38 menu: Fix issue where rescue editor would ignore modifications made when triggered by missing config file instead of lack of entries 2021-04-20 10:49:49 +02:00
mintsuki f2505f4169 config: Fix issue where menu_tree would be always NULL 2021-04-20 10:16:43 +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 b3e4c49e57 vmm: The PAT flag was accidentally set for 4KiB pages 2021-04-20 06:11:02 +02:00
mintsuki c3db6d0c41 stivale: Implement KASLR config option 2021-04-15 04:32:49 +02:00
mintsuki 3c0fd2b56b stivale2: Make sure memory at 0x70000 is actually free as per spec 2021-04-15 04:08:20 +02:00
mintsuki 06315dd809 pmm: Protect page 0 of physical memory 2021-04-15 03:44:25 +02:00
mintsuki 4e4017fb13 pmm: Rework conventional memory allocator 2021-04-15 02:21:38 +02:00
mintsuki d9466f3d25 stivale2: Implement unmap NULL using 4KiB pages 2021-04-14 21:57:23 +02:00
mintsuki 5488c8818b stivale2: Implement unmap NULL feature 2021-04-14 11:06:14 +02:00
mintsuki 693945b157 stivale2: Implement cols and rows fields for terminal struct tag 2021-04-14 10:44:55 +02:00
mintsuki 042c8037a8 stivale2: Terminal: Save and restore user segment registers instead of smashing them 2021-04-13 21:48:09 +02:00
mintsuki c011339c0c stivale2: Clear terminal before passing control to kernel 2021-04-11 10:15:14 +02:00
mintsuki 9ab0beea54 build: Pass -Werror to nasm 2021-04-11 10:00:57 +02:00
mintsuki 7ac20e0615 gterm: Many improvements 2021-04-11 02:30:48 +02:00
mintsuki e402508b61 gop: Preset mode is the one the firmware gives us 2021-04-11 02:08:24 +02:00
mintsuki 380f358e07 gop: Do not assume BPP to always be 32 2021-04-11 02:04:38 +02:00
mintsuki 49621f5c4f stivale: Map the framebuffer in the memory map only in stivale protos 2021-04-11 01:38:06 +02:00
mintsuki 4dc24474a0 gterm: Fix allocated buffer which could be too small and result in an overflow 2021-04-11 01:33:58 +02:00
mintsuki 5434ccb598 gop: Implement missing logic to avoid setting modes when unnecessary 2021-04-11 01:29:39 +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 3be9003992 linux: Ensure that the framebuffer memory map tag does not reach the kernel 2021-04-10 06:09:15 +02:00
mintsuki c796764aa9 stivale2: Initialise gterm in case we're coming in from a non-graphical mode 2021-04-09 04:57:52 +02:00
mintsuki ebcaf8dfa0 gensyms.sh: Explicitly use bash in shebang 2021-04-09 03:09:33 +02:00
mintsuki c3481e12cc mtrr: Wholly remove MTRR support 2021-04-09 02:28:56 +02:00
mintsuki 91f0600e6b image: Add support for centering images 2021-04-09 01:26:39 +02:00
mintsuki bf9962e86f gterm: Speed up terminal by doing sub-character pixel comparisons and only printing differences 2021-04-09 00:22:20 +02:00
mintsuki 8bd7cf743c gterm: Speed up terminal greatly by only printing on screen characters that changed 2021-04-08 23:41:35 +02:00
mintsuki 55a88438f4 menu: Default to black and grey for bg and fg in case they are not provided for backwards compatibility 2021-04-08 23:34:22 +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 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