Drew Galbraith
0b9f83b321
[Teton] Wait on spawned processes to exit.
2023-12-02 13:26:42 -08:00
Drew Galbraith
642fc4d80d
[Zion/Mammoth] Move init cap decls to mammoth.
...
They no longer need to be independent now that we have removed the libc.
2023-12-01 10:42:26 -08:00
Drew Galbraith
c209925a3c
[Yunq] Return status from client calls.
2023-12-01 10:35:42 -08:00
Drew Galbraith
700f3f94cb
[Yunq] Return status in server code.
2023-12-01 10:26:03 -08:00
Drew Galbraith
3eba0bd9d8
[Yunq] Check identify byte and ensure users check status code.
2023-12-01 09:42:11 -08:00
Drew Galbraith
7d9f9a7ae9
[Yunq] Create libyunq and move parsing code to it.
2023-12-01 09:30:52 -08:00
Drew Galbraith
6212aef336
[Yellowstone] Move yellowstone yunq to namespace "yellowstone"
2023-11-30 08:50:43 -08:00
Drew Galbraith
9fdd670a23
[Voyageurs] Create unowned cap to pass to yellowstone.
2023-11-27 08:34:51 -08:00
Drew Galbraith
17b22c913b
[Denali] Create unowned cap to pass to yellowstone.
2023-11-27 08:34:37 -08:00
Drew Galbraith
1614f2ae53
[VictoriaFalls] Create unowned cap to pass to yellowstone.
2023-11-27 08:31:55 -08:00
Drew Galbraith
ad7794c694
[Yunq] Delete client capability in destructor.
...
Add a method to the server class to create an unowned capability. This
makes it simpler to create a capability for passing to other processes.
Duplicate the init yellowstone cap when using it temporarily.
2023-11-27 08:29:01 -08:00
Drew Galbraith
96a2f74e14
[Yunq] Release server cap on destructor.
2023-11-27 08:12:51 -08:00
Drew Galbraith
43d7bfa7ad
[Voyageurs] Use yunq native empty response for service.
2023-11-27 08:08:03 -08:00
Drew Galbraith
b95c736825
[Yellowstone] Use yunq native empty requests and responses for service.
2023-11-27 08:06:04 -08:00
Drew Galbraith
7c75b832b2
[Teton] Add a barebones way to spawn a process.
2023-11-26 21:14:15 -08:00
Drew Galbraith
26ab661dbf
[Teton] Change cwd command to pwd.
2023-11-26 19:12:54 -08:00
Drew Galbraith
29148c8756
[Teton] Add a cd command.
2023-11-26 19:12:09 -08:00
Drew Galbraith
ea8598068d
[Teton] Add a ls command.
2023-11-26 14:48:33 -08:00
Drew Galbraith
d0a3bf3936
[VictoriaFalls] Add a get directory ipc call for victoria falls.
2023-11-26 14:48:01 -08:00
Drew Galbraith
7d7cb8024c
[Teton] Add a help command.
2023-11-26 13:53:22 -08:00
Drew Galbraith
57947fb5dd
[Teton] Add a command to print the working directory.
2023-11-26 13:51:35 -08:00
Drew Galbraith
faa54bc3dc
[Teton] Buffer current command for executing.
2023-11-26 13:39:39 -08:00
Drew Galbraith
134185117d
[Teton] Handle Tab and Backspace.
2023-11-26 13:21:04 -08:00
Drew Galbraith
7f2b01438d
[Teton] Just print a simple promp on the screen.
2023-11-26 11:29:15 -08:00
Drew Galbraith
2bc64b045c
[Mammoth] Add a keyboard library that translates scancode to keycodes.
2023-11-26 11:21:56 -08:00
Drew Galbraith
aecae8e41f
[Teton] Fix offset in console to write correct character.
2023-11-25 19:56:08 -08:00
Drew Galbraith
1b7d2b9085
[Teton/Voyageurs] Subscribe to scancodes in teton and print them to screen.
...
Right now there appears to be an error with the font so that the
proper character is received but we write an incorect character to the
screen (off by one?).
2023-11-25 19:48:06 -08:00
Drew Galbraith
ea17c143cc
[Voyageurs] Register with yellowstone.
2023-11-25 19:37:04 -08:00
Drew Galbraith
8365d47cbe
[Voyageurs] Add a basic ps/2 keyboard driver.
2023-11-25 13:08:30 -08:00
Drew Galbraith
838ef01a2a
[Zion] Add a keyboard interrupt handler and a driver manager.
2023-11-25 11:14:30 -08:00
Drew Galbraith
0915cf45dc
Remove the basically-empty C library for now.
2023-11-24 08:48:16 -08:00
Drew Galbraith
cbeb736e8c
[Mammoth] Write a custom buddy allocator to replace libc malloc.
2023-11-23 18:55:02 -08:00
Drew Galbraith
d44be91099
[Zion] Add an argument to memory align a mapping.
2023-11-23 18:52:28 -08:00
Drew Galbraith
8ceab2ad23
[Yellowstone] Use the file api to load the init file.
2023-11-22 16:58:13 -08:00
Drew Galbraith
86ce0a68a3
[Mammoth/Teton] Add an OpenFile interface and use it to load a font.
2023-11-22 16:42:42 -08:00
Drew Galbraith
4fd17a59ea
[Victoriafalls] Update ext2 driver to read doubly-indirect blocks.
2023-11-22 16:41:12 -08:00
Drew Galbraith
8d730c67c1
[Mammoth] Move most classes to the mmth namespace.
2023-11-22 14:59:41 -08:00
Drew Galbraith
5f8d577948
[Mammoth] Move remaining classes to a shared folder.
2023-11-22 14:39:27 -08:00
Drew Galbraith
c42fb858ba
[Mammoth] Move thread and process to the proc/ folder
2023-11-22 14:10:10 -08:00
Drew Galbraith
99a75a4a76
[Mammoth] Move request/response context to ipc/ folder.
2023-11-22 13:56:40 -08:00
Drew Galbraith
f1cbfd18b7
[Mammoth] Move Mutex and Semaphore to a separate folder.
2023-11-22 13:45:04 -08:00
Drew Galbraith
ad5b55bf37
[Mammoth] Move ipc calls to separate folder mammoth.
2023-11-22 13:41:14 -08:00
Drew Galbraith
19e394ae7b
[Yellowstone] Use semaphores for handling yellowstone registration.
2023-11-22 13:30:59 -08:00
Drew Galbraith
41bf78cf98
[Denali] Update the read many request to take a sector count as well.
...
This greatly reduces the size of the message (we had surpassed the 1
page - 4KiB message limit with the previous method).
2023-11-22 12:17:58 -08:00
Drew Galbraith
76fd3fc176
Update TODOs to reflect completed tasks.
2023-11-22 11:00:21 -08:00
Drew Galbraith
2b8ae027df
[Denali] Use semaphores for DMA callback signaling.
2023-11-22 10:56:07 -08:00
Drew Galbraith
2df1f6c006
[Teton] Print out every character into the framebuffer as a test.
2023-11-22 08:56:26 -08:00
Drew Galbraith
afdb024c36
[Teton] Factor drawing glyphs to screen into a separate class.
2023-11-21 19:32:31 -08:00
Drew Galbraith
fe44804dd9
[Teton] Load a font file and write a character to the screen.
2023-11-21 19:14:02 -08:00
Drew Galbraith
126482f3e8
[Yellowstone] Release init caps after loading.
...
This was incredibly helpful for finding cases where we were using
uninitialized memory as it causes a lot more pages to be reused early.
2023-11-19 22:54:26 -08:00
Drew Galbraith
322502fcee
[Denali] Zero out uninitialized devices.
2023-11-19 22:54:01 -08:00
Drew Galbraith
a0a673ee16
[Yellowstone] Free Teton file cap after spawning process.
2023-11-19 21:38:04 -08:00
Drew Galbraith
344e84c313
[Mammoth] Get rid of last uses of MappedMemoryRegion.
2023-11-19 20:48:23 -08:00
Drew Galbraith
d41a565721
[Mammoth] Add an OwnedMemoryRegion for ContiguousPhysical.
2023-11-19 20:42:38 -08:00
Drew Galbraith
deb2e708cd
[Mammoth] Add a helper method for duplicating memory capabilities.
2023-11-19 20:35:55 -08:00
Drew Galbraith
8e827a5dfb
[Mammoth] Move all callers of FromCapability to OwnedMemoryObject.
2023-11-19 20:33:15 -08:00
Drew Galbraith
337126cabb
[Glacier] Update String to be non-copyable by default.
2023-11-19 19:14:37 -08:00
Drew Galbraith
3e9923f227
[Mammoth] Add an owned memory capability that cleans itself up.
2023-11-19 17:54:28 -08:00
Drew Galbraith
fb458e6fd4
[Teton] Draw a green square into the framebuffer.
2023-11-15 19:20:52 -08:00
Drew Galbraith
84d3caaba5
[Teton] Get framebuffer info from yellowstone.
2023-11-15 16:42:00 -08:00
Drew Galbraith
1ccbf5e12e
[Yellowstone] Disable most log messages in yellowstone.
2023-11-15 16:26:15 -08:00
Drew Galbraith
c080c61398
[Denali] Reduce noise on AHCI interrupt.
2023-11-15 16:21:19 -08:00
Drew Galbraith
7c105c8a31
[Sys] Successfully spin up a new process from disk.
2023-11-15 09:47:32 -08:00
Drew Galbraith
0e99189dba
[Yellowstone] Try to spawn the teton process from disk.
2023-11-09 12:55:44 -08:00
Drew Galbraith
9e05b3b3dd
[Yellowstone] Add a method to get the framebuffer info from yellowstone.
2023-11-09 11:33:32 -08:00
Drew Galbraith
fa6a5949b2
[Zion] Pass the framebuffer info to yellowstone init process.
2023-11-09 11:20:41 -08:00
Drew Galbraith
17ed4ca1f6
Fix remainder of formats in userland.
2023-11-05 09:25:11 -08:00
Drew Galbraith
26b61db021
Move userspace to a templated StrFormat.
2023-11-03 02:48:21 -07:00
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
bcd9cf09bc
[VictoriaFalls] Add the file size to VFS.OpenFile
2023-11-02 21:02:56 -07:00
Drew Galbraith
d7050ff19f
[VictoriaFalls] Implement Read File.
2023-11-02 20:57:28 -07:00
Drew Galbraith
abf09d8fce
[VictoriaFalls] Split the path when opening a file.
2023-11-02 20:24:33 -07:00
Drew Galbraith
b6c220a350
[Yellowstone] Attempt to read a test file from the system root.
2023-11-02 19:28:27 -07:00
Drew Galbraith
38fb6ca170
[VictoriaFalls] Register VFS endpoint with yellowstone.
2023-11-02 18:55:05 -07:00
Drew Galbraith
48c7721b0f
[VictoriaFalls] Add a VFS yunq stub and register it.
2023-10-25 23:08:45 -07:00
Drew Galbraith
c8dcc07d7d
Update CMakeLists to autogen yunq files.
2023-10-25 21:53:55 -07:00
Drew Galbraith
0dbafbfa66
[Yunq] Reset cap buffers between server uses.
2023-10-25 20:46:36 -07:00
Drew Galbraith
b85af8d0f8
[Yunq] Fix bug in logging reply errors.
2023-10-25 20:40:39 -07:00
Drew Galbraith
3e4fdfee84
[Denali] Move denali server to yunq.
2023-10-25 20:28:28 -07:00
Drew Galbraith
acfaf26391
[Denali] Use mutexes to synchronize the AHCI responses.
...
This is a temporary solution to allow denali to migrate to the
yunq framework until we have a good async solution.
2023-10-25 19:39:09 -07:00
Drew Galbraith
adfffdd3c3
[Yellowstone] Use mutex to wait for denali to spawn VFS.
...
Kind of a hacky way to pass a signal between threads but works as
a POC for thread synchronization.
2023-10-25 19:08:00 -07:00
Drew Galbraith
4c2237fa72
[Yellowstone] Move yellowstone yunq def to yellowstone/lib/
2023-10-24 23:49:42 -07:00
Drew Galbraith
af0852a5fa
[yellowstone] Update TODO.
2023-10-24 23:43:57 -07:00
Drew Galbraith
05e12aaa7d
[Yellowstone] Move registration service to the main yellowstone service
2023-10-24 23:42:49 -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
5b781bb394
Update READMEs and TODOs
2023-10-24 22:56:45 -07:00
Drew Galbraith
2b27af5814
[Yellowstone] Move to yunq definition for yellowstone server.
2023-10-24 18:24:26 -07:00
Drew Galbraith
48c6e5b3a4
[zion] Add a method for duplicating and scoping down VMMOs.
...
Use the AHCI section of the PCI config as an example POC of this.
We can now pass a memory capability instead of just the physical
address.
2023-08-01 17:46:26 -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
083ed52ddd
[Victoria Falls] Print only the root directory information.
...
Move the InodeTable creating to the Init function which (somewhat)
requires us to stop taking the Ext2BlockReader as a reference (the reference
from the Init function goes out of scope). Make the Ext2BlockReader Init
function return a shared ptr by default.
2023-08-01 10:39:26 -07:00
Drew Galbraith
bed685af65
[Victoria Falls] Clean up directory probe debug printing
2023-07-31 23:54:41 -07:00
Drew Galbraith
3dce058562
[Victoria Falls] Fix DirEntry member size
2023-07-31 23:42:52 -07:00
Drew Galbraith
2ff4334bea
[victoriafalls] Begin traversing the root inode.
2023-07-06 10:40:55 -07:00
Drew Galbraith
150bfd2fd4
[victoriafalls] Move a superblock-based calculations to the block reader
2023-07-06 09:58:26 -07:00
Drew Galbraith
52b4b273b7
[victoriafalls] Add InodeTable class to cache Inode info
2023-07-06 09:39:17 -07:00
Drew Galbraith
21c1a001ea
[victoriafalls] Move the block to lba translation to a small wrapper.
...
Abstract this away into a thin wrapper over the denali client such that
it can be called from other helper classes.
2023-07-05 23:19:25 -07:00
Drew Galbraith
a49d13f1d1
[victoriafalls] Add an Ext2Driver class which probes the superblock.
2023-07-05 22:56:08 -07:00