Commit Graph

499 Commits

Author SHA1 Message Date
mintsuki db561393dd stivale: Add requested stack sanity checks. Closes #95 2021-07-26 19:25:59 +02:00
mintsuki 9d68787fe1 build: OpenBSD compatibility 2021-07-26 18:27:05 +02:00
mintsuki af03050db3 build: Make build system more BSD friendly 2021-07-26 16:09:03 +02:00
mintsuki e9760d2e33 build: Work around gnu-efi build system issue 2021-07-25 16:23:36 +02:00
mintsuki f2fcc38af7 stivale2_rt: Fix mov of the incorrect size 2021-07-25 15:23:29 +02:00
mintsuki 5089bafaf8 pmm: Fix sanitise_entries() bugs 2021-07-25 14:18:35 +02:00
mintsuki 2a4f9eb0c4 elf: Do not enforce segment load address alignment even if PMRs are requested 2021-07-25 01:18:36 +02:00
mintsuki 0e2b9c5776 term: Bound check when setting cursor position 2021-07-20 14:13:56 +02:00
mintsuki 6e1afcd3cb uefi: Initial 32 bit UEFI support 2021-07-20 13:35:43 +02:00
mintsuki f5b0a4ee25 elf: More bug fixes 2021-07-17 08:19:03 +02:00
mintsuki 5fa8ef5d37 elf: Bug fixes 2021-07-17 07:38:19 +02:00
mintsuki de3c7eed67 stivale2: Implement PMRs 2021-07-15 16:20:29 +02:00
mintsuki 79b8c38c8c stivale: Initial infrastructure to support ELF permissions 2021-07-15 14:09:12 +02:00
mintsuki 178f3cea0e elf: Return permission ranges 2021-07-15 13:34:24 +02:00
mintsuki aec537f519 menu: Fix title alignment 2021-07-15 12:51:46 +02:00
mintsuki 1aa5ae13fc misc: Change how bios and uefi macros are defined and tested 2021-07-15 10:03:47 +02:00
mintsuki d478a1b28b stivale2: Add support for text mode struct tag 2021-07-11 10:07:43 +02:00
mintsuki f5ffbdf2cd stivale2: Add support for any video header tag 2021-07-11 09:47:57 +02:00
mintsuki 63a45e2b31 stivale2: Implement max_length field of terminal structure tag 2021-07-11 08:51:22 +02:00
mintsuki f4a47cff02 gterm: Improve text drawing performance on both QEMU TCG and real hardware 2021-07-11 08:30:54 +02:00
mintsuki e5ec3c1fb3 gterm: Reintroduce fast canvas drawing, only.
Co-authored-by: StaticSaga <61866965+StaticSaga@users.noreply.github.com>
2021-07-11 07:28:09 +02:00
mintsuki f4dc6481f1 gterm: Revert recent changes as they make the terminal significantly slower on real hardware 2021-07-11 04:50:15 +02:00
mintsuki 9423860745 Revert "readline: rewrite Ctrl-[pnbf] to arrows"
This reverts commit 9e2d9f1630.
2021-07-11 02:03:10 +02:00
mintsuki f66620052d Revert "readline: exclude the non-ctrl case from checks"
This reverts commit 2fcabe8dfe.
2021-07-11 02:02:50 +02:00
mintsuki 6f17771c53 menu: Disable scrolling when displaying status text 2021-07-11 02:01:03 +02:00
mintsuki 50fd990ece term: Improve logic of disabling scrolling 2021-07-11 01:51:17 +02:00
mintsuki ffac9b1c68 stivale2: Prevent buffer overflows when writing to stivale2 terminal 2021-07-11 01:31:16 +02:00
mintsuki d85e6302db Revert "bmp: Sanity check images"
This reverts commit 8ea847e563.
2021-07-11 01:24:00 +02:00
StaticSaga 8ea847e563 bmp: Sanity check images 2021-07-10 13:59:58 +02:00
StaticSaga b38b830241 gterm: Fix typo on IMAGE_STRETCHED 2021-07-10 13:59:42 +02:00
StaticSaga 0daf11ecca gterm: refactor genloop() 2021-07-09 16:27:23 +02:00
mintsuki cd59bb5097 pmm: Add option to randomise memory contents at boot-up 2021-07-09 14:40:44 +02:00
mintsuki 757cc792fd menu: Print comments in cyan instead of green 2021-07-08 18:05:17 +02:00
StaticSaga 7bfdfbd2ad gterm: make gterm_plot_char faster 2021-07-08 17:50:48 +02:00
Arsen Arsenović 2fcabe8dfe
readline: exclude the non-ctrl case from checks
Honestly, all of this is hacky, somehow people implementing these APIs
never bothered to put modifiers in some other register to be returned.
The EFI people got a whole struct dedicated to returning what key is
pressed, and didn't even put the modifiers in it.

EFI actually did implement this with EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL,
the returned struct holds the modifier. I can implement this using that
protocol and int 16/AH=01h at a later date.
2021-07-08 17:43:58 +02:00
mintsuki 8636aa2f13 menu: Add support for comments in entry editor 2021-07-08 17:28:43 +02:00
mintsuki 3270ce1bf8 menu: When a directory entry is selected, show expand/collapse rather than boot 2021-07-08 17:15:28 +02:00
mintsuki 3b06a0603f menu: Reset terminal palette to default after printing entry comment 2021-07-08 17:07:07 +02:00
mint 2a64832923
Merge pull request #91 from ArsenArsen/trunk
readline: rewrite Ctrl-[pnbf] to arrows
2021-07-08 17:02:16 +02:00
mintsuki 9f5c5e09b4 menu: Support entry comments 2021-07-08 16:57:40 +02:00
Arsen Arsenović 9e2d9f1630
readline: rewrite Ctrl-[pnbf] to arrows 2021-07-08 16:57:04 +02:00
mintsuki 25d9fd6614 term: Do not scroll screen when it shouldn't be 2021-07-08 16:33:24 +02:00
mintsuki c3f5f0d6fd menu: Nicely box boot menu 2021-07-08 16:07:33 +02:00
mintsuki a39a588b0e menu: Avoid useless draws of the entry tree 2021-07-08 15:47:28 +02:00
StaticSaga 8a8b437437 gterm+bmp+image: Improve performance on TCG 2021-07-08 13:52:13 +02:00
mintsuki b5f35d6091 multiboot1: Make sure all info is passed to kernel in conventional memory 2021-07-07 10:01:08 +02:00
mintsuki 3b18864e6f efi: Misc bug fixes 2021-07-07 05:54:40 +02:00
mintsuki 0c46de53d8 Revert "pmm: Use our custom EFI memory entry type to release EFI memory back instead of relying on our memmap"
This reverts commit eadee3e6cb.
2021-07-07 05:37:47 +02:00
mintsuki 2bce5bf2d1 docs: Update screenshot 2021-07-07 04:50:32 +02:00
mintsuki 44f5c06366 textmode: Minor aesthetic adjustments 2021-07-07 04:23:34 +02:00
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