Skip to content

Add man pages for fastrpc and daemons#355

Open
m-bhattar wants to merge 1 commit into
qualcomm:developmentfrom
m-bhattar:clean-manpages
Open

Add man pages for fastrpc and daemons#355
m-bhattar wants to merge 1 commit into
qualcomm:developmentfrom
m-bhattar:clean-manpages

Conversation

@m-bhattar

Copy link
Copy Markdown

Add man pages for the following:
-fastrpc(3): documents the FastRPC C API
-adsprpcd(8), cdsprpcd(8), sdsprpcd(8), gdsprpcd(8): documents FastRPC daemons for these DSPs

Man pages are written using standard roff macros and verified using 'man -l' for rendering. Man pages are added under Docs/manpages.

Add man pages for the following:
-fastrpc(3): documents the FastRPC C API
-adsprpcd(8), cdsprpcd(8), sdsprpcd(8), gdsprpcd(8): documents FastRPC daemons for these DSPs

Man pages are written using standard roff macros and verified using 'man -l' for rendering.
Man pages are added under Docs/manpages.

Signed-off-by: Mahima Bhattaram <mbhattar@qti.qualcomm.com>
@m-bhattar

Copy link
Copy Markdown
Author

@basak-qcom could you please review this

@basak-qcom basak-qcom left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this! I filed #229 from a Debian packaging perspective because Debian requires all binaries shipped in /usr/bin and /usr/sbin to have manpage. This PR would fix that, and I'd simply ship it. So from the Debian perspective, the details don't matter. For these purposes, fastrpc.3 isn't necessary either, but we will ship it in the Debian packaging if you land it.

Since you asked me to review though, here's a more thorough look.

Please link the commit to issue #229 which it fixes.

The daemons cdsprpcd, adsprpcd, gdsprpcd etc are all generated from a single source file dsprpcd.c now, with the multiple names primarily existing for backwards compatibility. Maybe it makes sense to use a single manpage text and symlink the others to keep them the same. It is an established pattern in manpages for a single page to cover multiple related content made available from multiple names via symlinks. See for example strcpy(3), strcat(3) etc.

Please adjust the build system to such that make install will install these manpages using the usual pattern.

These are daemons, so please specify how they operate as daemons and how they should be invoked. Do they fork themselves, do we need them to fork, etc. What privileges should they be run under? There is reference to a device node. Which one? "Enables the DSP to access the HLOS file system" -> this implies that the daemon will read the file system. What will it expose to the DSP? "Facilitates the transfer of adsp process exception logs to the HLOS logging infrastructure" -> where will these appear on the host system?

#321 is relevant here.

It's not necessary for the manpage to provide everything or duplicate information elsewhere, but please be careful about using terms that the reader will not understand and provide a trail so that they can resolve them.

Comment thread Docs/manpages/gdsprpcd.8
.IP \[bu]
\fBRemote file system access\fR: Enables the DSP to access the HLOS file system.
.SH FILES
.I libcdsp_default_listener.so

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cdsp or gdsp?

Comment thread Docs/manpages/fastrpc.3
.BR adsprpcd (8),
.BR cdsprpcd (8),
.BR sdsprpcd (8),
.BR gdsprpcd (8) No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\ No newline at end of file

Comment thread Docs/manpages/fastrpc.3
.SH NAME
fastrpc \- Qualcomm FastRPC C API
.SH SYNOPSIS
.B #include <remote.h>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be prefixed fastrpc/?

Comment thread Docs/manpages/fastrpc.3
.SH SYNOPSIS
.B #include <remote.h>
.br
.B #include <rpcmem.h>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be prefixed fastrpc/?

Comment thread Docs/manpages/gdsprpcd.8
@@ -0,0 +1,33 @@
.TH gdsprpcd 8 "May 2026" "fastrpc" "System Administration"
.SH NAME
gdsprpcd \- FastRPC daemon for GDSP

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GDSP or gdsp (inconsistent with the others)?

Comment thread Docs/manpages/adsprpcd.8
.IP \[bu] 2
\fBException logging\fR: Facilitates the transfer of adsp process exception logs to the HLOS logging infrastructure.
.IP \[bu]
\fBRemote file system access\fR: Enables the DSP to access the HLOS file system.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"HLOS" may not be a term that users will understand.

Comment thread Docs/manpages/adsprpcd.8
Display help information and exit.
.TP
.I pd_name domain
Start the daemon for a specific Protection Domain (PD) and domain. Example: \fBrootpd adsp0\fR (or \fBadsp1\fR)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is a Protection Domain?

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