Commit Graph

170 Commits

Author SHA1 Message Date
mintsuki e7147188e1 vbe: Fix handling of VBE versions older than 3.0 2020-11-29 08:26:08 +01:00
mintsuki c0417a875d config: Dynamically allocate buffer for config values when requested 2020-11-27 19:33:34 +01:00
mintsuki 81b9911613 pmm: Panic if there is an attempt to reserve a memory range below 1 MiB 2020-11-25 02:25:00 +01:00
mintsuki af78abb14b pmm: Fix bug where align_entry() would return the wrong error value 2020-11-24 00:19:00 +01:00
mintsuki 9cd21c6a30 term: Add double buffering 2020-11-20 19:55:18 +01:00
mintsuki ed590257af misc: Reuse buffers that hold the paths of module files for protocols 2020-11-18 00:53:11 +01:00
mintsuki a8a079425a config: Add full entry editor 2020-11-18 00:13:54 +01:00
mintsuki 536a82627b panic: Do not print stacktrace if map file is not loaded. Fix places where we erroneously appended a newline to a panic string 2020-11-17 01:24:01 +01:00
mintsuki 85b4d063a8 menu: Prettify print_tree() 2020-11-17 00:50:26 +01:00
mintsuki dc54ee97eb config: Add initial support for config directory entries 2020-11-16 23:31:03 +01:00
mintsuki 970b4e3fc9 misc: Fix a bunch of warnings related to potentially used uninitialised variables 2020-11-16 21:23:11 +01:00
mintsuki 6fd8eb0531 ext2: Add initial symlink support. Fixes #53 2020-11-16 15:00:57 +01:00
mintsuki 8460cee5ca misc: Implement stacktrace 2020-11-15 17:56:10 +01:00
mintsuki 36b5be1380 pmm: Only align memory map when explicitly requested as not to fragment ext_mem allocations too much 2020-11-14 13:29:30 +01:00
mintsuki 769ab76e78 ext2: Improve performance of non-ext4 inode reads by caching the block chain 2020-11-14 04:13:23 +01:00
mintsuki 754f1a35b7 ext2: Fix bug where tokens were not appended a 0 terminator when examining path 2020-11-14 00:59:28 +01:00
mintsuki 352f74daef stivale2: Fix bug where uri_open return value is tested wrong; uri: Allocate new buffer on uri_resolve 2020-11-10 11:12:56 +01:00
mintsuki e3519a6cfa misc: Change config location detection mechanism slightly 2020-11-09 15:04:53 +01:00
mintsuki 168716a251 misc: Add config file options for specifying the resolution in a granular way. Other misc bug fixes. Fixes #45 2020-11-09 12:31:47 +01:00
mintsuki 495b1570db vbe: Ensure that the format is xRGB8888 for the graphical menu 2020-11-09 11:15:54 +01:00
mintsuki cfb1734f43 vbe: Implement more expressive framebuffer tag (fixes #37) 2020-11-08 11:59:23 +01:00
mintsuki 6d232193cf stivale: Fix pagemap not mapping every memmap entry bug 2020-11-07 23:50:01 +01:00
mintsuki 1390062494 linux: Add possibility to load multiple modules 2020-11-07 22:21:30 +01:00
mintsuki ceb51518af misc: Remove 512-byte sector assumptions from various places 2020-11-05 17:18:45 +01:00
mintsuki 1ead86ef70 bootsect: Do not assume 512-byte sectors 2020-11-05 17:00:15 +01:00
mintsuki 65b39a4111 menu: Make theme colours a single key 2020-11-05 13:29:42 +01:00
mintsuki f0172ee1ed blib: Make strtoui return the address of the first non-numeric digit 2020-11-05 12:50:42 +01:00
Matteo Semenzato e7ae195304 Add pxe support 2020-11-05 01:53:18 +01:00
mintsuki 10bd26962a blib: Make strtoui break on first non numeric digit 2020-11-05 01:17:56 +01:00
mintsuki d7ec93d01d bootsect: Move jump to stage2 to second half of bootsector 2020-11-05 01:04:49 +01:00
mintsuki d799658be4 bootsect: Remove useless instructions 2020-11-05 00:56:52 +01:00
mintsuki 48a9d06aa2 blib: Update strtoui 2020-11-05 00:50:01 +01:00
mintsuki 82a715142a part: Some general cleanup 2020-11-02 10:17:20 +01:00
mintsuki c542ff6845 Some general cleanup 2020-11-02 09:20:34 +01:00
mintsuki 0319b51b4b Use URIs in the last few remaining places, update CONFIG.md 2020-11-01 22:07:10 +01:00
mintsuki 038c041208 Add GUID resource type 2020-11-01 21:25:35 +01:00
mintsuki 28c1538f94 Bump version number to 0.6 2020-11-01 10:39:49 +01:00
mintsuki 569df8aca8 Use URIs everywhere, update config documentation. Fixes #48 2020-11-01 10:31:35 +01:00
mintsuki 1de574944a readline: Support delete key 2020-10-27 08:38:43 +01:00
mintsuki 530b4a8f3b readline: Initial implementation 2020-10-27 08:09:27 +01:00
mintsuki b8b7a798d4 LAPIC: Fix bug where wrong CPUID bit was tested to check for APIC 2020-10-26 17:36:35 +01:00
mintsuki 07ac3de4e6 SMP: Fix struct duplication bug 2020-10-25 12:41:13 +01:00
mintsuki b7f4412948 Add BSP LAPIC ID field to stivale2 SMP structure. Resolves #46 2020-10-25 04:58:53 +01:00
mintsuki 7867d23e45 Fix bug in elf lib where a very large buffer could be accidentally allocated on the stack 2020-10-24 15:27:30 +02:00
mintsuki e8f1c9437a Change return type of cpuid(), add APIC existance check, do not assume BSP APIC ID to be 0 2020-10-22 15:25:10 +02:00
mintsuki 2b34d88d19 Remove instances in which conv_mem_alloc() was implicitly used as a realloc() as that subtly introduces bugs 2020-10-20 08:51:56 +02:00
mintsuki 74c7c0d776 Add E9_OUTPUT config option 2020-10-20 02:38:44 +02:00
mintsuki 0e09a8924b BIOS disk driver: do not make assumptions about sector size being 512 bytes 2020-10-18 06:35:20 +02:00
mintsuki a82dc582c7 Add BIOS drive indexing 2020-10-18 06:23:39 +02:00
mintsuki a9864a0ab4 Implement string_to_guid() 2020-10-17 11:08:02 +02:00
mintsuki 47d517bec8 Use URIs instead of explicit drive and partition keys in config file 2020-10-17 06:23:11 +02:00
mintsuki 0c5ccf14b4 Remove eccessive memmap dumps and add stivale and stivale2 module loading feedback messages 2020-10-16 16:04:30 +02:00
mintsuki de0f0da1c6 Move A20 handler out of bootsector and into stage 2 2020-10-15 11:35:49 +02:00
mintsuki 2aed131364 Move cpuid() to cpu.h 2020-10-12 21:49:17 +02:00
mintsuki 513d0a2279 Extend x2APIC check as per VT-d specification 2020-10-12 21:20:58 +02:00
mintsuki c913a7ccf4 Fix up some inline assembly in sys/cpu.h 2020-10-01 20:05:41 +02:00
mintsuki d9e40a7dff Move kernel file code where it belongs 2020-10-01 02:12:13 +02:00
mintsuki 2a084c4756 vbe: Properly handle a value of 0 for THEME_MARGIN_GRADIENT 2020-10-01 01:31:18 +02:00
Matteo Semenzato 7f5fcad288 Fix wrong sizeof in the ext4 bgd branch 2020-09-30 23:51:41 +02:00
mintsuki 3c562830d2 pmm: Merge contiguous bootloader reclaimable entries 2020-09-30 22:51:56 +02:00
mintsuki 1ea09891bc VBE: Add margin gradient 2020-09-30 17:29:07 +02:00
Matteo Semenzato 605879e860 Split ext2 and ext4 bgd 2020-09-29 22:43:14 +02:00
mintsuki 2f7d3c378d Default back to text mode instead of VBE, add DEFAULT_ENTRY config option 2020-09-29 21:48:34 +02:00
mintsuki 562e3c7c88 menu: Do not ignore key pressed during countdown 2020-09-28 22:39:28 +02:00
mintsuki fed6645044 MTRR: Add cpuid mtrr feature check 2020-09-28 01:30:12 +02:00
mintsuki f49fad138c MTRR: Fix bug where 2 ANDs should have been ORs 2020-09-27 19:17:36 +02:00
mintsuki 98c5b88f5e MTRR: Ensure size of MTRR range is aligned to the closest power of 2 2020-09-27 19:14:09 +02:00
mintsuki 86a69d8724 Add write-combining and MTRR support to speed up VBE framebuffer 2020-09-27 17:39:30 +02:00
mintsuki e886a6fa76 stivale2: Finish implementing x2APIC support 2020-09-27 01:32:47 +02:00
mintsuki b830c71d90 VBE: Pass struct char around by pointer instead of by value 2020-09-27 00:06:07 +02:00
mintsuki 3c3a132e88 Some VBE optimisations 2020-09-26 19:49:09 +02:00
mintsuki b733ef25ef Fix stivale2 SMP tag issue 2020-09-26 17:12:52 +02:00
mintsuki a58fd6bd3c Fix stivale2 SMP tag issue 2020-09-26 17:03:51 +02:00
mintsuki 0dc73b3529 Fix conv_mem_alloc bug introduced by e721c3c 2020-09-26 15:41:37 +02:00
mintsuki 11240b59a5 Fix potential memmap circular dependency issue 2020-09-26 15:06:59 +02:00
mintsuki 0403a29f76 Refactor VBE code 2020-09-26 03:56:44 +02:00
mintsuki 5457af4202 Minor fixes to Linux and Chainloading protocols 2020-09-26 00:28:36 +02:00
VAN BOSSUYT Nicolas 134266da63 Fix performance issues introduced by #33 in the vbe code. 2020-09-26 00:04:56 +02:00
mintsuki b41fa7e204 Fix bugs related to handling real mode switch in inline assembly sections; reenable LTO as that fixes it 2020-09-25 22:57:57 +02:00
mintsuki c657e86cc8 Move stack to 0x7c00 2020-09-25 22:42:01 +02:00
mintsuki ed5d049c72 Fix issue with int 13h DAP potentially not fitting within a single real mode segment; load stage 2 at 0x8000 and disable LTO as it is broken for some unknown reasons now 2020-09-25 22:36:26 +02:00
VAN BOSSUYT Nicolas 4f6b1d20c2 Made the margin configurable. 2020-09-24 23:18:51 +02:00
VAN BOSSUYT Nicolas d6f162972c Added alpha support. 2020-09-24 23:09:29 +02:00
VAN BOSSUYT Nicolas 0477d34236 The color scheme can be changed using the configuration file. 2020-09-24 21:48:49 +02:00
mintsuki 0d7754b377 Update limine.bin 2020-09-23 17:15:06 +02:00
mintsuki ed5c214c5e Make graphical background a frame around a centered terminal box 2020-09-22 00:45:26 +02:00
mintsuki 7aa9d845e7 Complete background infrastructure and fix some bmp bugs 2020-09-22 00:18:13 +02:00
mintsuki 41e03713a3 Fix vmm warnings 2020-09-21 13:41:31 +02:00
mintsuki be3d60ec8d Fix warnings and build issues and update binary image 2020-09-21 13:39:02 +02:00
mintsuki e721c3c814 Reorganise pmm code 2020-09-20 12:03:44 +02:00
mintsuki f59a3d67d6 Change how smp works a little 2020-09-20 10:28:39 +02:00
mintsuki 6c0ba4104f Default to graphical mode for the menu 2020-09-19 15:43:59 +02:00
mintsuki d3bd628243 Make extended memory allocator allocate top down and mark the allocated areas as bootloader reclaimable 2020-09-19 15:29:19 +02:00
mintsuki 4927abcfaf Adjust stivale2 SMP spec a little to add an extra argument to the smp_info struct 2020-09-19 00:50:16 +02:00
mintsuki c3c3c5dd6f Fix broken struct stivale2_struct_tag_smp definition 2020-09-19 00:29:18 +02:00
mintsuki 10ce8e07bf Do not align allocations in init_smp 2020-09-19 00:21:54 +02:00
mintsuki 132ff2fdbe Fix bug where identifier is not set for SMP tag 2020-09-19 00:15:31 +02:00
mintsuki 6591a9c32f Fix some warnings in the decompressor and do not use special symbol main() for entry points 2020-09-18 22:15:27 +02:00
mintsuki 73fa01d1d0 smp: Fix bug where started APs would not be aware of 5-level paging 2020-09-18 20:21:16 +02:00
mintsuki c2bf4835ef Add sys/ directory to stage2 2020-09-18 20:02:10 +02:00