Commit Graph

  • cfecf4f1d4 Add rdmsr/wrmsr to io.cpp Justin C. Miller 2018-04-29 13:24:02 -07:00
  • b3e49590a7 Add logging framework v0.1.2 Justin C. Miller 2018-04-28 19:18:53 -07:00
  • 358837ed69 Implement first-pass simple virtual memory manager Justin C. Miller 2018-04-28 02:17:17 -07:00
  • 2a353830c2 Update notes Justin C. Miller 2018-04-27 22:25:29 -07:00
  • 14f51436d7 Load ELF file with bootloader instead of flat binary Justin C. Miller 2018-04-28 02:12:08 -07:00
  • 57e5465c2d Add -fno-exceptions and QEMU logging to Makefile Justin C. Miller 2018-04-27 22:20:46 -07:00
  • d9619e65a2 Fix indirection bug with marked offset pointer mapping Justin C. Miller 2018-04-26 17:27:55 -07:00
  • 9754994e0c Standardize types used in memory_pages Justin C. Miller 2018-04-26 16:47:51 -07:00
  • 34c894b15d Enable allocation and mapping of pages Justin C. Miller 2018-04-26 11:10:32 -07:00
  • a2665d9247 Fix printf bug in page_block::dump Justin C. Miller 2018-04-26 11:09:34 -07:00
  • 1e3ae67646 Add -no-reboot to QEMUOPTS Justin C. Miller 2018-04-26 11:07:58 -07:00
  • 25b9625635 paging finally works Justin C. Miller 2018-04-25 19:53:22 -07:00
  • 2404b22c1f support widths in printf Justin C. Miller 2018-04-25 19:52:27 -07:00
  • bed882f41c Enable paging WIP Justin C. Miller 2018-04-25 10:48:14 -07:00
  • fd9e0944cb Add rudimentary printf to console Justin C. Miller 2018-04-25 10:43:17 -07:00
  • 7e462319c9 Fix inconsistenly-named frame_buffer_size Justin C. Miller 2018-04-24 08:36:21 -07:00
  • 94de87ef86 Refactor screen ouput from main console code Justin C. Miller 2018-04-24 09:32:57 -07:00
  • eb13f1f4fb Fix missing return Justin C. Miller 2018-04-24 08:54:38 -07:00
  • 0a6c39ded4 Remove -ggdb from LDFLAGS Justin C. Miller 2018-04-23 20:37:15 -07:00
  • ff1aac64c1 Use our own stack space, not efi's. Justin C. Miller 2018-04-23 10:22:43 -07:00
  • ef24894211 Add stupid first serial output Justin C. Miller 2018-04-23 10:22:02 -07:00
  • 1113164505 Join page_block insert methods into one Justin C. Miller 2018-04-22 23:27:15 -07:00
  • 1de73de2e3 Move page table allocation to top 256GiB. Justin C. Miller 2018-04-22 21:52:59 -07:00
  • 571cc5a1da Add mmu logging to qemu.bat Justin C. Miller 2018-04-22 21:50:35 -07:00
  • 8cb0803605 Make page_manager::unmap_pages() handle multiple blocks Justin C. Miller 2018-04-22 13:37:44 -07:00
  • 95d52b87f4 Initialize page_manager. Justin C. Miller 2018-04-22 02:48:45 -07:00
  • 07fd3abe2c Move page size and higher half offset to constants Justin C. Miller 2018-04-21 20:58:58 -07:00
  • 5dedd2e0e0 Finish memory bootstrap sequence. Justin C. Miller 2018-04-21 19:32:39 -07:00
  • 57abb03deb Rearrange memory manager into two classes. Justin C. Miller 2018-04-21 17:34:33 -07:00
  • 4a38a74b16 Refactor memory code. Justin C. Miller 2018-04-21 16:49:39 -07:00
  • 9a45ea562b Updating notes v0.1.1 Justin C. Miller 2018-04-21 02:53:18 -07:00
  • da404f520d Rearrange memory bootstrapping code. Justin C. Miller 2018-04-21 02:50:13 -07:00
  • 799ad8b264 Add operator| to enum_bitfields Justin C. Miller 2018-04-21 02:47:37 -07:00
  • 818b51d57c Make qemu.bat log to popcorn.log Justin C. Miller 2018-04-21 02:45:33 -07:00
  • e8866abc7a Bootstrap in-kernel memory management Justin C. Miller 2018-04-20 02:15:56 -07:00
  • 3b560c063a Move kernel to higher half. Justin C. Miller 2018-04-19 01:34:30 -07:00
  • a27b8d6a3a Add/move code into kutil library Justin C. Miller 2018-04-17 23:41:28 -07:00
  • 2050b89334 Move src/modules/main -> src/kernel Justin C. Miller 2018-04-17 09:44:40 -07:00
  • 504de44ff3 Make APIC addresses uint32_t* Justin C. Miller 2018-04-17 09:18:09 -07:00
  • 71a6f13fa5 Make interrupt_isrs.inc the one source of ISRs Justin C. Miller 2018-04-17 01:39:21 -07:00
  • f62fbefe54 Parse APIC addresses out of ACPI tables. Justin C. Miller 2018-04-16 23:56:03 -07:00
  • 6c29024eac Remove broken console QEMU bat file. Justin C. Miller 2018-04-16 01:17:11 -07:00
  • b7f18c0d31 Parse the ACPI XSDT and find ACPI tables. Justin C. Miller 2018-04-16 01:15:42 -07:00
  • 696c29086b Clean up isr references in main.cpp Justin C. Miller 2018-04-15 18:44:47 -07:00
  • bce281606e Finish ISR code for CPU faults (ISRs 0-31) Justin C. Miller 2018-04-15 18:40:21 -07:00
  • 2388a92085 Add initial IDT and GDT setup. Justin C. Miller 2018-04-15 09:14:53 -07:00
  • 447991e82b Add comment to assert Justin C. Miller 2018-04-15 09:14:02 -07:00
  • a8984350da Add new kassert macro. Justin C. Miller 2018-04-14 18:33:48 -07:00
  • 4d5da72e2e Add parse_memmap.py script Justin C. Miller 2018-04-13 23:54:34 -07:00
  • 712df97dfc Add a better boot message with version v0.1.0 Justin C. Miller 2018-04-12 09:03:53 -07:00
  • 656d5dfedf Save tool scripts like parse_font.py in a scripts dir Justin C. Miller 2018-04-12 09:02:56 -07:00
  • 1f396ced8e Make console support 256 color mode Justin C. Miller 2018-04-12 00:19:43 -07:00
  • 7f805fae1a Fix only allocating one page for log Justin C. Miller 2018-04-11 10:14:13 -07:00
  • 2d52f64eb6 Implement scrolling console Justin C. Miller 2018-04-10 02:15:41 -07:00
  • 067ff3af89 fix tab/spaces Justin C. Miller 2018-04-10 01:03:52 -07:00
  • eaa9d2ba53 Move screen and font to proper classes Justin C. Miller 2018-04-09 13:56:14 -07:00
  • 77cc1fe757 Move main module to c++ Justin C. Miller 2018-04-08 12:44:09 -07:00
  • 58729b412a Add inital console font rendering Justin C. Miller 2018-04-04 11:58:02 -07:00
  • 8914106bee Add PSF font header definition Justin C. Miller 2018-04-02 10:20:56 -07:00
  • 4577c2d10c Add the beginning of support for kernel graphics to bootloader. Justin C. Miller 2018-04-01 22:48:46 -07:00
  • 23365b39c7 Move all guid instances into .rodata in our own list. Justin C. Miller 2018-04-01 16:16:19 -07:00
  • 913fb202eb Clean up lots of debug output I no longer use. Justin C. Miller 2018-04-01 15:41:32 -07:00
  • 967018c3ac Fix con_printf not returing anything. Justin C. Miller 2018-04-01 15:37:26 -07:00
  • cbb6ca5bd1 Fix printing on video console Justin C. Miller 2018-04-01 14:19:17 -07:00
  • 7b4388af5c Add guids CSV Justin C. Miller 2018-03-31 17:33:31 -07:00
  • 165ed28cd3 Reduce dependency on efi library functions Justin C. Miller 2018-03-31 17:32:10 -07:00
  • a09a25d3e6 Ignore .gdbinit Justin C. Miller 2018-03-31 17:29:50 -07:00
  • 7ce2898b6e Test for incoming data pointer in kernel_main Justin C. Miller 2018-03-29 09:49:38 -07:00
  • cc01f9d260 Actually pass data pages to kernel Justin C. Miller 2018-03-27 14:50:28 -07:00
  • fd32af4905 Make memory functions operate on structure type Justin C. Miller 2018-03-27 14:47:21 -07:00
  • 2b9a0ca15e Create a kernel data area for passing information Justin C. Miller 2018-03-27 10:40:38 -07:00
  • 561686abd3 Update gnu-efi Justin C. Miller 2018-03-26 10:21:34 -07:00
  • fd5780610b Format using clang-format Justin C. Miller 2018-03-25 14:06:25 -07:00
  • 64a6d88e5c Truly enable virtual memory. Justin C. Miller 2018-03-25 13:51:32 -07:00
  • 417f080993 Improve QEMU debugging setup Justin C. Miller 2018-03-25 13:45:52 -07:00
  • df93eeb708 OVMF upgrade Justin C. Miller 2018-03-25 03:07:23 -07:00
  • e19c7cee50 Give kernel image a header. Justin C. Miller 2018-03-24 18:34:44 -07:00
  • d438392ed5 Formatting fixes and removed commented code only. Justin C. Miller 2018-03-23 09:04:51 -07:00
  • cdef82f06f Virtualizing memory after exiting boot services Justin C. Miller 2018-03-22 19:16:44 -07:00
  • b5c579fe0d Debugging helper changes Justin C. Miller 2018-03-22 18:37:18 -07:00
  • 47ebdc7f41 Prematurely jumping into kernel_main Justin C. Miller 2018-03-19 17:04:35 -07:00
  • e4bd24bfe3 Make a copy of the pflash image. Justin C. Miller 2018-03-18 18:41:53 -07:00
  • 72e143b93c Bootloader loading kernel, not yet jumping to it Justin C. Miller 2018-03-18 16:41:11 -07:00
  • 0e3fa1c3cf Make QEMU batch files call make Justin C. Miller 2017-07-26 01:43:25 -07:00
  • d02e1d97d9 Splitting out UEFI bootloader code from kernel Justin C. Miller 2017-07-26 01:41:46 -07:00
  • 9ae583b1ec Fix up using con_status* calls. Justin C. Miller 2017-07-14 09:25:23 -07:00
  • e196d13334 Add debug_guest option to qemu. Justin C. Miller 2017-07-14 09:22:34 -07:00
  • 7bd6225164 Updated to allow running in VSCode Justin C. Miller 2017-02-20 23:34:39 -08:00
  • e6dcdda6b9 Added memory.c Justin C. Miller 2017-02-20 22:12:11 -08:00
  • d083b2fcb7 Batch files for windows development with WSL building Justin C. Miller 2017-02-20 12:18:00 -08:00
  • e856bae683 Fixing the deps in the Makefile Justin C. Miller 2017-01-16 16:51:41 -08:00
  • 29922e3546 Moved graphics.c into console.h, with boot message framework Justin C. Miller 2017-01-16 16:42:11 -08:00
  • 0260abecab Breaking gfx mode code out into graphics.c Justin C. Miller 2017-01-03 08:21:11 -08:00
  • eeaf27bbdf Moved check_status to a header file and properly case/named it Justin C. Miller 2017-01-03 08:14:16 -08:00
  • 2397618a68 Wasn't using this linker script anymore - using GNU-EFI's instead. Justin C. Miller 2017-01-03 08:09:11 -08:00
  • dba1ca186d Discover and set the best video mode supported by the UEFI graphics driver Justin C. Miller 2017-01-03 08:03:07 -08:00
  • e87609ac6d Adding README Justin C. Miller 2017-01-02 13:44:42 -08:00
  • 89c2c70c28 Initial commit - UEFI application building Justin C. Miller 2017-01-02 13:40:42 -08:00