Closed Liblor closed 4 years ago
urpc protocol for this milestone as of writing of this note:
shared frame contains the following data structure:
struct urpc_shared_mem {
enum urpc_msg_type type;
enum urpc_status status;
union {
struct bootinfo_msg bootinfo_msg;
struct urpc_spawn_request spawn_req;
struct urpc_spawn_response spawn_resp;
};
};
urpc_shared_mem->status
until status indicates that datastructure contains data for slave.
urpc_shared_mem->type
encodes struct available in union.how to spawn a process on core1: usecase: binaryA on core0 spawns hello on core1: core0 to core1:
When I compile the code I get a binary that produces a binary with the following error:
hello.1.0: libc exit NYI!
multicore_test.0.0: spawned hello: pid 99 on core 0
armv8/sbin/init.1.0: got UrpcMasterData
armv8/sbin/init.1.0: name is: /armv8/sbin/hello
kernel 1 PANIC! oops: frame offset invalid
However, if @abertschi builds it, the issue doesn't occur (I tried his binary it worked without a problem). This is pretty weird as we both build using podman
Have you both removed the build directory and called Hake from scratch?
When I compile the code I get a binary that produces a binary with the following error:
hello.1.0: libc exit NYI! multicore_test.0.0: spawned hello: pid 99 on core 0 armv8/sbin/init.1.0: got UrpcMasterData armv8/sbin/init.1.0: name is: /armv8/sbin/hello kernel 1 PANIC! oops: frame offset invalid
However, if @abertschi builds it, the issue doesn't occur (I tried his binary it worked without a problem). This is pretty weird as we both build using podman
I rebuilt on ec484ae4aab4ef63f80dc3f718c6715afa139aa3 and get the same error message. @abertschi Can you remove build/
and run make hake && make install
to confirm?
Tasks:
urpc_receive_bootinfo
to return bootinfourpc_slave_serve_req
(bootinfo)urpc_slave_serve_req
serve one single request, caller loops insteadcomandline_len
tocomandline_size
malloc
)Discussion topics:
aos_rpc_init
where to call?Milestone summary (demo):