Commit graph

  • 4fef54084f [zion] Remove legacy capability method. Drew Galbraith 2023-06-19 23:48:06 -07:00
  • 164309eada [zion] Add utility to zero out a page when allocating one. Drew Galbraith 2023-06-19 23:44:33 -07:00
  • 0b9e0adfbb [zion] Remove legacy capability table method. Drew Galbraith 2023-06-19 23:32:49 -07:00
  • 36a83b142b [yellowstone] Use denali client to parse GPT Drew Galbraith 2023-06-19 22:58:00 -07:00
  • 45cf2115da [denali] Add a stub client for denali Drew Galbraith 2023-06-19 22:57:08 -07:00
  • a202bf2371 Have yellowstone dump the MBR/GPT tables Drew Galbraith 2023-06-19 21:54:40 -07:00
  • 0aa38ac4a4 [denali] Make denali less noisy on interrupt Drew Galbraith 2023-06-19 21:51:53 -07:00
  • 1cebe547c0 [zion] Allow the sleep thread to be preempted. Drew Galbraith 2023-06-19 21:47:37 -07:00
  • ec915338dc Add struct reading from channels Drew Galbraith 2023-06-19 21:47:23 -07:00
  • a15ab24d9b [libc] Add %s to sprintf Drew Galbraith 2023-06-19 21:46:02 -07:00
  • 27f540e9ae Move ipc calls to take a void* Drew Galbraith 2023-06-19 18:39:46 -07:00
  • 685070d65e Get rid of the type field on zmessage Drew Galbraith 2023-06-17 02:01:21 -07:00
  • 7bd6aa42b0 [zion] Declare z_cap_t and start replacing existing types Drew Galbraith 2023-06-17 01:53:19 -07:00
  • 5e99dbf7d1 Refactor all Zion decls into one header Drew Galbraith 2023-06-17 01:45:53 -07:00
  • 7dcbbd671e [denali] Get all caps from the init port. Drew Galbraith 2023-06-17 01:30:47 -07:00
  • 6e86ce67f0 [zion] Fix capability permission issues Drew Galbraith 2023-06-17 01:24:07 -07:00
  • 424b032146 [zion] Remove old debug messages Drew Galbraith 2023-06-17 01:09:48 -07:00
  • bbc31a0d2b [zion] Return proper code from PortCreate Drew Galbraith 2023-06-17 01:05:51 -07:00
  • 857b7fae03 [zion] Add a port send syscall Drew Galbraith 2023-06-17 01:05:10 -07:00
  • cc191cd6bb [zion] Add a syscall to duplicate capabilities Drew Galbraith 2023-06-17 00:59:44 -07:00
  • 378ced6b6c [zion] Add a port create syscall Drew Galbraith 2023-06-17 00:31:02 -07:00
  • 09ac87e6f5 [yellowstone] Recieve all caps via init port. Drew Galbraith 2023-06-17 00:17:43 -07:00
  • 2ea1f90690 [zion] Add a direct port write for the kernel Drew Galbraith 2023-06-17 00:07:58 -07:00
  • 0a909eae0e Print exit codes in hex Drew Galbraith 2023-06-17 00:03:09 -07:00
  • 528723e490 [mammoth] Create a method for getting initial caps. Drew Galbraith 2023-06-16 23:51:49 -07:00
  • 4c936623b5 Specify our target in .ccls Drew Galbraith 2023-06-16 23:15:41 -07:00
  • 35f24e7c77 Add a Port poll operation Drew Galbraith 2023-06-16 23:15:28 -07:00
  • 21b73b5b92 [zion] [yellowstone] Pass the denali VMMO by port as a POC. Drew Galbraith 2023-06-16 15:58:50 -07:00
  • 75b1f2d21c [zion] Store capability ids on the CapabilityTable. Drew Galbraith 2023-06-16 15:27:09 -07:00
  • b27672d5de [zion] Update LinkedList iterator semantics. Drew Galbraith 2023-06-16 15:24:38 -07:00
  • 242a18ae3c [zion] Finish cleaning up process capability interface. Drew Galbraith 2023-06-16 15:09:15 -07:00
  • fc94bc5bf5 [zion] Update process interface to simplify capability insertion. Drew Galbraith 2023-06-16 15:04:33 -07:00
  • a47bac9966 [zion] Dynamically check Capability type. Drew Galbraith 2023-06-16 14:53:57 -07:00
  • b4902a79ef [zion] Add per-process CapabilityTable object Drew Galbraith 2023-06-16 14:25:45 -07:00
  • be12fa9a19 Add mutex fixme Drew Galbraith 2023-06-16 14:25:23 -07:00
  • 4e328c2f7a Set RSP0 on context switch Drew Galbraith 2023-06-16 01:52:55 -07:00
  • e5da93757a Working AHCI DMA IPC from yellowstone to denali. Drew Galbraith 2023-06-16 01:31:23 -07:00
  • ccfe1b15ab Compile with -fno-rtti Drew Galbraith 2023-06-16 01:30:31 -07:00
  • f154d11626 Add deletion functions Drew Galbraith 2023-06-16 01:30:08 -07:00
  • 6e20e5a610 Add more accessors to mammoth classes Drew Galbraith 2023-06-16 01:29:49 -07:00
  • 71e51730b7 Mark unblocked threads as runnable before enqueueing them Drew Galbraith 2023-06-16 01:29:00 -07:00
  • ffa2d97a64 First iteration of denali server Drew Galbraith 2023-06-15 16:20:29 -07:00
  • 82b1a5c4db Build GCC/Binutils toolchain in tree. (#1) drew 2023-06-15 18:39:14 -04:00
  • a9db73e443 Working toolchain Drew Galbraith 2023-06-14 12:09:23 -07:00
  • bd5cd5a011 Working? toolchain Drew Galbraith 2023-06-13 20:17:07 -07:00
  • 43a9b93192 Fix? toolchain Drew Galbraith 2023-06-13 23:32:01 -07:00
  • 2de2f1d364 GCC patch and toolchain (not working) Drew Galbraith 2023-06-13 20:50:09 -07:00
  • d0a4a06c7b First step to having a local toolchain Drew Galbraith 2023-06-13 14:10:03 -07:00
  • b8b6576b7f Cleanup AHCI Ident a bit and reduce logging Drew Galbraith 2023-06-12 23:32:24 -07:00
  • 72885190e9 Resolved page faults from user stacks Drew Galbraith 2023-06-12 23:28:23 -07:00
  • 6c13fdc801 Add a memory region type to mammoth Drew Galbraith 2023-06-12 23:24:05 -07:00
  • 6986f534f8 Add a method for blocking threads on ports. Drew Galbraith 2023-06-12 20:56:25 -07:00
  • b6735d3175 [zion] Fix an over-allocation bug when creating a memory object Drew Galbraith 2023-06-12 20:55:53 -07:00
  • 0f0e39d1e9 Further parse AHCI information. Drew Galbraith 2023-06-12 19:20:51 -07:00
  • 4e1888bd24 Set eflags properly for jump to userspace Drew Galbraith 2023-06-12 19:20:42 -07:00
  • 8ac5366882 [zion] Add ability to dump MADT (APIC) tables Drew Galbraith 2023-06-12 19:17:00 -07:00
  • 7cf54c0dd2 [mammoth] Fix accidental switch fall through in crash Drew Galbraith 2023-06-12 19:14:30 -07:00
  • 832d2f6961 Allow default constructing mammoth threads Drew Galbraith 2023-06-12 19:13:55 -07:00
  • f907c189bb Add a memcpy utility to libc Drew Galbraith 2023-06-12 19:13:16 -07:00
  • c35cef65fe Don't mistakenly mask interrupts in user space Drew Galbraith 2023-06-12 19:01:09 -07:00
  • 30bb10207e Add the Denali disk driver. Drew Galbraith 2023-06-08 02:36:59 -07:00
  • 47e3d11060 Add a syscall for creating a physical memory VMO Drew Galbraith 2023-06-08 02:36:47 -07:00
  • 50201fe6df Updated PCIe walk to be recursive and dump the offset of the sata drive Drew Galbraith 2023-06-08 00:24:50 -07:00
  • a2fd14a9a8 Update sprintf to allow 64 bit types Drew Galbraith 2023-06-08 00:22:24 -07:00
  • 56789400d7 Allow mapping the PCI Config so Yellowstone can map it. Drew Galbraith 2023-06-07 22:45:42 -07:00
  • 71a601362d [mammoth] Update dbgln to use sprintf Drew Galbraith 2023-06-07 22:45:24 -07:00
  • 20dd43cdfb [libc] Add basic sprintf function Drew Galbraith 2023-06-07 22:44:11 -07:00
  • bd32e85164 Fix race condition in page fault handler. Drew Galbraith 2023-06-07 22:24:50 -07:00
  • 3e1e37bf03 Probe RSDP for PCIe Config Drew Galbraith 2023-06-07 16:24:13 -07:00
  • 4bd7f972c1 Add additional physical memory logging Drew Galbraith 2023-06-07 16:22:39 -07:00
  • 53ff49b265 Add preprocessor directives to supress logs per file. Drew Galbraith 2023-06-07 13:51:13 -07:00
  • add533071b Use APIC for interrupts rather than PIC. Drew Galbraith 2023-06-07 13:40:36 -07:00
  • 7c9d1075eb Move sys/test to Yellowstone init process. Drew Galbraith 2023-06-07 11:18:35 -07:00
  • 6f81520918 Refactor compile flags Drew Galbraith 2023-06-07 11:09:27 -07:00
  • 010e261dc7 Add a libcxx with a new operator Drew Galbraith 2023-06-07 10:48:03 -07:00
  • dcc05f2741 Add a libc skeleton with a primitive malloc. Drew Galbraith 2023-06-07 10:33:10 -07:00
  • eb04242a59 Add a debug mode for the KernelHeap. Drew Galbraith 2023-06-07 10:01:22 -07:00
  • 40b21d9c75 [Mammoth] Add Channel object for simple IPC messages Drew Galbraith 2023-06-07 09:37:16 -07:00
  • 65439c163a Compile sys libraries without exceptions. Drew Galbraith 2023-06-07 09:36:14 -07:00
  • 3243b6024b Update init bg script to inclue AR Drew Galbraith 2023-06-07 09:29:38 -07:00
  • a5c4d40575 Refactor error types and error reporting Drew Galbraith 2023-06-07 08:50:08 -07:00
  • 81b925eea0 Add a basic IPC setup with Channel Object. Drew Galbraith 2023-06-07 08:24:10 -07:00
  • b79ec07636 Return Z_OK on all syscall paths Drew Galbraith 2023-06-07 07:15:25 -07:00
  • 55340e2917 Make Capability RefCounted Drew Galbraith 2023-06-07 06:21:36 -07:00
  • 6c10c57bfa Mass rename memory object variables. Drew Galbraith 2023-06-07 00:30:26 -07:00
  • a8a4f8d9ab Add checks to mammoth thread lib Drew Galbraith 2023-06-07 00:25:04 -07:00
  • e246f28d9c Get the second process elf from a MemoryObject instead of hardcoding. Drew Galbraith 2023-06-07 00:19:15 -07:00
  • eb454300e6 Move elf loader into the init loader in the kernel Drew Galbraith 2023-06-07 00:08:21 -07:00
  • 23895b5c6c Spawn Processes using memory primitives rather than and elf loader. Drew Galbraith 2023-06-07 00:04:53 -07:00
  • b06c76e477 Create a MemoryObject class and use it to load programs. Drew Galbraith 2023-06-06 21:44:10 -07:00
  • 1fda0f3fae Move VirtualMemory to AddressSpace Object Drew Galbraith 2023-06-06 20:43:15 -07:00
  • b5ad454ad1 Move Process & Thread to the object folder. Drew Galbraith 2023-06-06 20:18:53 -07:00
  • 4e278a4664 Make a KernelObject base class for all Capabilities. Drew Galbraith 2023-06-06 20:13:07 -07:00
  • d358c1d672 Move process be to RefCounted Drew Galbraith 2023-06-06 19:12:46 -07:00
  • 2e1357255c Create a RefCounted type and use it for Thread. Drew Galbraith 2023-06-06 19:05:03 -07:00
  • d9b17d96d7 Cleanup Thread constructor Drew Galbraith 2023-06-06 18:40:32 -07:00
  • 41d25a7b46 Reformat includes Drew Galbraith 2023-06-06 17:12:08 -07:00
  • 174d4b10fb Move threading calls into a basic user space library. Drew Galbraith 2023-06-06 16:56:19 -07:00
  • b0c2a6732b Always create threads in CREATED state. Drew Galbraith 2023-06-06 16:27:25 -07:00
  • ef8eb5d993 Add a threading syscall API. Drew Galbraith 2023-06-06 16:24:03 -07:00