Commit Graph

  • 05046d6e93 BAN: Error uses 64 bit error codes Bananymous 2023-05-07 02:09:52 +03:00
  • 054c5450df LibC: syscall() now returns -1 on error and updates errno Bananymous 2023-05-07 01:51:39 +03:00
  • 12e42f40c5 Kernel/LibC: add free function for FixedWidthAllocator Bananymous 2023-05-07 01:21:50 +03:00
  • 890aa9aa15 BuildSystem: linker -O2 doesn't do anything? hopefully Bananymous 2023-05-06 18:14:45 +03:00
  • bcfd838131 Kernel: Add basic fixed width allocator for userspace Bananymous 2023-05-06 18:10:38 +03:00
  • 9c07add00f Kernel: Invalid physical addresses from heap are specified now by 0 Bananymous 2023-05-06 01:03:04 +03:00
  • ab8aac7dcf Kernel: GDT tss selector is now 16 bit value Bananymous 2023-05-06 00:57:00 +03:00
  • f36b94d039 Kernel: MMU can now provide info about virtual address space Bananymous 2023-05-06 00:14:54 +03:00
  • 92daa831d1 Kernel: ISRs now print pid and tid Bananymous 2023-05-06 00:10:15 +03:00
  • e7a170c89f Kernel: 64 bit MMU now properly identity maps kernel Bananymous 2023-05-05 14:18:18 +03:00
  • 3c5d3eb8ad Kernel: TTY input process is now single instance Bananymous 2023-04-30 16:11:14 +03:00
  • 55bb0084aa Kernel: namespace and function renames Bananymous 2023-04-28 14:45:09 +03:00
  • acf5660090 Kernel: Add set_tss_stack() to 32 bit Bananymous 2023-04-28 14:44:23 +03:00
  • 9d7530662f Kernel: dprintln file name is now relative Bananymous 2023-04-28 14:43:19 +03:00
  • 9cf09165b5 BAN: Add is_power_of_two to Math functions Bananymous 2023-04-28 14:42:49 +03:00
  • e1a6e7c3ac LibC: add proper stdlib.h header Bananymous 2023-04-27 15:14:03 +03:00
  • 3537d53d5c LibC: add link to posix stdio.h Bananymous 2023-04-27 14:16:25 +03:00
  • c20ba3064d Userspace: Simple stdio test Bananymous 2023-04-25 14:50:26 +03:00
  • a22caa38d2 Kernel: Scheduler updates tss stack on thread execution Bananymous 2023-04-25 14:49:50 +03:00
  • dc0f8b383f Kernel: Usespace threads now have an interrupt stack Bananymous 2023-04-25 14:48:58 +03:00
  • f1a0625b61 Kernel: TSS stack can be set after initialization Bananymous 2023-04-25 14:48:12 +03:00
  • 02b961fd7e Kernel: Stack pointer out of bounds now panics with a message Bananymous 2023-04-25 13:40:55 +03:00
  • 1d42b26fce LibC: Fix some bugs Bananymous 2023-04-25 13:22:33 +03:00
  • 6e01e04922 Kernel: Fix bug in Process::create_userspace() Bananymous 2023-04-25 13:21:28 +03:00
  • 79812b34b0 LibC: fread() now does a single syscall Bananymous 2023-04-25 12:38:08 +03:00
  • b7c2ea8d46 Kernel: Fix possible dead lock in Process::read() Bananymous 2023-04-23 14:46:18 +03:00
  • cd74b2167d LibC: Write mostly functioning stdio Bananymous 2023-04-23 14:32:37 +03:00
  • 9b2a577fc3 Kernel: Add ASSERTion to Process::exit() Bananymous 2023-04-22 19:05:27 +03:00
  • 2dd09163e6 Kernel: Process can now load 32 bit elf files on i386 Bananymous 2023-04-22 19:03:30 +03:00
  • 850ff93940 LibELF: Add 32 bit support Bananymous 2023-04-22 18:57:24 +03:00
  • fb6add2b4a Kernel: Fix 32 bit MMU Bananymous 2023-04-22 18:22:39 +03:00
  • 48445f12ac Kernel: More proper paging in Elf loading Bananymous 2023-04-22 18:17:44 +03:00
  • 792fad2a03 Kernel: d{print,warn,error}ln(...) now has a spinlock Bananymous 2023-04-22 17:58:51 +03:00
  • cc04990ce3 Kernel: Process now frees up its pages on destruction Bananymous 2023-04-22 16:54:46 +03:00
  • 7530482cc2 Kernel: Cleanup process creation for userspace Bananymous 2023-04-22 16:43:44 +03:00
  • 33d8c518e9 Kernel: Fix some deadlocks in the Process Bananymous 2023-04-22 15:46:23 +03:00
  • e0ce2394fe Kernel: Remove obsolete userspace stuff from kernel Bananymous 2023-04-22 15:37:45 +03:00
  • fadce063a7 Kernel: Usespace programs are now ran through ELF files Bananymous 2023-04-22 15:35:32 +03:00
  • ef0263e32d LibELF: Header printing can now be turned off Bananymous 2023-04-22 15:34:09 +03:00
  • 4588e25d27 LibELF: ELF now has methods for accessing more attributes Bananymous 2023-04-22 15:31:05 +03:00
  • ff8c0086e2 LibC: puts() now just calls syscall(SYS_WRITE, ...) Bananymous 2023-04-22 15:29:38 +03:00
  • dc1b7cf08f LibC: syscalls have now proper argument order Bananymous 2023-04-22 15:29:15 +03:00
  • 26fe6ad898 Kernel: kmalloc does not dump stack trace Bananymous 2023-04-21 13:45:13 +03:00
  • fc71d2f7c4 Kernel: Don't call 'cli' on interrupt Bananymous 2023-04-21 11:16:52 +03:00
  • 35e949ef5e Kernel: Fix syscall return value in 32 bit Bananymous 2023-04-21 11:08:02 +03:00
  • 9c506ef85b Kernel: Stack pointer is validated when updated Bananymous 2023-04-21 10:40:24 +03:00
  • b1c7af38d0 Kernel: Add barebones per process virtual addresses Bananymous 2023-04-20 00:45:41 +03:00
  • ea0c9b639f Kernel: Add some bareboness functionality to map virtual addresses Bananymous 2023-04-19 23:51:36 +03:00
  • 0030f035be Kernel: Rename MMU::{un,}allocate... to MMU::{un,}map Bananymous 2023-04-19 21:50:30 +03:00
  • c26529ae86 Kernel: kmalloc will always print debug on failed alloc Bananymous 2023-04-19 18:05:01 +03:00
  • 7d57d2fcfb LibELF: remove unused file Bananymous 2023-04-19 17:32:12 +03:00
  • e8a0df54b1 Kernel: ATAController will fail to initialize in native mode Bananymous 2023-04-19 17:29:36 +03:00
  • 33393335c8 Kernel: PCI devices now report their prog_if Bananymous 2023-04-19 16:28:51 +03:00
  • c5b02bb9f5 Kernel: Shell fix file reading Bananymous 2023-04-19 14:09:23 +03:00
  • a1047918d2 Kernel: Shell now has exit() command Bananymous 2023-04-19 12:51:44 +03:00
  • fd81e31050 Kernel: Fix Process::exit() and where it is called from Bananymous 2023-04-19 12:51:20 +03:00
  • 160315c4d0 Update README.md Bananymous 2023-04-19 00:46:42 +03:00
  • d9b7747fc5 LibC: exit() calls _fini() Bananymous 2023-04-19 00:42:00 +03:00
  • dcce18799f Kernel: We now launch Shell again on boot Bananymous 2023-04-19 00:41:24 +03:00
  • a9a15ea2c0 Kernel: init2 is now launched as a process instead of thread Bananymous 2023-04-19 00:39:06 +03:00
  • d63716db96 Kernel: Process is not reference counted any more Bananymous 2023-04-19 00:34:18 +03:00
  • 3ca623349a BAN: Add {TRY,MUST}_REF for references Bananymous 2023-04-19 00:29:16 +03:00
  • 121f4bc1dd BAN: TRY and MUST macros use rvalue references Bananymous 2023-04-19 00:11:15 +03:00
  • 8e31ef9905 BAN: Add specialization for ErrorOr<LValueReference> Bananymous 2023-04-18 22:02:47 +03:00
  • 2c52e0aad8 BAN: Variant with reference now supports copy/assign Bananymous 2023-04-18 20:21:23 +03:00
  • 06916f56be BAN: Variant now works with references Bananymous 2023-04-18 19:53:34 +03:00
  • c3df0bd15e BAN: Variant::set now copy/move assigns when possible Bananymous 2023-04-18 19:06:58 +03:00
  • b41a8e2829 BAN: Variant now has variadic template types Bananymous 2023-04-18 18:29:48 +03:00
  • 96ac072166 Kernel: Heap allows us to take free pages. Bananymous 2023-04-18 10:16:09 +03:00
  • 295a27f16a Kernel: Panic wont print stacktrace if it has already paniced Bananymous 2023-04-16 00:04:49 +03:00
  • 88f60b5e41 Kernel: Map all ACPI tables on initialization Bananymous 2023-04-15 23:53:45 +03:00
  • 1c22e90fa0 Scripts: remove disk build from install-usb.sh Bananymous 2023-04-15 23:52:52 +03:00
  • d23604b0d5 Kernel: Handle some Heap edge cases Bananymous 2023-04-15 00:43:19 +03:00
  • c5347e6707 Kernel: Reorder boot initialization Bananymous 2023-04-14 23:55:05 +03:00
  • bf0c7b9ae8 Kernel: Heap implementation can now give free pages from all of RAM Bananymous 2023-04-14 23:23:31 +03:00
  • 0374b68fa1 Kernel: Remove unused file Bananymous 2023-04-14 21:13:18 +03:00
  • 633929629c Kernel: Start working on heap Bananymous 2023-04-14 15:16:38 +03:00
  • 6a3b3213cf Kernel: Kmalloc now has its memory statically allocated Bananymous 2023-04-14 14:15:26 +03:00
  • fdb4eb6042 Kernel: Move kmalloc and MMU to Memory directory Bananymous 2023-04-14 13:30:21 +03:00
  • 998ae511a3 LibELF: Start implementing elf library Bananymous 2023-04-12 22:20:18 +03:00
  • c897b90c28 Create LICENCE Bananymous 2023-04-13 00:38:24 +03:00
  • 3f9d6f0311 LibC: add needed stubs to build executables with our compiler Bananymous 2023-04-12 17:53:02 +03:00
  • 8ee63f8264 Kernel: We can create basic userspace processes Bananymous 2023-04-12 17:51:36 +03:00
  • 34358b8471 Kernel: Scheduler can now terminate processes threads Bananymous 2023-04-12 17:49:04 +03:00
  • 5b1af4ec47 Kernel: Debug::dump_stack_trace now 'detects' repeating function Bananymous 2023-04-12 01:32:41 +03:00
  • 071d7af58a Kernel: kmalloc does not check for corruptiong unless it cannot allocate Bananymous 2023-04-12 00:24:02 +03:00
  • 3201c3654e Kernel: Threads now use only 4 KiB stack :) Bananymous 2023-04-12 00:22:08 +03:00
  • 6ed3023725 Kernel: Fix TTY spinlock usage Bananymous 2023-04-12 00:20:04 +03:00
  • 892a63aec5 Kernel: Shell TTY_PRINT is now function instead of macro Bananymous 2023-04-12 00:18:58 +03:00
  • 3fe889d4a4 BuildSystem: GCC will now complain on functions with 1 KiB stack Bananymous 2023-04-12 00:18:06 +03:00
  • c35e7368f2 BAN: Variant now aligns its data properly Bananymous 2023-04-12 00:17:45 +03:00
  • cafd546ce8 Kernel: kmalloc now detects corruption Bananymous 2023-04-11 23:36:46 +03:00
  • 5810a77cbf Kernel: Mark Scheduler::start() as noreturn as appropriate Bananymous 2023-04-11 23:33:20 +03:00
  • 6f7045ead2 Kernel: kernel doesn't allocate large blocks of data on stack Bananymous 2023-04-11 23:31:58 +03:00
  • 40f9a42c00 Kernel: Scheduler will panic if it encounters stack overflow Bananymous 2023-04-11 23:29:21 +03:00
  • 9abe1f27bb Kernel: Process now locks the mutex while modifying open files Bananymous 2023-04-11 23:28:16 +03:00
  • aa2aee684b Kernel: remove message from BAN::Error Bananymous 2023-04-11 23:25:21 +03:00
  • cfa025acae BAN: Move RefPtr to its own file and create New.h Bananymous 2023-04-10 21:03:41 +03:00
  • 781cc78a1f BuildSystem: Fix header copying to sysroot Bananymous 2023-04-10 20:27:20 +03:00
  • f924ac9265 Kernel: Threads can now be terminated mid execution Bananymous 2023-04-09 22:18:12 +03:00