Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libsel4camkes: Add markdown documentation #82

Merged
merged 1 commit into from
Jun 17, 2024
Merged

Conversation

xurtis
Copy link
Contributor

@xurtis xurtis commented Aug 10, 2021

This commit adds documentation written in markdown that explains each part of the libsel4camkes library in more depth.

This appears to be draft documentation started by @kent-mcleod as part of developing the seL4 Device Driver Framework. It looks to be incomplete.

This might assume the API changes from #84

@xurtis xurtis marked this pull request as draft August 10, 2021 01:13
@lsf37
Copy link
Member

lsf37 commented Aug 10, 2021

Incomplete is a lot better than completely absent, so I'm all for that. Let me know if you need help with converting the license headers to SPDX.

@xurtis
Copy link
Contributor Author

xurtis commented Aug 10, 2021

Let me know if you need help with converting the license headers to SPDX.

Thanks, seems I didn't push the changes I had already made for that.

@lsf37
Copy link
Member

lsf37 commented Aug 10, 2021

Since this is all documentation, the license for it should be CC-BY-SA-4.0

@axel-h
Copy link
Member

axel-h commented Aug 10, 2021

nice work!

libsel4camkes/README.md Outdated Show resolved Hide resolved
libsel4camkes/docs/allocator.md Outdated Show resolved Hide resolved
other components.
* The maximum number of virtqueues a component can register is defined by `MAX_CAMKES_VIRTQUEUE_ID`
The functions exposed by this library can be found in the `include` folder.
There is also more in-depth documentation inside the `docs` folder.
Copy link
Member

Choose a reason for hiding this comment

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

Give a summary here, plus any global caveats.

Copy link
Member

Choose a reason for hiding this comment

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

That would be a good addition, but I think it is already useful without. Would add an issue for this.

libsel4camkes/docs/dma.md Show resolved Hide resolved
CAmkES allocates and manages. These functions are essentially an implementation
of the `ps_dma_man_t` interface in `ps_io_ops_t`. It is preferred that the DMA
requests go through the `ps_dma_man_t` interfaces instead of using these
functions.
Copy link
Member

Choose a reason for hiding this comment

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

Then why are they here?

Copy link
Member

Choose a reason for hiding this comment

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

Not really a documentation question. Please add an issue if they should be moved.

libsel4camkes/docs/msgqueue.md Outdated Show resolved Hide resolved
libsel4camkes/docs/timing.md Outdated Show resolved Hide resolved
libsel4camkes/docs/virtqueue.md Outdated Show resolved Hide resolved
libsel4camkes/docs/virtqueue.md Outdated Show resolved Hide resolved
libsel4camkes/docs/virtqueue.md Outdated Show resolved Hide resolved
libsel4camkes/docs/allocator.md Outdated Show resolved Hide resolved
The allocator in libsel4camkes can be used to allocate seL4 capability objects
from a managed pool. The `camkes_provide` function is mostly used in the by the
CAmkES backend to setup the pool on behalf of the user. In `simple` or
'dynamic' configurations of CAmkES, other allocators (`vka`, `vspace`, etc)
Copy link

Choose a reason for hiding this comment

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

explain what simple and dynamic configurations are.
vka is an interface.

Copy link
Member

Choose a reason for hiding this comment

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

Can we put this into an issue? Not having an answer to this question, but having the rest documented is a lot better than having no documentation at all.

libsel4camkes/docs/allocator.md Outdated Show resolved Hide resolved
libsel4camkes/docs/dataport.md Show resolved Hide resolved
libsel4camkes/docs/dataport.md Outdated Show resolved Hide resolved
libsel4camkes/docs/ps_io_ops_t.md Show resolved Hide resolved
libsel4camkes/docs/tls.md Show resolved Hide resolved
libsel4camkes/docs/virtqueue.md Outdated Show resolved Hide resolved
libsel4camkes/docs/virtqueue.md Outdated Show resolved Hide resolved
libsel4camkes/docs/vma.md Show resolved Hide resolved
@lsf37
Copy link
Member

lsf37 commented Sep 8, 2021

@abrandnewusername Are you working on this or did this just get assigned to by accident? (It's fine if not, then somebody can take it over)

@abrandnewusername
Copy link
Contributor

@abrandnewusername Are you working on this or did this just get assigned to by accident? (It's fine if not, then somebody can take it over)

Yes, I'm working on this, but I'm currently distracted by other works. I'm happy if anyone wants to contribute to this documentation.

@wom-bat
Copy link
Member

wom-bat commented Sep 22, 2021 via email

@lsf37
Copy link
Member

lsf37 commented Sep 22, 2021

Gerwin> I don't think we have a decided value for
Gerwin> markdown/documentation wrap. We have 120 for C and 100 for
Gerwin> Python, so 72 sounds a bit small, but smaller than code wrap
Gerwin> is justified for long text, I think.

I would prefer 72-75 for all of them. Peter C

You made my fingers twitch :-) I don't see any reason to change the C or python standards (they do have good reasons), but we can have a discussion about longer text where we don't have any specific rules yet. Should not be on this PR, though. I might start something on discourse later.

@wom-bat
Copy link
Member

wom-bat commented Sep 27, 2022

Is anything happening with this PR? I'd like it to be completed and merged ...

@lsf37 lsf37 force-pushed the df-docs branch 8 times, most recently from d715011 to 6eb7f82 Compare February 11, 2024 08:13
@lsf37 lsf37 self-assigned this Feb 11, 2024
@lsf37
Copy link
Member

lsf37 commented Feb 11, 2024

I have rebased the PR and addressed the review feedback as far as I could (so far in a separate commit, to be squashed before merging).

There are still a small number of open questions/requests. I would relegate these to an issue that people can keep working on. While maybe not complete, merging this PR in the current state is much better than what is there so far, and it doesn't look like anyone has had time to fully complete it in the past 3 years.

@yyshen and @wom-bat are you happy for this to be merged?

@lsf37 lsf37 marked this pull request as ready for review February 11, 2024 08:45
@lsf37 lsf37 requested review from yyshen, lsf37 and wom-bat and removed request for jashank February 11, 2024 08:45
@lsf37
Copy link
Member

lsf37 commented Feb 14, 2024

Ping: @yyshen and @wom-bat are you happy for this to be merged? (You don't have to do a full re-review -- if you're happy for the open questions to be resolved as issues later, we can merge).

This commit adds documentation written in markdown that explains each
part of the libsel4camkes library in more depth.

Signed-off-by: Gerwin Klein <[email protected]>
@lsf37 lsf37 merged commit 9164cfa into seL4:master Jun 17, 2024
25 checks passed
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.

7 participants