Open tammyleino opened 1 year ago
Which data structures do we want to consider public? Here is the current list that gets published in the documentation. Not all members are documented, and I am going to be hard-pressed to flesh it all out before release.
No documentation of members:
Elf32_Ehdr
elf32_info
Elf32_Phdr
Elf32_Rel
Elf32_Rela
Elf32_Shdr
Elf32_Sym
Elf64_Ehdr
elf64_info
Elf64_Phdr
Elf64_Rel
Elf64_Rela
Elf64_Shdr
Elf64_Sym
rpmsg_rpc_data
rpmsg_rpc_syscall
rpmsg_rpc_syscall_header
vring_used_elem
Fully documented: fw_rsc_carveout fw_rsc_devmem fw_rsc_hdr fw_rsc_trace fw_rsc_vdev fw_rsc_vdev_vring fw_rsc_vendor image_store_ops loader_ops remoteproc remoteproc_mem remoteproc_ops remoteproc_virtio resource_table rpmsg_device rpmsg_device_ops rpmsg_endpoint rpmsg_hdr rpmsg_ns_msg rpmsg_rpc_answer rpmsg_rpc_client_services rpmsg_rpc_clt rpmsg_rpc_services rpmsg_rpc_svr rpmsg_virtio_config rpmsg_virtio_device rpmsg_virtio_shm_pool virtio_device virtio_vring_info vring_desc vring_avail vring_used
@wmamills @arnopo @edmooring
First PR opened for already documented data structures here https://github.com/OpenAMP/open-amp/pull/507
Which data structures do we want to consider public? Here is the current list that gets published in the documentation. Not all members are documented, and I am going to be hard-pressed to flesh it all out before release.
No documentation of members: Elf32_Ehdr elf32_info Elf32_Phdr Elf32_Rel Elf32_Rela Elf32_Shdr Elf32_Sym Elf64_Ehdr elf64_info Elf64_Phdr Elf64_Rel Elf64_Rela Elf64_Shdr Elf64_Sym rpmsg_rpc_data rpmsg_rpc_request rpmsg_rpc_syscall rpmsg_rpc_syscall_header virtio_device_id virtio_dispatch virtio_feature_desc virtqueue virtqueue_buf vq_desc_extra vring vring_alloc_info vring_avail vring_used vring_used_elem
From my point of view; would be nice to comment
vring, vring_alloc_info, vring_avail, vring_used, vring_used_elem =>Descriptions are available in https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/virtio-v1.2-csd01.html
virtio_device_id, virtio_dispatch, virtio_feature_desc, virtqueue, virtqueue_buf, vq_desc_extra => Probably more complex to comment, If you don't know how to comment it, I will try to do it for the release.
For the ELF* structure, no strong need
Which data structures do we want to consider public? Here is the current list that gets published in the documentation. Not all members are documented, and I am going to be hard-pressed to flesh it all out before release. No documentation of members: Elf32_Ehdr elf32_info Elf32_Phdr Elf32_Rel Elf32_Rela Elf32_Shdr Elf32_Sym Elf64_Ehdr elf64_info Elf64_Phdr Elf64_Rel Elf64_Rela Elf64_Shdr Elf64_Sym rpmsg_rpc_data rpmsg_rpc_request rpmsg_rpc_syscall rpmsg_rpc_syscall_header virtio_device_id virtio_dispatch virtio_feature_desc virtqueue virtqueue_buf vq_desc_extra vring vring_alloc_info vring_avail vring_used vring_used_elem
From my point of view; would be nice to comment
* vring, vring_alloc_info, vring_avail, vring_used, vring_used_elem =>Descriptions are available in https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/virtio-v1.2-csd01.html * virtio_device_id, virtio_dispatch, virtio_feature_desc, virtqueue, virtqueue_buf, vq_desc_extra => Probably more complex to comment, If you don't know how to comment it, I will try to do it for the release.
For the ELF* structure, no strong need
I was able to find info for vring_avail, vring_used and vring from the reference above, but cannot find the others. If we could please merge my PR and then you could open a new one with additional comments, that would be ideal for me.
Should I mark the others private so they don't show up in the doc?
I was able to find info for vring_avail, vring_used and vring from the reference above, but cannot find the others. If we could please merge my PR and then you could open a new one with additional comments, that would be ideal for me.
That sound good to me
Should I mark the others private so they don't show up in the doc?
I prefer to keep them in the doc even if uncommented. Could you list in this issue the structures that are not yet commented?
@arnopo I updated the list above to show the currently undocumented and documented data structures. We can leave this ticket open until all data structures are documented. It would be nice to at least have a description for each one, even if the members are not documented.
Following structures are commented in https://github.com/OpenAMP/open-amp/pull/510:
This issue has been marked as a stale issue because it has been open (more than) 45 days with no activity.
Following page give a up to date status on documented/undocumented structures: https://openamp.readthedocs.io/en/latest/doxygen/openamp/annotated.html
Seems not useful to document ELFxx structures. Perhaps we could remove the elf_loader.h from the API list as it is more dedicated to an internal usage. @tnmysh @edmooring : any opinion?
Remaining structure to document:
virtio_ident
rpmsg_rpc_data
rpmsg_rpc_syscall
rpmsg_rpc_syscall_header
vring_used_elem
Seems not useful to document ELFxx structures. Perhaps we could remove the elf_loader.h from the API list as it is more dedicated to an internal usage. @tnmysh @edmooring : any opinion?
Correct, elf loading is more internal usage of remoteproc framework. @arnopo , To me it's okay to remove elfxx structures and elf_loader.h.
This issue has been marked as a stale issue because it has been open (more than) 45 days with no activity.
The data structures are not documented consistently, and the way they are currently documented, the member description does not show up in the documentation. This proposal will follow the convention set forth by Zephyr.
Example:
before:
after:
Secondly, update Doxyfile to remove line number / file from description of data structures members