Commit Graph

  • a10aca573d [kernel] Change to one-shot timer scheduler Justin C. Miller 2020-06-03 20:56:59 -07:00
  • ea1224e213 [kernel] Fix scheduler clock bug Justin C. Miller 2020-06-02 23:46:03 -07:00
  • 64ad65fa1b [kernel] Fix logger task's bip buffer Justin C. Miller 2020-06-02 20:30:07 -07:00
  • b881b2639d [kernel] Remove last of old allocator interface Justin C. Miller 2020-06-01 23:40:19 -07:00
  • a5f72edf82 [kernel] Add in_hv cpu "feature" flag Justin C. Miller 2020-06-01 23:33:30 -07:00
  • ea2a3e6f16 [kutil] Remove ctor workaround in slab_allocated Justin C. Miller 2020-06-01 00:36:34 -07:00
  • 2125f043b6 [kernel] Remove global constructor test class Justin C. Miller 2020-06-01 00:32:43 -07:00
  • 655b5c88d4 [kernel] Remove obsolete 1MiB offset Justin C. Miller 2020-06-01 00:01:07 -07:00
  • 88b090fe94 [kernel] Run global constructors Justin C. Miller 2020-05-31 23:58:01 -07:00
  • c6c3a556b3 [kernel] Remove explicit allocator passing Justin C. Miller 2020-05-31 18:22:23 -07:00
  • 67b5f33d46 [general] Remove the last bits of gnu-efi v0.4.0 Justin C. Miller 2020-05-29 00:24:24 -07:00
  • b675dfd014 [boot] Fix header include path for uefi headers Justin C. Miller 2020-05-29 00:21:42 -07:00
  • fc2b884af9 [build] Copy uefi headers into project Justin C. Miller 2020-05-25 02:40:51 -07:00
  • cbd19fa070 [kernel] Don't use deferred logging for now Justin C. Miller 2020-05-24 22:11:54 -07:00
  • 83b330bf2b [kernel] Use constants for known pml4e indices Justin C. Miller 2020-05-24 22:06:24 -07:00
  • cc9cde9bfe [tooling] Remove old GDB workarounds Justin C. Miller 2020-05-24 19:50:45 -07:00
  • 774f6fc334 [kutil] Don't use delete on non-new pointers Justin C. Miller 2020-05-24 19:48:03 -07:00
  • bfd13e7a9b [kernel] Re-enable most of kernel_main Justin C. Miller 2020-05-24 17:58:45 -07:00
  • 35b1d37df0 [memory] Rework memory_initialize for new loader Justin C. Miller 2020-05-24 16:27:48 -07:00
  • fc3d919f25 [kernel] Fix initial kernel_main triple-fault Justin C. Miller 2020-05-23 12:40:47 -07:00
  • 75641a4394 [boot] Add explicit memory map pointer to args Justin C. Miller 2020-05-23 12:37:39 -07:00
  • ce0bcbd3b6 [boot] Set up CR4 in bootloader Justin C. Miller 2020-05-23 12:35:59 -07:00
  • 3194b460cc [memory] Update kernel_memory to current layout Justin C. Miller 2020-05-23 12:33:28 -07:00
  • e1d148a34d [boot] Fix a bug with address-index translation Justin C. Miller 2020-05-22 00:32:04 -07:00
  • b491a09686 [boot] Virtualize memory in the bootloader Justin C. Miller 2020-05-21 23:49:49 -07:00
  • 6a538ad4f3 [boot] Fix several errors getting to kernel Justin C. Miller 2020-05-21 23:00:32 -07:00
  • 6ccc172f33 [boot] Centralize where to hlt on error Justin C. Miller 2020-05-21 22:41:33 -07:00
  • 66ca3a3f9b [boot] Consolidate mapping code into iterator obj Justin C. Miller 2020-05-20 01:02:15 -07:00
  • 4f4a35a7be [boot] Set up initial page tables Justin C. Miller 2020-05-17 22:03:44 -07:00
  • c9722a07f3 [boot] Provide memset implementation Justin C. Miller 2020-05-17 22:00:50 -07:00
  • 42dfa6ccfe [boot] Only allocate memory map once Justin C. Miller 2020-05-16 18:48:28 -07:00
  • 2adef874ee [boot] Make sure the kernel entrypoint abi is sysv Justin C. Miller 2020-05-16 18:44:35 -07:00
  • a6e4995963 [boot] Fix call to exit_boot_services Justin C. Miller 2020-05-13 02:08:47 -07:00
  • 2bd91c2d94 [boot] Split get_uefi_mappings and module creation Justin C. Miller 2020-05-10 16:43:18 -07:00
  • c713f4ff6f [boot] Build the kernel mem map from the UEFI one Justin C. Miller 2020-05-10 16:26:17 -07:00
  • 21b0b08908 [general] Add a git commit template Justin C. Miller 2020-05-10 11:19:33 -07:00
  • 88ace0a99f Fix a bug in print_long_hex() Justin C. Miller 2020-05-10 02:31:53 -07:00
  • 10c8f6e4b5 Clean and document header files. Justin C. Miller 2020-05-10 01:42:22 -07:00
  • 9aa749e877 Parse ELF and load kernel, specify mem types Justin C. Miller 2020-05-09 21:25:45 -07:00
  • f78a99927a [boot] Add initial stubs for loading kernel ELF Justin C. Miller 2020-05-02 23:58:41 -07:00
  • ec794f4f99 Move module loading in main into helper function Justin C. Miller 2020-03-02 19:43:44 -08:00
  • 884182217c Fix file loading size bug Justin C. Miller 2020-03-02 19:31:40 -08:00
  • d94907ae79 Loading files Justin C. Miller 2020-02-25 22:22:12 -08:00
  • 4accfd136e Add file functionality in fs.cpp Justin C. Miller 2020-02-24 02:19:06 -08:00
  • 1a223d6ef5 Move args structure allocation to a function in memory.cpp Justin C. Miller 2020-02-24 02:18:14 -08:00
  • 36b3ad8154 Add an optional context string for status line messges Justin C. Miller 2020-02-24 02:15:45 -08:00
  • 460973954e Remove utility.* Justin C. Miller 2020-02-23 18:32:10 -08:00
  • 303a78065e Move find_acpi_table to new hardware.cpp Justin C. Miller 2020-02-23 18:28:20 -08:00
  • 93f0b70eba Move to RAII-style status_line objects for console status Justin C. Miller 2020-02-23 17:55:53 -08:00
  • 6f5a2a3d3f Update kernel args to be module-based Justin C. Miller 2020-02-23 00:07:50 -08:00
  • ec563ea8e4 Allow multiple calls to console::status_* functions Justin C. Miller 2020-02-22 17:52:51 -08:00
  • 570638bba6 Don't require system_table in console Justin C. Miller 2020-02-22 15:45:54 -08:00
  • f627ea7de0 Re-add functionality to boot with new UEFI headers Justin C. Miller 2020-02-22 14:57:28 -08:00
  • 521c132801 Back to a basic UEFI stub Justin C. Miller 2020-02-22 01:54:00 -08:00
  • bc5115b9ea Removed old UEFI headers Justin C. Miller 2020-02-22 01:52:49 -08:00
  • dd73cf833f Change initrd 'executable' bool to type enum. vdso Justin C. Miller 2019-10-10 23:09:40 -07:00
  • 71fe3d733b Add the VDSO to the initrd Justin C. Miller 2019-10-10 00:14:46 -07:00
  • 991b13424e Initial building of the vdso. Justin C. Miller 2019-10-09 22:28:56 -07:00
  • 6963304c01 Changing jsix license Justin C. Miller 2019-10-06 01:37:46 -07:00
  • ae651a4fcd Move cpptoml.h to external directory Justin C. Miller 2019-10-06 00:46:30 -07:00
  • 17c2fe6e4e Add debig-exit device to qemu.sh for future tests Justin C. Miller 2019-10-06 00:29:10 -07:00
  • f066ac3ffd Move catch.hpp to external directory Justin C. Miller 2019-10-06 00:01:27 -07:00
  • edcf633e84 Remove cargo-culted znocombreloc ld flag Justin C. Miller 2019-08-10 13:49:57 -07:00
  • d09a454b8b Normalize bootloader's con_debug line endings Justin C. Miller 2019-07-21 22:29:19 -07:00
  • d6329ea9bf Update to bonnibel 2.1 Justin C. Miller 2019-07-21 21:06:56 -07:00
  • 83897048ab Update for bonnibel 2.0 Justin C. Miller 2019-07-20 23:19:21 -07:00
  • 7cc59770b8 Update libc for new sysall values via peru Justin C. Miller 2019-07-07 10:07:00 -07:00
  • b056d95920 Organize system calls Justin C. Miller 2019-07-05 22:27:16 -07:00
  • 19cd01ef8d Add initial pass of syscall API kobjects Justin C. Miller 2019-06-30 19:36:46 -07:00
  • b3f88bbe02 Further refine sysroot. Justin C. Miller 2019-07-07 09:52:06 -07:00
  • f57f38edbd Remove old ident_page_flags Justin C. Miller 2019-07-05 20:52:04 -07:00
  • 12377ae730 Ignore .peru Justin C. Miller 2019-07-05 17:29:56 -07:00
  • bb93dcef44 Remove sysroot binutils dependency Justin C. Miller 2019-07-05 17:26:24 -07:00
  • 678a12dc90 Ignore .gdb_history Justin C. Miller 2019-07-04 17:43:42 -07:00
  • c3dacb2906 Fix mis-flagged page table entries Justin C. Miller 2019-07-04 17:43:08 -07:00
  • 3a68ec439d Add CPU feature checking. Justin C. Miller 2019-07-04 16:41:25 -07:00
  • 7ce418aabc Fix KVM page faults from lack of 1GB page support Justin C. Miller 2019-07-04 02:51:50 -07:00
  • 8ee5091f41 update gitignore Justin C. Miller 2019-07-03 21:55:23 -07:00
  • 6285517ef7 Rename Popcorn to jsix. Justin C. Miller 2019-05-27 12:48:10 -07:00
  • 2b0cd6f2f2 Make qemu.sh work with i3 as well Justin C. Miller 2019-05-26 10:33:45 -07:00
  • a653c55941 Use 0 instead of syscall_invalid in syscall jump list Justin C. Miller 2019-05-18 18:11:08 -07:00
  • ce035d2a43 Finish address_manager to vm_space transition Justin C. Miller 2019-05-18 18:06:57 -07:00
  • 2d54eb5143 Add vmem log area Justin C. Miller 2019-05-11 11:32:22 -07:00
  • b9c8edb657 Allow clang to colorize output in ninja Justin C. Miller 2019-04-18 00:28:23 -07:00
  • 88315c25a5 Allow vm_space to merge ranges Justin C. Miller 2019-04-18 00:22:01 -07:00
  • 806bfd1fbf First pass at vm_space (address_manager replacement) Justin C. Miller 2019-04-17 19:16:54 -07:00
  • 910b5116f4 Fix stack overruns Justin C. Miller 2019-04-16 23:39:52 -07:00
  • 6302e8b73a Overhaul memory allocation model v0.3.0 Justin C. Miller 2019-04-16 01:13:09 -07:00
  • fd1adc0262 Put MAX_SYSCALLS in hex to match syscalls list Justin C. Miller 2019-04-09 23:35:32 -07:00
  • 070be0b005 Allow map_page call with 0 address to allocate address space Justin C. Miller 2019-04-09 23:20:27 -07:00
  • 5034ffbe59 Increase max kernel heap allocation to 4MiB Justin C. Miller 2019-04-09 22:31:06 -07:00
  • cd13b88540 Log about additional CPU/APICs Justin C. Miller 2019-04-08 14:33:10 -07:00
  • e050d6f151 Move more logging infrastructure into kutil Justin C. Miller 2019-04-06 11:46:53 -07:00
  • 863555ec6b Clean up process memory on exit. Justin C. Miller 2019-04-06 11:19:38 -07:00
  • c605793a9d Fix fork() for new task switching model Justin C. Miller 2019-04-03 10:08:26 -07:00
  • 8375870af6 Improve syscall definitions Justin C. Miller 2019-04-02 23:14:52 -07:00
  • 11a53e792f Improve syscalls for new task switching Justin C. Miller 2019-04-02 00:25:36 -07:00
  • ca2362f858 Simplify task switches Justin C. Miller 2019-03-31 22:49:24 -07:00
  • 5cdbedd4d1 Move console to use kutil's printf Justin C. Miller 2019-03-31 22:43:37 -07:00
  • ee6d69bcd2 Move builds to bonnibel 0.2 Justin C. Miller 2019-03-30 01:33:00 -07:00