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
Drew Galbraith
0274339cc9
[victoriafalls] Read some of the ext2 superblock as a POC
2023-07-05 17:17:39 -07:00
Drew Galbraith
29d9923f5a
[yellowstone] Add a way to retrieve to denali client from yellowstone
2023-07-05 16:03:20 -07:00
Drew Galbraith
c057da88ad
[yellowstone] Add registration to yellowstone stub.
2023-07-05 15:01:29 -07:00
Drew Galbraith
72483a3437
Add a yellowstone stub and partially migrate denali
2023-07-05 14:51:24 -07:00
Drew Galbraith
318356e54c
[yellowstone] Log a line when MBR is incorrect
2023-07-05 14:33:00 -07:00
Drew Galbraith
a8db218204
[denali] Relocate AHCI structures to memory we control
2023-07-05 14:32:19 -07:00
Drew Galbraith
1412c5b73e
[denali] Factory construct the AHCI Driver
2023-06-26 17:35:51 -07:00
Drew Galbraith
16dd675828
[denali] Get Ahci device address from yellowstone.
2023-06-26 17:01:59 -07:00
Drew Galbraith
08abe776a4
[yellowstone] Rename yellowstonestub to yellowstone_stub.
2023-06-26 11:59:29 -07:00
Drew Galbraith
3c62ad8719
[denali] Rename libdenali to denali_stub
2023-06-26 11:58:29 -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
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
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
3a3ab8717b
[denali] Use glcr::ErrorOr as a POC.
2023-06-21 18:38:11 -07:00
Drew Galbraith
0b86a94f14
Migrate to error constants in glacier
2023-06-21 18:28:54 -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
36a83b142b
[yellowstone] Use denali client to parse GPT
2023-06-19 22:58:00 -07:00
Drew Galbraith
45cf2115da
[denali] Add a stub client for denali
2023-06-19 22:57:08 -07:00
Drew Galbraith
a202bf2371
Have yellowstone dump the MBR/GPT tables
2023-06-19 21:54:40 -07:00
Drew Galbraith
0aa38ac4a4
[denali] Make denali less noisy on interrupt
2023-06-19 21:51:53 -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