Commit Graph

140 Commits

Author SHA1 Message Date
mintsuki 2a276dc2d2 Make 16 bit GDT entry limits 0xffff 2020-05-06 19:42:28 +02:00
mintsuki 40a63ecb88 Initial chainloading support 2020-05-06 17:00:41 +02:00
mintsuki 389b687985 Change how config works a bit 2020-05-06 16:38:45 +02:00
mintsuki 23ba6bdb6c Fix type mismatch issue in ext2fs driver 2020-05-05 16:52:20 +02:00
mintsuki 00e313d0d7 Add 5-level paging support 2020-05-03 22:37:24 +02:00
mintsuki cffdc2f0cf Add checks for get_part errors 2020-05-03 18:11:18 +02:00
mintsuki 62d78d1f90 Add out of memory checks 2020-05-02 23:38:57 +02:00
KrekBuk 3084b81fa8 FAT32: improve non-fragmented files read times
fat32_read now looks for non-fragmented chains to load large files in single read_partition call which should improve performance for reading larger files.
2020-05-02 16:00:52 +02:00
KrekBuk b842720a70 FAT32: support directory entries larger than 1 sector
There was already a support for partitions with bigger cluster sizes but there was also a bug where the directory loading code would only look  at the first sector of each cluster and could incorrectly report some files as non-existing.
2020-05-02 15:47:29 +02:00
KrekBuk af1b908d77 FAT32 support 2020-05-01 17:19:29 +02:00
mintsuki e3dbdad6c8 Align disk buffer to 16 for perf reasons 2020-05-01 02:30:03 +02:00
mintsuki 2ec27cbeee Dynamically allocate e820 2020-04-30 23:59:14 +02:00
mintsuki 96f8c65f01 Fix bug where eax was trashed in pit_sleep_and_wait_for_keypress() 2020-04-30 23:29:20 +02:00
mintsuki 8db7cdcbd1 Add time stuff 2020-04-30 21:19:12 +02:00
mintsuki 6ad7df109b Add long mode checks 2020-04-30 13:03:04 +02:00
mintsuki 8e7ce7a105 Dehook int 0x08 when unused 2020-04-29 17:16:11 +02:00
mintsuki f8c0b317aa Resolve most GCC warnings 2020-04-29 16:53:05 +02:00
mintsuki 09683cc5de Hook bios interrupt 0x08 instead of 0x1c for PIT ticks 2020-04-25 22:11:55 +02:00
mintsuki 2fd36507a1 Rewrite pit_sleep_and_quit_on_keypress() to be fully in real mode to avoid issues with switching back and forth 2020-04-25 20:33:26 +02:00
mintsuki 8ef1e28e9d Misc bug fixes and sanity checks 2020-04-24 18:26:08 +02:00
mintsuki 2c3bd46854 Fix bug where config file values with a colon were interpreted as entries (3) 2020-04-24 17:36:37 +02:00
mintsuki 2b6cf6296c Fix bug where config file values with a colon were interpreted as entries (2) 2020-04-24 17:28:19 +02:00
mintsuki 7904025c9b Fix bug where config file values with a colon were interpreted as entries 2020-04-24 17:02:53 +02:00
mintsuki ebae7c91b7 Change default optimisation level to -Os and update binary image 2020-04-24 15:24:37 +02:00
mintsuki b479d69c29 Make VGA textmode deinit reset video mode with BIOS 2020-04-24 15:22:46 +02:00
mintsuki 5e9adf3542 Make libc functions more standard compliant 2020-04-24 14:48:14 +02:00
mintsuki ee38f8b4c9 Improve ext2 inode reading 2020-04-24 14:16:48 +02:00
mintsuki 8be6ea8a3d Fix ext2fs bug 2020-04-23 22:23:38 +02:00
mintsuki 2fc3b21295 Use int 0x16 for pit_sleep_and_quit_on_keypress() 2020-04-23 12:56:15 +02:00
mintsuki 633d49b720 Fix issue where cmdline is not loaded 2020-04-22 17:47:25 +02:00
mintsuki bc7f7277cc Reorganise ext2 directory code 2020-04-22 15:48:14 +02:00
mintsuki d7c6aa5a9e Fix ext2 bug 2020-04-22 15:24:27 +02:00
Shreyas Lad b1c305abc5
Added ext2 subdirectory support (#6)
* updated ext2-test rule

* added strtok

* added ext2 subdirectory support

* reverted partition numbers

* simplified parsing

* reworked parsing logic

* reverted qloader2.cfg
2020-04-21 22:03:27 +02:00
mintsuki 15c18d7642 Add boot menu 2020-04-21 18:27:05 +02:00
mintsuki 725a1fc186 Add parsing of config entries 2020-04-21 16:23:30 +02:00
mintsuki 41ea91c694 echfs: Add directory support 2020-04-21 10:18:21 +02:00
mintsuki 9fa35d34be Implement deinit for VGA textmode driver 2020-04-19 13:20:26 +02:00
mintsuki 9beda4afed Initial linux protocol support 2020-04-19 10:14:49 +02:00
mintsuki 9358a4febc Optimise echfs file loading by caching allocation map 2020-04-19 00:58:33 +02:00
mintsuki 5f859ea7d1 Add 32 bit stivale support 2020-04-18 18:01:29 +02:00
mintsuki 7ae6781282 Handle if EDID returns resolution of 0 and update binary image 2020-04-16 14:53:33 +02:00
mintsuki 0a3f00f6e2 Fix ext2 driver 2020-04-16 14:41:28 +02:00
mintsuki bb19074e2b Fix ext2 driver 2020-04-15 22:34:09 +02:00
mintsuki 5d0c6d924a Improve ext2 driver a bit 2020-04-15 20:15:38 +02:00
mintsuki 8680f99eaa Add GPT support 2020-04-15 13:21:44 +02:00
mintsuki 98086e3829 Add option to change where stage 2 is located 2020-04-15 10:14:58 +02:00
Shreyas Lad 609f9d86de
EXT2 and VFS support (#5)
* initial header file

* finished inode structure

* finished inode permissions

* updated makefile

* working ext2fs build

* found superblock

* bgdt is ded

* parsed bgdt

* directory entry structure

* parsed inodes

* parsed root inode

* found directory entries

* added ext2 support

* fs abstraction support

* cached size in FILE

* hm

* removed debug statements

* added  to is_ext2() args

* fixed read errors

* comply with standards

* fixed things

* more fixes

* more makefile fixes

* even more fixes
2020-04-15 08:48:35 +02:00
mintsuki 5471121141 Update binary image 2020-04-14 06:36:43 +02:00
mintsuki d2c4773c6d Add file handle abstractions 2020-04-14 05:20:55 +02:00
mintsuki 680d683cd0 Remove echfs caching due to memory constraints 2020-04-14 04:41:55 +02:00
mintsuki f4522ba516 Add panics on failed allocations 2020-04-13 08:21:25 +02:00
mintsuki 3a4ec45eec Fixed EDID bug 2020-04-10 18:21:14 +02:00
mintsuki 2ecd4a8016 Make stivale actually pass the command line to the kernel 2020-03-31 10:48:24 +02:00
mintsuki 6578b55c9f Add module support to stivale 2020-03-30 22:27:15 +02:00
mintsuki babc5269eb Make config more encapsulated 2020-03-30 21:24:36 +02:00
mintsuki 84ac96435e Add bump allocator 2020-03-28 04:02:26 +01:00
mintsuki 44a5f47516 Add timeout config option 2020-03-28 02:52:59 +01:00
mintsuki a234da8deb Add bpp field to stivale header 2020-03-27 05:58:37 +01:00
mintsuki e39d7f5dd1 Ensure bpp of video mode is 32 bit 2020-03-27 05:43:34 +01:00
mintsuki f993a23025 Fix overlapping memory bug and sizeof cmdline bug 2020-03-27 05:08:20 +01:00
mintsuki 573b3308e1 Add KERNEL_DRIVE default value 2020-03-27 03:45:36 +01:00
mintsuki 1cbd6fb2e9 Plug in e820 driver 2020-03-27 02:10:22 +01:00
mintsuki f537f64b89 Add e820 driver 2020-03-27 01:59:11 +01:00
mintsuki c0129c4d8c Fix pagemap bug 2020-03-26 04:06:23 +01:00
mintsuki 1166de64c8 Add initial VBE driver 2020-03-26 03:13:19 +01:00
mintsuki 26bccc6308 Add RSDP detection to stivale 2020-03-26 01:37:56 +01:00
mintsuki 0040b97fd1 Working on stivale 2020-03-26 00:46:35 +01:00
Matteo Semenzato 80ad7466fd Fix section loading function 2020-03-26 00:00:34 +01:00
Matteo Semenzato ee8e1b330e Add function to load elf sections by name 2020-03-25 23:24:57 +01:00
mintsuki 8494b1d880 Add protos abstraction and stivale and qword protocols 2020-03-25 21:05:14 +01:00
mintsuki c66d052afc Map 4GiB of phys memory at 0xffff800000000000 2020-03-25 19:16:49 +01:00
mintsuki 1b80c8ca90 Misc stuff 2020-03-25 05:19:07 +01:00
mintsuki f762a0c7a3 elf: Remove stupid code 2020-03-25 05:05:06 +01:00
mintsuki 85709a0fbe elf: Add support for higher half kernels 2020-03-25 04:38:23 +01:00
mintsuki d95a8403cc Use elf64 2020-03-25 01:31:59 +01:00
mintsuki 1a48bec601 Add elf parser 2020-03-25 01:04:18 +01:00
mintsuki 225a7c238d echfs: Add open and read functions 2020-03-15 00:12:09 +01:00
mintsuki ab5b09e237 Add editing capabilities to gets 2020-01-25 04:49:11 +01:00
mintsuki a9b31d6bfd Add command line editor 2020-01-25 03:06:56 +01:00
mintsuki 2f4311b2c0 Disable interrupts before jumping to kernel 2020-01-25 02:11:44 +01:00
mintsuki cddacc280a Add IDT and PIT driver 2020-01-25 02:05:19 +01:00
mintsuki 9b5c159d1f Improve disk driver 2020-01-23 01:48:35 +01:00
mintsuki 42325aed4a Add config file parsing 2020-01-22 07:13:19 +01:00
mintsuki 48ce450aa1 Fix gets bug 2020-01-22 05:20:11 +01:00
mintsuki 5082a450a0 Clean up more and add getchar and gets 2020-01-22 05:02:12 +01:00
mintsuki fdfc83abfb Clean bootsect code up 2020-01-22 04:12:55 +01:00
mintsuki 54074f2a97 Bug fixes in echfs driver, add 64 bit integer print formats 2020-01-22 03:11:26 +01:00
streaksu 85d6152025 Further work in echfs and partition management 2020-01-22 01:55:40 +01:00
mintsuki 9339c093fe Fix libgcc linkage issue 2020-01-22 00:56:20 +01:00
mintsuki f7b0f240d3 Add make toolchain script and reorganise source tree 2020-01-21 23:45:13 +01:00