Commit Graph

131 Commits

Author SHA1 Message Date
Drew Galbraith f31652b981 Add a way to restrict permissions on cap duplication. 2023-11-02 22:12:55 -07:00
Drew Galbraith e66706d381 [Glacier] Convert ErrorCode into an Enum. 2023-11-02 21:55:12 -07:00
Drew Galbraith d7050ff19f [VictoriaFalls] Implement Read File. 2023-11-02 20:57:28 -07:00
Drew Galbraith a2e80952c8 [Glacier] Add a StringView class and StrSplit method. 2023-11-02 20:23:28 -07:00
Drew Galbraith 6cb0041253 [Mammoth] Create userspace mutex capability. 2023-10-25 19:07:36 -07:00
Drew Galbraith b516087922 [Zion] Add the ability to pass capabilities via endpoint call. 2023-10-24 23:32:05 -07:00
Drew Galbraith 2b27af5814 [Yellowstone] Move to yunq definition for yellowstone server. 2023-10-24 18:24:26 -07:00
Drew Galbraith 9c9fd167cd [Yunq] Clean up codegen issues for client and server. 2023-10-24 18:19:12 -07:00
Drew Galbraith 71e3521b87 [yunq] Add codegen for clients and servers (untested). 2023-10-24 15:57:35 -07:00
Drew Galbraith d45f831b46 [Glacier] Add buffer types for holding bytes and capabilities. 2023-10-24 12:38:11 -07:00
Drew Galbraith ca5361b847 [Glacier] Add the [] operator to string. 2023-10-24 12:34:52 -07:00
Drew Galbraith fdd2d693bc [glacier] Add default constructor for a string. 2023-10-13 15:03:35 -07:00
Drew Galbraith 8f84f8c3ca [zion] Remove temp PCI Memory Object create function.
Pass the PCI memory space to the yellowstone init process instead.
2023-08-01 17:13:19 -07:00
Drew Galbraith c70b5b0753 [mammoth] Run EndpointServer in its own thread. 2023-08-01 16:08:34 -07:00
Drew Galbraith caccb08e16 Generalize the EndpointServer to require less boilerplate.
Classes can now inherit from the EndpointServer and just implement the
HandleRequest function.
2023-08-01 15:52:08 -07:00
Drew Galbraith db5c9ab859 [libc] Consume the %s format character in vsprintf
Previously we were outputing a single 's' after the string.
2023-07-31 23:42:52 -07:00
Drew Galbraith f8f8c854eb [glacier] Fix glacier to build freestanding 2023-07-19 20:50:19 -07:00
Drew Galbraith f7fb4f4ddc [glacier] Add a method to build a bounded string 2023-07-06 10:40:36 -07:00
Drew Galbraith 52b4b273b7 [victoriafalls] Add InodeTable class to cache Inode info 2023-07-06 09:39:17 -07:00
Drew Galbraith b83385dfa6 [glacier] Don't implicitly convert error_or to bool 2023-07-05 16:02:47 -07:00
Drew Galbraith c057da88ad [yellowstone] Add registration to yellowstone stub. 2023-07-05 15:01:29 -07:00
Drew Galbraith 16dd675828 [denali] Get Ahci device address from yellowstone. 2023-06-26 17:01:59 -07:00
Drew Galbraith 02e6b49d90 [glacier] Add a vector class 2023-06-26 15:46:03 -07:00
Drew Galbraith 64d355b20d [glacier] Move LinkedList to glacier. 2023-06-26 15:01:55 -07:00
Drew Galbraith 7f2530bc15 [zion] Rename cmake zion_lib to zion_stub. 2023-06-26 11:57:19 -07:00
Drew Galbraith 380953937f [mammoth] Rename cmake target to remove _lib 2023-06-26 11:56:09 -07:00
Drew Galbraith 90f33f31c5 [mammoth] Move EndpointClient to move-only semantics. 2023-06-26 11:54:36 -07:00
Drew Galbraith 2e89aee5a3 [mammoth] Update EndpointServer to have move-only semantics. 2023-06-26 11:38:17 -07:00
Drew Galbraith 16c30d12fb [glacier] Update ErrorOr to work with Move. 2023-06-26 11:37:56 -07:00
Drew Galbraith 84d3c33938 [glacier] Add UniquePtr and Move 2023-06-26 11:37:31 -07:00
Drew Galbraith b7a962cc26 [mammoth] Finish separating PortServer and PortClient. 2023-06-26 08:59:28 -07:00
Drew Galbraith 5fb9fa6ae6 [mammoth] Move port server operations to their own class. 2023-06-26 08:41:44 -07:00
Drew Galbraith 7989c9d616 Remove libcxx stub library and move operator new to mammoth. 2023-06-26 08:29:14 -07:00
Drew Galbraith a46694d0f7 [yellowstone] Add yellowstone server for endpoint registration. 2023-06-22 02:19:16 -07:00
Drew Galbraith 8dcb1ddabd [glacier] Slightly build out string lib. 2023-06-22 02:18:44 -07:00
Drew Galbraith 36d82370c1 [zion] Add a thread wait syscall 2023-06-22 02:17:50 -07:00
Drew Galbraith f0e8ce14a4 [victoria] Create and start VictoriaFalls process 2023-06-22 00:22:59 -07:00
Drew Galbraith c064af5fa7 Endpoint syscalls implemented 2023-06-21 23:14:42 -07:00
Drew Galbraith 69501bfe01 [all] Add stub for new Endpoint kernel object 2023-06-21 21:43:27 -07:00
Drew Galbraith 1f7a15eed4 [mammoth] Return ErrorOr when creating a process 2023-06-21 20:58:08 -07:00
Drew Galbraith 0ec2fa3e76 [glacier] Move Pair to glacier. 2023-06-21 20:47:40 -07:00
Drew Galbraith c2dfe17363 [zion] Use ErrorOr in PciConfiguration 2023-06-21 18:46:06 -07:00
Drew Galbraith 0b86a94f14 Migrate to error constants in glacier 2023-06-21 18:28:54 -07:00
Drew Galbraith 25737d9377 [glacier] Add an IntrusiveList container 2023-06-21 16:28:19 -07:00
Drew Galbraith e1af79b975 [zion/glacier] Move RefPtr to glacier. 2023-06-21 15:07:40 -07:00
Drew Galbraith 8bcb574677 [zion/glacier] Move RefCounted to glacier. 2023-06-21 14:52:40 -07:00
Drew Galbraith 56eae3d4e5 [zion/glacier] Move SharedPtr to glacier 2023-06-21 14:48:29 -07:00
Drew Galbraith 859fbf66da [glacier] Create lib with scaffolding string class. 2023-06-21 14:42:23 -07:00
Drew Galbraith bd431b94ce [zion] Move port calls to new syscall process. 2023-06-20 14:55:54 -07:00
Drew Galbraith 77bb3acfb4 [zion] Move channel syscalls to new format. 2023-06-20 14:41:44 -07:00
Drew Galbraith 45cf2115da [denali] Add a stub client for denali 2023-06-19 22:57:08 -07:00
Drew Galbraith ec915338dc Add struct reading from channels 2023-06-19 21:47:23 -07:00
Drew Galbraith a15ab24d9b [libc] Add %s to sprintf 2023-06-19 21:46:02 -07:00
Drew Galbraith 685070d65e Get rid of the type field on zmessage 2023-06-17 02:01:21 -07:00
Drew Galbraith 5e99dbf7d1 Refactor all Zion decls into one header 2023-06-17 01:45:53 -07:00
Drew Galbraith 7dcbbd671e [denali] Get all caps from the init port.
This allows us to remove the bootstrap capabilities for good woo hoo!
2023-06-17 01:30:47 -07:00
Drew Galbraith 09ac87e6f5 [yellowstone] Recieve all caps via init port. 2023-06-17 00:17:43 -07:00
Drew Galbraith 528723e490 [mammoth] Create a method for getting initial caps. 2023-06-16 23:51:49 -07:00
Drew Galbraith f154d11626 Add deletion functions 2023-06-16 01:30:08 -07:00
Drew Galbraith 6e20e5a610 Add more accessors to mammoth classes 2023-06-16 01:29:49 -07:00
Drew Galbraith ffa2d97a64 First iteration of denali server 2023-06-15 16:20:29 -07:00
Drew Galbraith 6c13fdc801 Add a memory region type to mammoth 2023-06-12 23:24:05 -07:00
Drew Galbraith 7cf54c0dd2 [mammoth] Fix accidental switch fall through in crash 2023-06-12 19:14:30 -07:00
Drew Galbraith 832d2f6961 Allow default constructing mammoth threads 2023-06-12 19:13:55 -07:00
Drew Galbraith f907c189bb Add a memcpy utility to libc 2023-06-12 19:13:16 -07:00
Drew Galbraith 30bb10207e Add the Denali disk driver.
Begin enumerating information from the PCI structure and HBA AHCI
structures.

