Commit Graph

  • 7ed9dd7cc3
    Merge branch 'master' of pterpstra.com:mikros/kernel master pjht 2025-03-08 10:53:09 -06:00
  • c265e452c5
    Format pjht 2025-03-08 10:52:57 -06:00
  • eb24bb854e
    Configure PAT to allow use of WC cache pjht 2025-03-08 10:49:22 -06:00
  • 5f7c6f4183
    Unify PID and TID together in a new type pjht 2025-03-06 12:09:03 -06:00
  • bf5b289359
    Clippy fix pjht 2025-03-06 11:27:17 -06:00
  • e753cd09b0
    Format pjht 2025-02-28 10:28:43 -06:00
  • 9cbe50e9be
    Lazily save and restore FPU state as needed pjht 2025-02-27 11:25:27 -06:00
  • cc18a3f7f0
    Enable hardware floats and save on every context switch pjht 2025-02-27 10:54:38 -06:00
  • c0d0ad5a1e
    Gate text IPC dumps behind a feature and log them to port 2 pjht 2025-02-26 13:48:03 -06:00
  • 1c8540d851
    IPC dissecting initial start pjht 2025-02-25 22:00:26 -06:00
  • ab0c22ecc9
    Fix thread delay sleeping pjht 2024-11-28 21:52:52 -06:00
  • f81452f431
    Add thread_sleep and mutex_lock_timeout syscalls pjht 2024-11-28 20:59:20 -06:00
  • a4a8bf0152
    Keep track of # of clock ticks and bump PIT freq to 1kHz pjht 2024-11-28 14:04:38 -06:00
  • 7284cef45a
    Add mutexes pjht 2024-11-28 13:40:23 -06:00
  • dceb0768c2
    Add TLS key support pjht 2024-11-28 11:27:07 -06:00
  • d7e3c619cd
    Add thread exit and join pjht 2024-11-28 10:13:16 -06:00
  • 60cdc65071
    replace as with safer cast in tasking.rs pjht 2024-11-28 09:37:48 -06:00
  • e469ad705a
    exit now marks all threads as exited pjht 2024-11-28 09:37:13 -06:00
  • 5f1274dd39
    Add thread support and thread spawn syscall pjht 2024-11-27 17:52:16 -06:00
  • 98f665298c
    Format pjht 2024-11-25 11:06:15 -06:00
  • ac14b4ac2a
    Justify unwrap added in previous commit pjht 2024-11-25 11:05:42 -06:00
  • 87df5e76f2
    Change IPC to have kernel keep track of source pjht 2024-11-25 10:32:08 -06:00
  • ef81ca1a6c
    Change current addeess space to be index u64::MAX instead of 0 pjht 2024-11-24 16:29:02 -06:00
  • ea4d9a7784
    Clean up code and fix unwrap/expect lints pjht 2024-11-24 16:21:17 -06:00
  • f0c6432740
    Make send_ipc syscall use send_ipc_to function pjht 2024-11-17 22:02:18 -06:00
  • e4782341b0
    Clean up unused imports and put IPC logging behind a feature pjht 2024-11-16 12:08:25 -06:00
  • 0fcdbbd363
    Do not add brand new process to ready to run list pjht 2024-11-10 10:21:23 -06:00
  • c4d9bb128a
    Remove handling of CLI arguments pjht 2024-11-09 21:41:56 -06:00
  • b3cc54fddf
    Move proc_man exit call into kernel pjht 2024-11-08 14:51:40 -06:00
  • fb58d2c7c4
    Format pjht 2024-11-08 14:13:27 -06:00
  • 50e7b7236e
    Make clear_exited_pid work on running processes pjht 2024-11-08 14:13:13 -06:00
  • 4548d9540e
    Use naked_asm instead in naked functions pjht 2024-11-07 15:23:17 -06:00
  • 7e620c574e
    Integrate with proc_man - report new processes and keep zombie PIDs pjht 2024-11-03 11:04:47 -06:00
  • cc66935c85
    Update Cargo.lock pjht 2024-10-04 12:37:31 -05:00
  • 0e6ce349fa
    Make new processes start sleeping pjht 2024-09-23 13:25:37 -05:00
  • 0abfd39522
    Make task_yield and exit use a loop instead of a tail call (manual TCO) pjht 2024-09-23 13:25:15 -05:00
  • 499de08b62
    Wait for interrupts on last nonsleeping process exit pjht 2024-09-20 16:10:25 -05:00
  • 01187de0cf
    Remove old unused virtual_memory/hole.rs file pjht 2024-09-13 14:31:16 -05:00
  • fc8c2c5748
    Add basic support for sending messages to processes on IRQs pjht 2024-09-11 10:14:55 -05:00
  • 1885db4b67
    Undo the framebuffer output - it was temporary pjht 2024-09-07 20:53:26 -05:00
  • 12cbeb594f
    Optimise screen output and group writer state into a struct pjht 2024-09-06 13:23:14 -05:00
  • 7ec14819c1
    Print userspace serial output to the screen pjht 2024-09-06 10:46:49 -05:00
  • d4df5b53ff
    Switch to a bump allocator for user virtual memory allocations pjht 2024-09-06 10:46:11 -05:00
  • 07393d8c71
    Show argv[0] when printing process memory usage pjht 2024-09-06 10:45:48 -05:00
  • 3b2cf8bbb5
    Disable IPC logging to serial port pjht 2024-09-06 10:44:44 -05:00
  • 01a0ee9631
    Restore eh_frame.ld pjht 2024-09-06 10:43:23 -05:00
  • a9fff5e145
    Remove unnecessary task_force_unlock pjht 2024-08-18 15:24:05 -05:00
  • 8b949ba1f1
    Explain task_init pjht 2024-08-18 15:21:45 -05:00
  • b9097759c8
    Remove unneccessary cargo config and eh_frame.ld pjht 2024-08-17 20:28:20 -05:00
  • ee21dc66fd
    Reduce kernel stack size to save memory pjht 2024-08-17 19:45:01 -05:00
  • 127b95f838
    Cleanup pjht 2024-08-17 16:46:09 -05:00
  • 84e0a4d593
    Don't preallocate L4 kernel entries and copy them when necessary instead pjht 2024-08-17 16:35:09 -05:00
  • 9b7e36056a
    Use bootloader provided initrd instead of copying it pjht 2024-08-17 16:26:34 -05:00
  • 3ef75dcfbc
    Merge unmap and unmap_and_free by using free on exit flag in mappings pjht 2024-08-17 15:25:01 -05:00
  • e805a2de0c
    Move kernel buffers to the per-process address spaces pjht 2024-08-17 15:19:24 -05:00
  • f258f4ed71
    Fix drop_table not dropping L1 tables and make it drop allocated memory pjht 2024-08-17 09:35:43 -05:00
  • 4d908f1335
    Track kernel buffers per-process pjht 2024-08-16 20:03:00 -05:00
  • 75814f3589
    Track allocations per-address space instead of per-process pjht 2024-08-16 19:23:31 -05:00
  • 899fde8218
    Work (better mem tracking, mpfrt/mpcntphys syscalls, shared initrd, tasking internal locks) pjht 2024-08-12 13:19:06 -05:00
  • 5558fa427b
    Format code pjht 2024-08-06 18:58:26 -05:00
  • 1ceb2e1607
    Convert \n to \r\n on serial output pjht 2024-08-06 18:39:57 -05:00
  • f7c5b3aad4
    panic! now properly kernel panics instead of aborting the current process pjht 2024-08-06 18:39:11 -05:00
  • dcf82e0b32
    Gracefully fail if QEMU does not exit pjht 2024-08-06 18:34:34 -05:00
  • fcf672a969
    Add support for process command-line arguments pjht 2024-07-21 10:56:43 -05:00
  • 49e71b1555
    Restrict usage of panicking code and require justification for panics pjht 2024-07-14 10:45:40 -05:00
  • 40a3a2c3b4
    Format code pjht 2024-07-07 14:37:21 -05:00
  • e2d248b609
    Fix virtual_memory::drop_table freeing each mapping frame multiple times pjht 2024-07-07 08:06:15 -05:00
  • a98324c3b4
    Switch to a buddy allocator for physical memory pjht 2024-07-07 08:01:52 -05:00
  • 3b157a6573
    Count allocated and freed bytes in the kernel heap pjht 2024-07-07 08:01:09 -05:00
  • e79d426fb0
    Dump IPC messages to serial port #2 as a pcapng file pjht 2024-07-07 07:59:27 -05:00
  • ff990d38f9
    Print a message when all processes are sleeping after a yield pjht 2024-06-09 18:44:40 -05:00
  • f81d1dd2ba
    Use a queue instaed of a stack to schedule processes pjht 2024-06-09 18:44:12 -05:00
  • 1376aa5f44
    Add suuport for sleeping processes and a syscall to sleep waiting for IPC pjht 2024-06-08 06:54:53 -05:00
  • 8bbc165e58
    Work pjht 2024-06-06 22:02:00 -05:00
  • 8fd2b83b40
    Commit work pjht 2023-09-29 15:44:53 -05:00
  • bf09798825 Clean up code and fix 0 being a valid addr space index pjht 2022-11-08 10:43:13 -06:00
  • 1995cf9337 Initial commit pjht 2022-11-01 07:24:50 -05:00