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

@@ -132,3 +132,8 @@ pub unsafe extern "C" fn data_fault_handle() {
pub unsafe extern "C" fn mlcoord_debug_state() {
ML_COORD.lock().debug_state();
}
#[no_mangle]
pub unsafe extern "C" fn mlcoord_capscan() {
let _ = Camkes::capscan();
}