Commit Graph

  • f9193b4602 Extract python build scripts as 'bonnibel' Justin C. Miller 2019-03-27 17:25:50 -07:00
  • 979e5f036e Improve QEMU settings for laptop Justin C. Miller 2019-03-26 15:27:10 -07:00
  • 39baec852b Allow larger initrd images Justin C. Miller 2019-03-25 00:14:20 -07:00
  • ed3f9410a6 Make nulldrv a small C++ program Justin C. Miller 2019-03-24 13:44:25 -07:00
  • b18243f098 Improve process switching and syscall log spam Justin C. Miller 2019-03-22 17:43:29 -07:00
  • 9472dab522 Fix asm int call for LLVM 8 Justin C. Miller 2019-03-22 17:42:51 -07:00
  • 9067f8d298 Add kernel logging task Justin C. Miller 2019-03-20 23:45:01 -07:00
  • 866073ae8a Fix RFLAGS-clobbering syscalls Justin C. Miller 2019-03-20 23:05:30 -07:00
  • 91cb00fde2 Add immediate log output for early kernel Justin C. Miller 2019-03-20 20:58:30 -07:00
  • c435bcfb67 Removed empty unused output_log Justin C. Miller 2019-03-20 11:39:30 -07:00
  • 7fe1b7d1f5 Add temporary log output Justin C. Miller 2019-03-19 00:51:33 -07:00
  • 39524b2b9f Move kernel over to new logger Justin C. Miller 2019-03-17 15:03:30 -07:00
  • c592f5f537 Add buffer-based logging system Justin C. Miller 2019-03-17 14:28:31 -07:00
  • 94c491d286 Update to LLVM 8.0 Justin C. Miller 2019-03-20 15:40:01 -07:00
  • 645938a194 Add bip buffer and constexpr hash Justin C. Miller 2019-03-17 10:02:57 -07:00
  • 73756820bd Fix page_manager::unmap_pages() free tracking Justin C. Miller 2019-03-16 00:36:45 -07:00
  • 33374ab257 Clean up process loader Justin C. Miller 2019-03-15 01:05:45 -07:00
  • bf8286d15f Improve debugging functions Justin C. Miller 2019-03-15 00:47:46 -07:00
  • 6410c898c5 Switch push/pop_all macros from push/pop to mov Justin C. Miller 2019-03-14 22:49:51 -07:00
  • be007c6278 Implement exit syscall Justin C. Miller 2019-03-14 22:28:21 -07:00
  • f7558e3d18 Implement fast syscall/sysret for sytem calls Justin C. Miller 2019-03-13 23:51:29 -07:00
  • 97e8f2c69a Add get_gsbase() Justin C. Miller 2019-03-13 22:49:20 -07:00
  • 49bdf47514 Remove segments from push_all Justin C. Miller 2019-03-13 22:45:02 -07:00
  • 81162f30dc Add popc_stack command to gdb Justin C. Miller 2019-03-13 22:37:28 -07:00
  • 4379256c11 Split OVMF into _code and _vars Justin C. Miller 2019-03-12 10:02:00 -07:00
  • 870ca1db45 Allow debug option to be communicated at boot Justin C. Miller 2019-03-11 03:04:57 -07:00
  • 74a5c301f8 Add guid_device_path GUIDs Justin C. Miller 2019-03-10 23:35:23 -07:00
  • 2955e6c9c1 Add debugging files to build process Justin C. Miller 2019-03-10 23:34:47 -07:00
  • cd2ccb4e06 Move QEMU monitor to telnet Justin C. Miller 2019-03-10 12:57:43 -07:00
  • 722ee4c52c Recycle old initial pml4 v0.2.2 Justin C. Miller 2019-03-10 00:51:39 -08:00
  • 67b9f45004 Offset-map the entire offset region with 1G pages Justin C. Miller 2019-03-09 14:52:36 -08:00
  • 2035fffa1c Fix loading large process images. Justin C. Miller 2019-03-09 13:10:10 -08:00
  • 97ac3c09fa Implement initial fork syscall Justin C. Miller 2019-03-09 12:18:21 -08:00
  • 241e1dacb0 Consolidate testing memory setup Justin C. Miller 2019-03-07 23:53:38 -08:00
  • ac19d3f532 Allow page table copying and unmapping Justin C. Miller 2019-03-03 01:52:21 -08:00
  • 194527e0fe Fix address-marking bugs Justin C. Miller 2019-03-03 01:38:07 -08:00
  • 28cf5562ac Use the address_manager to place allocations Justin C. Miller 2019-02-28 00:35:43 -08:00
  • 8cdc39fdee Switch page_manager to use frame_allocator. Justin C. Miller 2019-02-26 22:56:14 -08:00
  • 626eec4a31 Frame allocator class added Justin C. Miller 2019-02-25 21:19:43 -08:00
  • 5901237fee Genericize buddy allocator Justin C. Miller 2019-02-23 14:46:36 -08:00
  • 24316ca0c4 Build native targets with debug symbols Justin C. Miller 2019-02-22 19:15:55 -08:00
  • f9d964cccb Adding address manager Justin C. Miller 2019-02-22 19:15:55 -08:00
  • a9ac30b991 Allow heap_manager to use non-contiguous blocks. Justin C. Miller 2019-02-18 23:27:24 -08:00
  • 61df9cf32c Add -ggdb to tests build Justin C. Miller 2019-02-18 23:26:19 -08:00
  • bbd31929ba Rename memory_manager to heap_manager Justin C. Miller 2019-02-18 18:58:28 -08:00
  • ec20e9f3d9 Stripping the kernel Justin C. Miller 2019-02-13 23:58:45 -08:00
  • 3bcd83f5a3 Notes update Justin C. Miller 2019-02-17 23:38:31 -08:00
  • 341ba5146a Forgot to comment third arg for gdt_write Justin C. Miller 2019-02-08 21:26:05 -08:00
  • 83b37ef536 Give qemu.sh better option handling Justin C. Miller 2019-02-10 10:31:43 -08:00
  • 1965197ccd Fix sysroot ld setting Justin C. Miller 2019-02-10 10:31:16 -08:00
  • 29747f4891 Allow modules to specify defines Justin C. Miller 2019-02-08 21:21:11 -08:00
  • aca442ee87 First pass at message syscalls Justin C. Miller 2019-02-07 18:19:22 -08:00
  • 8e85ae5318 Added getpid system call Justin C. Miller 2019-02-07 17:52:57 -08:00
  • 8c32471e0d Pass CPU state as a pointer Justin C. Miller 2019-02-07 17:47:42 -08:00
  • 79711be46a Dump compiler args and defines. Justin C. Miller 2019-02-07 17:39:10 -08:00
  • 863e5bda15 Turning console into a class Justin C. Miller 2019-02-04 00:48:18 -08:00
  • d19cedb12a adding kernel crti/crtn but ctors/dtors not called yet Justin C. Miller 2019-02-03 18:59:09 -08:00
  • f2d39f7df8 Refactoring build system for more control of inputs Justin C. Miller 2019-02-03 18:32:45 -08:00
  • 579f6f64e6 First step of moving bootloader to C++ Justin C. Miller 2019-02-03 01:38:12 -08:00
  • a71af1be96 Updating NOTES Justin C. Miller 2019-02-03 00:26:35 -08:00
  • 237c242f96 Fix ninja not reloading buildfiles on regen Justin C. Miller 2019-02-03 00:20:01 -08:00
  • c4dc52c06c Fix a version parsing issue when on a tagged version Justin C. Miller 2019-02-03 00:06:39 -08:00
  • e1d8dd3124 Updating README to reflect new build process v0.2.1 Justin C. Miller 2019-02-02 23:55:48 -08:00
  • 38a1197d9e Removing old waf build scripts and vendored libcxx Justin C. Miller 2019-02-02 21:39:19 -08:00
  • bc01a37452 Ninja-based buildsystem now building a running kernel! Justin C. Miller 2019-02-02 21:35:39 -08:00
  • acdca19f59 Ninja buildsystem produces working bootloader Justin C. Miller 2019-02-02 18:24:58 -08:00
  • a1fe745a53 Changing to __POPCORN__ for defining code that is host-only Justin C. Miller 2019-02-02 14:44:35 -08:00
  • 73df20d195 Ninja-based system now builds the disk images Justin C. Miller 2019-02-02 13:30:43 -08:00
  • 7e1933d79b Give makerd a cwd argument, and upgrade cpptoml Justin C. Miller 2019-02-02 12:18:20 -08:00
  • 8d23fac6cc Allow for ninja files to regenerate themselves Justin C. Miller 2019-02-02 11:52:05 -08:00
  • 0f8efdb55e Moving to a ninja-based build system Justin C. Miller 2019-02-02 02:59:45 -08:00
  • 523d0b3b8c sysroot and cross-compiler based build WIP Justin C. Miller 2019-01-17 00:51:45 -08:00
  • 591ca7c83c libc WIP Justin C. Miller 2018-09-24 11:13:18 -07:00
  • dffdcc095d Vendoring libc++ in external/ Justin C. Miller 2018-09-22 07:55:00 -07:00
  • 229c1e4965 Moved cpptoml to just makerd's includes Justin C. Miller 2018-09-21 09:51:50 -07:00
  • d8399e3c07 Fix for page faults under KVM Justin C. Miller 2018-09-21 20:32:28 -07:00
  • f1bb3556eb Update NOTES Justin C. Miller 2018-09-21 09:52:21 -07:00
  • cef0a71bce Use uintptr_t instead of addr_t Justin C. Miller 2018-09-20 09:37:30 -07:00
  • a9d72b8102 Fixing APIC timer log message Justin C. Miller 2018-09-18 17:33:11 -07:00
  • d469482a7f Better spurious interrupt handling Justin C. Miller 2018-09-16 23:50:54 -07:00
  • c67c1bd6a2 Give processes multiple quanta before rescheduling Justin C. Miller 2018-09-16 23:34:42 -07:00
  • 5e6769036c APIC timer calibration Justin C. Miller 2018-09-16 18:56:01 -07:00
  • 482b9f50fc Initial process waiting/waking Justin C. Miller 2018-09-16 12:22:52 -07:00
  • f4e7eaeb40 Fixing #include error in linked_list.h Justin C. Miller 2018-09-16 12:20:14 -07:00
  • 8c2ff33c40 Reduce number of DEbuG syscalls in nulldrv Justin C. Miller 2018-09-15 00:40:30 -07:00
  • 1308864061 MSR and syscall changes Justin C. Miller 2018-09-15 00:37:49 -07:00
  • 62c559043d Pause syscall and int 0xee interrupt syscalls Justin C. Miller 2018-09-12 20:59:08 -07:00
  • c2f85ce61b Some enum_bitfield helper operators Justin C. Miller 2018-09-12 20:57:15 -07:00
  • 5808599005 Getting rid of 'boogity!'.. end of an era. Justin C. Miller 2018-09-12 20:51:27 -07:00
  • fafe582802 Initial priority-based scheduler Justin C. Miller 2018-09-11 22:37:00 -07:00
  • 593cda3ee8 Convert page_block to use kutil::linked_list Justin C. Miller 2018-09-11 20:46:48 -07:00
  • d5c44645eb New templatized linked_list collection Justin C. Miller 2018-09-09 15:32:10 -07:00
  • e7a509176d Move makerd to TOML-based manifest Justin C. Miller 2018-09-08 12:54:35 -07:00
  • 3a39d9440a Made syscall ids 64 bits in rax Justin C. Miller 2018-09-07 10:28:13 -07:00
  • cabfec3f1e Clearing up kutil/kernel memory code separation Justin C. Miller 2018-09-07 10:08:47 -07:00
  • 956efabd8f Update NOTES Justin C. Miller 2018-09-06 09:49:44 -07:00
  • f146a96298 Cleaning up interrupts.s and adding missing IRQs Justin C. Miller 2018-09-06 09:34:34 -07:00
  • 585abe9a18 Simple ELF program loader Justin C. Miller 2018-09-06 01:31:47 -07:00
  • 3d0b262435 Add null driver Justin C. Miller 2018-09-05 23:00:23 -07:00
  • 3f264b4490 Add syscall enum, clean up handler debug prints Justin C. Miller 2018-09-05 22:49:56 -07:00