Commit Graph

  • a078a11dde Move PMM and VMM initialization into MemoryManager::init apio 2022-09-25 17:38:17 +0200
  • 0858db73bd Add with_value_of and with_value to MSR apio 2022-09-25 17:29:33 +0200
  • 4e62566c48 Add with_value_of and with_value to MSR apio 2022-09-25 17:28:38 +0200
  • aee4e55fdd add a proper kernel panic apio 2022-09-25 16:56:00 +0200
  • 6fc7608c35 main: remove kmalloc/kfree example apio 2022-09-24 23:18:44 +0200
  • 059bf86ddf Scheduler: use kmalloc and kfree apio 2022-09-24 23:18:33 +0200
  • 704a23d0ad Sanity checks apio 2022-09-24 23:09:39 +0200
  • 6bd3529f32 Port liballoc to get proper kmalloc/kcalloc/krealloc/kfree functions. apio 2022-09-24 22:40:59 +0200
  • 2511b7d7a1 Add optional (compile-opt-in) debug logging to the MemoryManager (which helped catch the bug that got fixed in the previous commit) apio 2022-09-24 22:38:07 +0200
  • a0af8fa432 QUICK BUGFIX: Shift PDE.Address to the left by 12 bits in VMM::getPhysical, to return the actual physical address apio 2022-09-24 22:35:19 +0200
  • a2d23efd1b Move files with their headers in include/misc/ into src/misc/ apio 2022-09-24 21:46:09 +0200
  • 3891d0c52e Rename KernelMemoryManager to MemoryManager apio 2022-09-24 21:45:13 +0200
  • 57b330e907 get_symbol_name: handle case where sys/moon.sym is not present in the initial ramdisk apio 2022-09-24 21:38:36 +0200
  • f640e3d248 symbol_strlen: stop at null terminator as well as newline apio 2022-09-24 21:36:29 +0200
  • a9444ec5e3 Provide a default symbol for get_symbol_name apio 2022-09-24 21:31:03 +0200
  • a0459df8d7 Remove userspace for now apio 2022-09-24 21:29:10 +0200
  • 46b7dab847 Remove RangeAllocator and make a PMM namespace apio 2022-09-24 21:27:45 +0200
  • 198f4196c4 Add an MSR utility struct apio 2022-09-24 20:48:27 +0200
  • 56ace11bb1 Copy "hello.size" bytes from hello instead of 512, who knows what there is in there... apio 2022-09-23 18:03:20 +0200
  • 7b8d30aacd Add a Device class to PCI and a PCITypes file for string names for PCI device types apio 2022-09-23 18:01:07 +0200
  • 8a93c53277 Add a Device class to PCI apio 2022-09-23 17:24:45 +0200
  • c3e5251687 Some more userland and font failing apio 2022-09-23 16:41:43 +0200
  • 523b252960 Moon 0.4-dev apio 2022-09-22 08:17:02 +0200
  • 11dd165a8e Scheduler: add proper support for user tasks (still faults though) old-0.4 apio 2022-09-22 08:14:04 +0200
  • 543fe2885f Add support for user pages apio 2022-09-22 07:57:30 +0200
  • ec01dc2927 Scheduler: Change fixed Task array for (highly inefficient) memory allocation, add userspace task support (which as memory is mapped kernel-only instantly crashes), and support for exiting a task (marking it as exited and reaping it later) apio 2022-09-21 21:06:00 +0200
  • c6c2e286e7 Prepare our GDT for userspace apio 2022-09-21 21:04:15 +0200
  • ee49caa6d3 Interrupts: ensure is_in_handler is true if we know we are in a handler apio 2022-09-21 21:03:49 +0200
  • 4401b31440 Remove ds from context, no need for it in x86_64, use ss instead apio 2022-09-21 21:03:24 +0200
  • 1b3b93d8bb StackTracer: add a trace_with_ip that prints the symbol name of the saved instruction pointer, for use in interrupts apio 2022-09-21 21:00:15 +0200
  • 3a69551dcc StackTracer: only trace frames within the kernel address space apio 2022-09-21 20:59:41 +0200
  • d54ed0dc8b Make ASSERT, PANIC and TODO show a backtrace and scheduler tid if initialized apio 2022-09-21 20:56:40 +0200
  • af8e5aca64 Add basic PCI driver apio 2022-09-21 17:57:02 +0200
  • 49ddb47ad4 Reorganize structure apio 2022-09-21 17:56:53 +0200
  • e83d4c8ac9 Use a faster PIT tick rate apio 2022-09-21 07:29:44 +0200
  • 4f360693bd Make the demo reboot when you press a key apio 2022-09-20 20:51:59 +0200
  • 29f0253e5b Little colorful demo apio 2022-09-20 20:49:31 +0200
  • 1dce3a0cf7 Give 1 tick of CPU time to the idle task apio 2022-09-20 20:48:49 +0200
  • 5a271eaab2 Moon 0.4-dev apio 2022-09-20 20:05:32 +0200
  • ddbe9b8b8b Few small adjustments to the scheduler old-0.3 apio 2022-09-20 20:02:08 +0200
  • 1c12cf016e Add a Scheduler. apio 2022-09-20 19:58:04 +0200
  • e6c6a1677a Rename "SavedContext" to "Context" apio 2022-09-20 19:56:43 +0200
  • 063b6345ee Make reboot and shutdown disable interrupts before proceeding apio 2022-09-20 19:54:49 +0200
  • 5ee8e17b76 Ensure we are in an interrupt in the interrupt handler apio 2022-09-20 17:16:23 +0200
  • d0d2d4381c Add a is_in_handler function to validate being in an interrupt handler apio 2022-09-20 17:16:07 +0200
  • 3a796eb64c Remove semicolon from macro apio 2022-09-20 16:56:43 +0200
  • d1141dd713 Don't need this header apio 2022-09-20 16:55:32 +0200
  • 590740e72a Change moon_version() to use a constant expression apio 2022-09-20 16:38:32 +0200
  • 1c1aa96293 Add a moon_version function that returns the full version string apio 2022-09-20 16:34:24 +0200
  • 6967fa9117 Update config.h to use a .cpp file that will be recompiled when it changes apio 2022-09-20 16:30:34 +0200
  • 15883c2dd3 Guard MOON_SUFFIX in config.h apio 2022-09-20 16:22:03 +0200
  • 7f1731ca2c Moon 0.3-dev apio 2022-09-19 21:13:45 +0200
  • ee8c2759a6 Got a stack tracer working!! old-0.2 apio 2022-09-19 21:11:43 +0200
  • 9d3030763b We can fetch a symbol's name from its address!! apio 2022-09-19 20:54:05 +0200
  • d79596f21b Add a tool to auto-generate a symbol map, borrowed from SerenityOS :) apio 2022-09-19 20:35:24 +0200
  • d8bfb76eef Try to make TextRenderer work... still failing apio 2022-09-19 20:17:37 +0200
  • 86e4fce654 Separate conditions for easier debugging apio 2022-09-19 19:04:14 +0200
  • 46fe1722ce Use -f flag with rm apio 2022-09-19 18:21:32 +0200
  • 31460fe148 I.... think I fixed the initrd code? apio 2022-09-19 17:06:08 +0200
  • 245d5e514d Optimizations in Spinlock.asm apio 2022-09-19 16:36:34 +0200
  • a49ef318a5 use LUNA_ROOT in Makefile apio 2022-09-18 20:34:26 +0200
  • 5727cbf94c Fix error in Makefile apio 2022-09-18 20:24:43 +0200
  • cb311c4981 Add initrd/boot/moon.elf and Luna.iso to the clean Makefile target apio 2022-09-18 20:20:51 +0200
  • 99e681aeb4 Forgot to add volatile apio 2022-09-18 20:16:46 +0200
  • d4a982306f Add spinlocks apio 2022-09-18 20:15:19 +0200
  • be31f2c017 Moon 0.2-dev apio 2022-09-18 17:16:44 +0200
  • a42c4bd2da Add -fno-omit-frame-pointer to CFLAGS old-0.1 apio 2022-09-18 17:13:56 +0200
  • aad9aa1db5 Start the call stack with a null RBP before calling _start apio 2022-09-18 17:03:29 +0200
  • 4921db7b97 Clear rax register, just in case apio 2022-09-18 15:24:16 +0200
  • cbac61d184 Rename _test_rdseed to asm_test_rdseed apio 2022-09-18 15:23:08 +0200
  • 48fae4a971 Cache RDSEED and RDRAND presence apio 2022-09-18 15:22:43 +0200
  • 183c3236d4 Fix terminology in keyboard IRQ apio 2022-09-18 09:47:58 +0200
  • f7e7a6661d Use kernel logging in interrupts instead of plain old printf() apio 2022-09-18 09:43:58 +0200
  • 783af21a7e We are not using C apio 2022-09-18 09:43:29 +0200
  • 59ab8c016d Load a bare-bones TSS for CPU0 apio 2022-09-17 17:40:35 +0200
  • 355ca6ea9f Change initrd/sys/config apio 2022-09-15 18:42:59 +0200
  • 9d19765b0e Add the ability to toggle loglevels in KernelLog apio 2022-09-15 18:42:38 +0200
  • 18140a55ec Make strstr take a const char* as a needle instead of a char* apio 2022-09-15 18:42:18 +0200
  • 0b278b2be2 Make divisor in PIT.cpp static apio 2022-09-15 18:12:43 +0200
  • f33178a320 Log random number generation initialization apio 2022-09-15 18:07:17 +0200
  • 3e2c413b6a add module to stack.cpp apio 2022-09-14 19:02:36 +0200
  • efb28d3258 Randomness and stack protection!! apio 2022-09-14 18:54:40 +0200
  • db4c8e96b8 commit apio 2022-09-14 17:55:24 +0200
  • 0cb59ee17f please work please apio 2022-09-11 08:23:32 +0200
  • d418842a48 Update TextRenderer to use kerrorln apio 2022-09-10 22:17:18 +0200
  • f98a45aefe Updated InitRD to use virtual mappings apio 2022-09-10 22:15:19 +0200
  • 4aeada05d3 Remove unused drawing files apio 2022-09-10 18:44:14 +0200
  • 6a0cf7cf98 New framebuffer class!! apio 2022-09-10 18:42:40 +0200
  • 07d1943053 add build-stable-iso.sh apio 2022-09-10 18:09:33 +0200
  • e3e2952661 Consistent naming apio 2022-09-10 18:06:46 +0200
  • fe672e6a18 Use appropriate logging functions apio 2022-09-08 17:03:17 +0200
  • 1ab0f7291b Add kdbg and kdbgln apio 2022-09-08 17:02:40 +0200
  • 9de9eacb1d add strstr apio 2022-09-08 17:02:16 +0200
  • f3f9756106 Remove unused headers in main.cpp apio 2022-09-08 16:30:15 +0200
  • 276d20a33d Remove log/Address.h, since Log.h has variadic functions now apio 2022-09-08 16:26:24 +0200
  • d1498a5e82 Change module of RSDT from "acpi/rsdt" to "acpi" apio 2022-09-08 16:23:39 +0200
  • 76a3ceab32 Replace kinfoln with kwarnln where appropriate apio 2022-09-08 16:22:46 +0200
  • 3da3fd2c11 Update messages apio 2022-09-08 16:18:11 +0200
  • 929962efc9 Fixed size counting in RangeAllocator apio 2022-09-07 20:01:44 +0200
  • b4484e951d LOTS MORE LOGGING. which is great, of course. apio 2022-09-07 19:41:08 +0200