Add capscan suport.

Add support to output the contents of the top-level CNode of a CAmkES
service or KataOS application to the serial console. This is dependent
on kernel support that is enabled with CONFIG_PRINTING. Applications
must be running; otherwise there is no CSpace to dump.

Specific changes:
- add a "capscan" shell command
- add capscan method to each CAmkES interface
- add capscan_bundle method to the ProcessControlInterface
- add Camkes::capscan() to dump the top-level CNode
- add ProcessManager support to dump the CNode for a bundle

TODO: fix syscall wrapper error return

Change-Id: If6ca222decdb4c40a1d3a63e69792eb3feb30f6a
GitOrigin-RevId: 504c0182ccccf287b5d58cd8e33981c11d7539d7
This commit is contained in:
Sam Leffler
2022-07-09 18:48:45 +00:00
parent c2accc33b0
commit 05233af12c
32 changed files with 323 additions and 6 deletions

View File

@@ -79,3 +79,12 @@ pub fn kata_mlcoord_debug_state() {
}
unsafe { mlcoord_debug_state() };
}
#[inline]
pub fn kata_mlcoord_capscan() -> Result<(), MlCoordError> {
extern "C" {
fn mlcoord_capscan();
}
unsafe { mlcoord_capscan() };
Ok(())
}