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