Currently the PCI structure address is hardcoded but it should be
passed via a capability from the init process in the future.
2023-06-08 02:36:59 -07:00
Drew Galbraith a2fd14a9a8 Update sprintf to allow 64 bit types 2023-06-08 00:22:24 -07:00
Drew Galbraith 71a601362d [mammoth] Update dbgln to use sprintf 2023-06-07 22:45:24 -07:00
Drew Galbraith 20dd43cdfb [libc] Add basic sprintf function 2023-06-07 22:44:11 -07:00
Drew Galbraith 53ff49b265 Add preprocessor directives to supress logs per file.
Makes the output much cleaner by default but allows for getting more
infor if debugging in the future.
2023-06-07 13:51:13 -07:00
Drew Galbraith 6f81520918 Refactor compile flags 2023-06-07 11:09:27 -07:00
Drew Galbraith 010e261dc7 Add a libcxx with a new operator 2023-06-07 10:48:59 -07:00
Drew Galbraith dcc05f2741 Add a libc skeleton with a primitive malloc. 2023-06-07 10:33:10 -07:00
Drew Galbraith 40b21d9c75 [Mammoth] Add Channel object for simple IPC messages 2023-06-07 09:37:16 -07:00
Drew Galbraith a5c4d40575 Refactor error types and error reporting 2023-06-07 08:51:23 -07:00
Drew Galbraith 81b925eea0 Add a basic IPC setup with Channel Object.
Pass a process a channel endpoint on startup that it will use to
get it's initial capabilities.
2023-06-07 08:24:10 -07:00
Drew Galbraith 6c10c57bfa Mass rename memory object variables.
Use shorthand:
AddressSpace -> vmas
MemoryObject -> vmmo

The VM prefix makes these a little more distinguishable in code.
2023-06-07 00:30:26 -07:00
Drew Galbraith a8a4f8d9ab Add checks to mammoth thread lib 2023-06-07 00:25:04 -07:00
Drew Galbraith 23895b5c6c Spawn Processes using memory primitives rather than and elf loader.
This allows us to remove the temporary syscall for that style of process
spawn.
2023-06-07 00:04:53 -07:00
Drew Galbraith 41d25a7b46 Reformat includes 2023-06-06 17:12:08 -07:00
Drew Galbraith 174d4b10fb Move threading calls into a basic user space library. 2023-06-06 16:56:19 -07:00