doc: add two diagrams to user mode documentation

One shows how globals are routed for automatic memory
domains. The other illustrates control flow when making
system calls.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
Andrew Boie 2019-11-13 11:28:53 -08:00 committed by Andrew Boie
commit cb87cc8fd6
4 changed files with 13 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

View file

@ -213,6 +213,12 @@ contiguous block of memory, zero any BSS variables at boot, and define
a memory partition of appropriate base address and size which contains all
the tagged data.
.. figure:: auto_mem_domain.png
:alt: Automatic Memory Domain build flow
:align: center
Automatic Memory Domain build flow
Automatic memory partitions are only configured as read-write
regions. They are defined with :c:macro:`K_APPMEM_PARTITION_DEFINE()`.
Global variables are then routed to this partition using

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View file

@ -170,6 +170,13 @@ necessary privilege elevation. In this layer, all arguments are treated as an
unsigned 32-bit type. There is always a 32-bit unsigned return value, which
may or may not be used.
.. figure:: syscall_flow.png
:alt: System Call execution flow
:width: 80%
:align: center
System Call execution flow
Some system calls may have more than six arguments. The number of
arguments passed via registers is limited to six for all
architectures. Additional arguments will need to be passed in an array