vchan - ku-sldg/stairCASE GitHub Wiki

vchan

what is

stands for like virtual channel i guess
please observe the file

.../vm/components/Init/src/vchan_init.c

functions

we got stuff like

  • data_to_guest
  • data_from_guest
  • driver_connect
  • vchan_connect
  • vchan_readwrite

wowee!

but wait there's more!
each of these functions takes a vmm_t as the first argument, so that's pretty cool

that's pretty cool
i guess one of these must do what we want

yeah, and what is it we want?

we want the two components to communicate, one of which is a vmm, and we want to communicate INTO the vmm.

that's quite the pickle

you're tellin' me. what's so great about this file?

in the minimal app, in the cmakelists file, we see a function call that is

DeclareCAmkESVM(Init0)

which is defined in

.../vm/camkes_vm_helpers.cmake

which includes the directory containing the file in question!

Okay, so now what?

now we gotta try out these functions, i spose, but frankly it looks like a headache

thoughts

At first, I'd been thinking about using a dataport to do this job, as had been covered briefly in some of the camkes tutorials. But now that I see this vchan stuff, I'm not sure if the dataport is the right tool for the job. Maybe we even have to use both.

a dataport connection between components... to a vchan connection from a component to its vm?
is that what this should look like?

C1 -> ( C2 -> VM )

hm

⚠️ **GitHub.com Fallback** ⚠️