diff --git a/images/architecture/overview-architecture-libmetal.svg b/images/architecture/overview-architecture-libmetal.svg deleted file mode 100644 index 7d32252d..00000000 --- a/images/architecture/overview-architecture-libmetal.svg +++ /dev/null @@ -1,498 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Main - - - - - - - - Remote - - - - - - - - - - FW - - - - - - - - libmetal - - - - - - - - Virtio - - - - - - - - ResourceTable - - - - - - - - Remote Main - - - - - - - Remoteproc - - - - - - - - RPMsg - - - - - - - - - - - - - - - - FW - - - - - - - - ResourceTable - - - - - - - Remoteproc - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - Resource Assign - - - - - - - - - - Load FW - - - - - - - - - - Load FW - - - - - - - Hypervisor - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - libmetal - - - - - - - - Virtio - - - - - - - - RPMsg - - - - - - - OpenAMP - - - - - - - - libmetal - - - - - - - - RPMsg - - - - - - - - Virtio - - - - - - - OpenAMP - - - - - - - - Virtio - - - - - - - - - - Resource Assign - - - - - - - - - - Start, Stop - - - - - - - - - - Start, Stop - - - - - - - - Proxy - - - - - - - - - - File IO - - - - - - - - RPC - - - - - - - - - - - - - - - - - - RPC - - - - - - - - - - - IPC - - - - - - - - - - - IPC - - - - - - - - \ No newline at end of file diff --git a/images/architecture/overview-architecture-proxy.svg b/images/architecture/overview-architecture-proxy.svg deleted file mode 100644 index 178a562d..00000000 --- a/images/architecture/overview-architecture-proxy.svg +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Main - - - - - - - - Remote - - - - - - - - - - FW - - - - - - - Virtio - - - - - - - - ResourceTable - - - - - - - - Remote Main - - - - - - - Remoteproc - - - - - - - RPMsg - - - - - - - - - - - - - - - - FW - - - - - - - - ResourceTable - - - - - - - Remoteproc - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - Resource Assign - - - - - - - - - - Load FW - - - - - - - - - - - IPC - - - - - - - - - - Load FW - - - - - - - Hypervisor - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - Virtio - - - - - - - RPMsg - - - - - - - - - - - IPC - - - - - - - OpenAMP - - - - - - - RPMsg - - - - - - - Virtio - - - - - - - OpenAMP - - - - - - - Virtio - - - - - - - - - - Resource Assign - - - - - - - - - - Start, Stop - - - - - - - - - - Start, Stop - - - - - - - libmetal - - - - - - - libmetal - - - - - - - libmetal - - - - - - - - Proxy - - - - - - - - - - File IO - - - - - - - - RPC - - - - - - - - RPC - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/architecture/overview-architecture-remoteproc.svg b/images/architecture/overview-architecture-remoteproc.svg deleted file mode 100644 index 2f99240b..00000000 --- a/images/architecture/overview-architecture-remoteproc.svg +++ /dev/null @@ -1,491 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Main - - - - - - - - Remote - - - - - - - - - - FW - - - - - - - Virtio - - - - - - - - - - ResourceTable - - - - - - - - Remote Main - - - - - - - - Remoteproc - - - - - - - RPMsg - - - - - - - - - - - - - - - - FW - - - - - - - - - - ResourceTable - - - - - - - - Remoteproc - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - Resource Assign - - - - - - - - - - Load FW - - - - - - - - - - - IPC - - - - - - - - - - Load FW - - - - - - - Hypervisor - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - Virtio - - - - - - - RPMsg - - - - - - - - - - - IPC - - - - - - - OpenAMP - - - - - - - RPMsg - - - - - - - Virtio - - - - - - - OpenAMP - - - - - - - Virtio - - - - - - - - - - Resource Assign - - - - - - - - - - Start, Stop - - - - - - - - - - Start, Stop - - - - - - - libmetal - - - - - - - libmetal - - - - - - - libmetal - - - - - - - Proxy - - - - - - - - - - File IO - - - - - - - RPC - - - - - - - - - - - - - - - - - RPC - - - - - - - - \ No newline at end of file diff --git a/images/architecture/overview-architecture-rpmsg.svg b/images/architecture/overview-architecture-rpmsg.svg deleted file mode 100644 index 1282c469..00000000 --- a/images/architecture/overview-architecture-rpmsg.svg +++ /dev/null @@ -1,492 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Main - - - - - - - - Remote - - - - - - - - - - FW - - - - - - - - Virtio - - - - - - - - ResourceTable - - - - - - - - Remote Main - - - - - - - Remoteproc - - - - - - - - RPMsg - - - - - - - - - - FW - - - - - - - - ResourceTable - - - - - - - Remoteproc - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - - - - - - - SharedMemory - - - - - - - - - - Resource Assign - - - - - - - - - - Load FW - - - - - - - - - - Load FW - - - - - - - Hypervisor - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - Virtio - - - - - - - - RPMsg - - - - - - - OpenAMP - - - - - - - - RPMsg - - - - - - - - Virtio - - - - - - - OpenAMP - - - - - - - - Virtio - - - - - - - - - - Resource Assign - - - - - - - - - - Start, Stop - - - - - - - - - - Start, Stop - - - - - - - libmetal - - - - - - - libmetal - - - - - - - libmetal - - - - - - - Proxy - - - - - - - - - - File IO - - - - - - - RPC - - - - - - - - - - - - - - - - - RPC - - - - - - - - - - - IPC - - - - - - - - - - - IPC - - - - - - - - - - - - - - \ No newline at end of file diff --git a/images/architecture/overview-architecture.svg b/images/architecture/overview-architecture.svg index b5c8b6e6..cd6cc147 100644 --- a/images/architecture/overview-architecture.svg +++ b/images/architecture/overview-architecture.svg @@ -1,12 +1,12 @@ - + - + - + @@ -25,6 +25,7 @@ + @@ -39,13 +40,12 @@ - - - - + + + @@ -59,30 +59,23 @@ - - - - - - - - + @@ -129,352 +122,196 @@ - - - - Main + + + + Main (Linux kernel) - - - - Remote + + + + Remote - - - - - - FW + + + + + + FW - - - Virtio + + + + ResourceTable - - - - ResourceTable + + + remoteproc - - - - Remote Main - - - - - - - Remoteproc - - - - - - - RPMsg - - - - - - - - - - - - - - - - FW - - - - - - - - ResourceTable - - - - - - - Remoteproc - - - - - + - - - - - - - - - SharedMemory - - - - - - - - - + + - + - - SharedMemory + + SharedMemory - - + + - - + + - Resource Assign + Load FW - - - - - - + + + + + + + + + + + - Load FW - - - - - - - - - + + - IPC - - - - - - - - - - Load FW - - - - - - - Hypervisor + Mailbox - - - - - Peripherals - - - - - - - - Peripherals - - - - - - - - Peripherals + + + + RPMsg device - - - - Virtio + + + + Virtio - - - - RPMsg + + + + open-amp - - - - - - + + + + + + - IPC + Parse resources - - - - - OpenAMP + + + + + + + + Start, Stop - - - - RPMsg + + + + libmetal - - - - Virtio + + + + Virtio transport - - - - OpenAMP + + + + Virtiodevice - - - - Virtio - - - - - - - - - - Resource Assign - - - - - - - - - - Start, Stop - - - - - - - - - - Start, Stop + + + + RPMsg device - - - - libmetal + + + + Virtio - - - - libmetal + + + + Virtio transport - - - - libmetal + + + + Virtiodevice - - - - Proxy + + + + libmetal - - + + - - - - File IO - - - - - - - RPC - - - - - - - - - + + + - - - - - - - RPC + IPC diff --git a/openamp/overview.rst b/openamp/overview.rst index e39df6b8..495c299a 100644 --- a/openamp/overview.rst +++ b/openamp/overview.rst @@ -197,9 +197,10 @@ The components comprising OpenAMP are: The :ref:`topology` is limited to main controller to remote system but otherwise open to the implementation. -The architecture is exemplified below via a daisy chained topology, with the center processor being -both remote and main controller for the next processor in the chain. This is an alternate topology -to the previous example in the :ref:`OpenAMP Fundamentals` section. +The architecture is exemplified below via a daisy chained topology, with a main processor +controlling a single remote in the chain. This implements the left half of the daisy chain +topology detailed in the :ref:`OpenAMP Fundamentals` section, and +is the commonly implemented topology. .. image:: ../images/architecture/overview-architecture.svg @@ -220,8 +221,6 @@ remote processor and starting and stopping the remote. and peripheral allocation as well as information for establishing the IPC between associated processors. -.. image:: ../images/architecture/overview-architecture-remoteproc.svg - .. _overview-rpmsg-work-label: RPMsg and Virtio @@ -235,8 +234,6 @@ This abstraction, using virtio, means that the implementer can optionally use :ref:`resource isolation` (e.g. using a hypervisor or secure context), which is exemplified by the first processor in the architecture diagram. -.. image:: ../images/architecture/overview-architecture-rpmsg.svg - .. _overview-proxy-rpc-work-label: RPMsg Services @@ -254,8 +251,6 @@ The RPC service provides for remote procedure calls from a server to a client. I diagram the right hand processor has the RPC server servicing the center main controller processor's RPC client. -.. image:: ../images/architecture/overview-architecture-proxy.svg - .. _overview-proxy-libmetal-label: Libmetal @@ -265,8 +260,6 @@ Libmetal portability across different platforms. Vendors porting OpenAMP will provide an implementation of libmetal for their system. -.. image:: ../images/architecture/overview-architecture-libmetal.svg - .. _project-aims-work-label: Read more about the OpenAMP System Components :ref:`here`.