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

Documentation Update and Restructure #37

Open
wants to merge 65 commits into
base: main
Choose a base branch
from
Open

Conversation

sipke
Copy link

@sipke sipke commented Sep 30, 2024

Restructure Project Overview section and add higher level architecture and associated diagrams and add more links to underlying pages.
Some changes are anticipated in future as new content is added and we wish to maintain consistency across pages.

Sipke Vriend added 23 commits September 25, 2024 18:52
Provide a succinct introduction to AMP with comparison to SMP to lead into
a new section detailing the 'Fundamental' parts that OpenAMP is addressing
with the intent of leading into which parts are implemented by what
part of OpenAMP architecture which is the next section.
Parts taken from 'System Wide Considerations'.
provide a high level architecture and diagram of a chained topology and
reference components to the amp fundamentals they serve.
restructure and reword with aim of flowing from intro, to architectural
overview through to project and member info.
images were not rendering correctly
adjust after review from readthedocs rendering
to help the reader locate the components repeat the diagrams highlighting
the references components per section.
so we can reference the endpoint information from other pages,
add a reference in the rpmsg doc file
in migrating demo documentation start a new section via an index page
which will hold a top down architectural description of the demos.
use the architecture overview diagram to exemplify the demo and the
components used.
To allow for restructure of demos to have example explanations and then
links to implementation on reference boards, create new document to link
to reference boards.
use source for code, and implementation for reference boards in headings.
Reference boards have move to own section so remove from original index.
Leave the other sections in situ still as they have not been captured
elsewhere yet.
@sipke sipke changed the title Project Overview Restructure Documentation Update and Restructure Oct 14, 2024
Copy link
Collaborator

@arnopo arnopo left a comment

Choose a reason for hiding this comment

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

Hi @spike

I started to look at your updates. Please find a few comments. I know that the work is ongoing so feel free to ignore them if they are not relevant.

openamp/overview.rst Outdated Show resolved Hide resolved
@@ -53,6 +59,8 @@ This diagram details the Resource Assignment using a different color for each **

The yellow colored boxes are the Linux **runtime domain** as the master running on a single processor, utilizing the two cores in a `Symmetric Multiprocessing <https://en.wikipedia.org/wiki/Symmetric_multiprocessing>`_ setup, and the green and blue colored boxes details the RTOS and Bare Metal slave applications each running on a single core of a remote processor as their own **runtime domain**. The Linux system shares memory with both slaves, but the slave applications do not share memory. Each domain owns independent peripherals in the system. Although the Linux domain is `SMP <https://en.wikipedia.org/wiki/Symmetric_multiprocessing>`_, all three **runtime domains** together make up an `AMP <https://en.wikipedia.org/wiki/Asymmetric_multiprocessing>`_ system.

.. _runtime-control-work-label:

Runtime Control
Copy link
Collaborator

Choose a reason for hiding this comment

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

not fan of this name as it not obvious to understand what is behind this term.
what about "remote processor life cycle management" or something similar?

Copy link
Author

@sipke sipke Oct 28, 2024

Choose a reason for hiding this comment

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

If you mean runtime domain, Its introduced in the Elevator Pitch (https://www.openampproject.org/docs/presentations/OpenAMP-Elevator-Pitch-2024-Q1.pdf) so this was an attempt to tie that through. It is different to LCM, as I think it is trying to emphasize how to share resources?
Happy to clarify or change direction...

Copy link
Collaborator

Choose a reason for hiding this comment

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

I propose that we have a discussion to clarify this chapter in the next meeting.

openamp/overview.rst Outdated Show resolved Hide resolved
openamp/overview.rst Outdated Show resolved Hide resolved
Standardization of the IPC is promoted by the OpenAMP project through the use of :ref:`RPMsg <rpmsg-protocol-work-label>`, using `Open Standard Virtio devices <https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html>`_ as the HW abstraction or MAC layer. The abstraction using Virtio means that the implementer can optionally use :ref:`Resource Isolation<resource-isolation-work-label>` via a hypervisor, which is exemplified by the first processor in the architecture diagram. The other two processors are in what is referred to as a hypervisorless-virtio setup because they are using virtio (virtual io) as an abstraction layer but without a hypervisor.
Standardization of the IPC is promoted by the OpenAMP project through the use of :ref:`RPMsg <rpmsg-protocol-work-label>`, using `Open Standard Virtio devices <https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html>`_ as a HW abstraction or MAC layer. The abstraction using Virtio means that the implementer can optionally use :ref:`Resource Isolation<resource-isolation-work-label>` via a hypervisor, which is exemplified by the first processor in the architecture diagram. The other two processors are in what is referred to as a hypervisorless-virtio setup because they are using virtio (virtual io) as an abstraction layer but without a hypervisor.

The OpenAMP Proxy and RPC Service are higher level IPC components.
Copy link
Collaborator

Choose a reason for hiding this comment

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

to discuss in meeting if we keep this in the global archi are if we should have a dedicated page. for me it is part of the application not the library

demos/echo.rst Outdated Show resolved Hide resolved
demos/echo.rst Outdated
This Echo Test Sample is demonstrated in the following reference implementations.

* :ref:`Docker Images<docker-images-label>` as demo1A
* :ref:`AMD-Xilinx platforms<demos-AMD--work-label>`
Copy link
Collaborator

Choose a reason for hiding this comment

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

It is also possible to run this test on a linux PC between 2 processes as described here:
https://github.com/OpenAMP/open-amp/blob/main/README.md#example-to-compile-openamp-for-communication-between-linux-processes

Copy link
Author

Choose a reason for hiding this comment

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

added a todo for later addition

Copy link
Author

Choose a reason for hiding this comment

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

done

This Matrix Multiply Sample is demonstrated in the following reference implementations.

* :ref:`Docker Images<docker-images-label>` as demo1B
* :ref:`AMD-Xilinx platforms<demos-AMD--work-label>`
Copy link
Collaborator

Choose a reason for hiding this comment

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

same it is available using Linux processes

Copy link
Author

Choose a reason for hiding this comment

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

done

openamp/overview.rst Show resolved Hide resolved
openamp/overview.rst Outdated Show resolved Hide resolved
add intro diagram and initial introduction for sample client for the
RPMsg multi services demo.
Sipke Vriend added 29 commits November 18, 2024 08:21
Change name to design rather than protocol details as this section covers
both.
Also add short introductory sentence with link to architecture intro.
restructure design sections to have sub-sections dependent on capability.
to match the summary, reverse the order of the table of contents headings
as we added a toc to link to the lower level pages, change the
introductory paragraphs to be in a table for visual clarity.
some references to what looks like older implementations exist, so fix
the link or remove the reference.
the design docs are a deeper level set of design and located in the
source repositories, so make mention of this as intro.
@nathalie-ckc
Copy link
Collaborator

In 11th Dec 2024 System Reference working group call, we discussed that we should put this on the January 8th call agenda (when more folks are on) to discuss how to divide up the reviews or if we should have a docs review sprint. Finishing up end of year is busy for those on the call today.

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.

3 participants