Skip to content

Conversation

@flamingradian
Copy link
Collaborator

This is the change proposed to solve #1. There are things that aren't solved here yet, like missing support for methods after method ID 30.

The method call format as interpreted last time had some limitations.
First, input words could not appear after the input buffers, making it
impossible to represent the apps_std_mkdir method accurately. Second, it
was assumed that the lengths in the primary input buffer represent the
number of bytes. In reality, the lengths represent the number of
elements, which just happened to be octets in the majority of remote
methods found, and the adsp_perf_get_usecs remote method could not be
represented. Update the format for the third time to remove these
limitations.

This format allows the mixing of words and lengths of other buffers in
the primary buffer by using 0 to denote words in an array of arguments.
It also allows a greater size of elements, denoted by any non-zero
value.
Add the remote method definitions according to the 3rd format version.
When the kernel side of FastRPC fails, the return value is -1 and errno
is set. When the remote side of FastRPC fails, the return value is an
AEE error code. It is not specialized for the reverse tunnel. Add an
error API that can convert the return value to a string-based error.
Add the remote method definitions for interfaces used by HexagonRPCD
according to the 3rd format version.
Add the remote method definitions for the CHRE interface according to
the 3rd format version.
The inline functions are convenient, but shouldn't be defined in every
source file that uses them. Use the new functions defined in the
interface definitions.
For a proper transition to version 3 of the method definitions, switch
the reverse tunnel to version 3.
@flamingradian
Copy link
Collaborator Author

Superseded by #13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants