userspace/hal: move RPC data marshalling to libwr
This is the first step to move the "get_port_state" query to shared
memory. The internal structures of hal_ports.c will be allocated
in shared memory, so the calls to halexp_* will just convert the data,
without context-switching to the hal process.
I couldn't add the functions to libwr/hal_client.c where they belong,
because the choice of using the same "halexp" names for local and remote
calls would lead to duplicate symbol definitions when linking the hal
(the hal process links libwr, but can't link hal_client.o).
Thus, libwr/hal_shmem.c is created, to host the parts of hal/hal_ports.c
that are needed to convert data.
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Showing
userspace/libwr/hal_shmem.c
0 → 100644
Please
register
or
sign in
to comment