Skip to content

Commit

Permalink
Add new FAQ
Browse files Browse the repository at this point in the history
Signed-off-by: wenlingz <wenling.zhang@intel.com>
  • Loading branch information
wenlingz authored and dbkinder committed Mar 22, 2019
1 parent 98b3d98 commit c47efa3
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions doc/faq.rst
Expand Up @@ -81,3 +81,69 @@ HV_RAM_SIZE is changed to 240M
hex "Size of the RAM region used by the hypervisor"
default 0x07800000 if PLATFORM_SBL
default 0x0f000000 if PLATFORM_UEFI

How to modify the default display output for a UOS?
******************************************************************************

Apollo Lake HW has three pipes and each pipe can have three or four planes which help to
display the overlay video. The hardware can support up to 3 monitors simultaneously.
Some parameters are available to control how display monitors are assigned between the
SOS and UOS, simplifying the assignment policy and providing configuration
flexibility for the pipes and planes in various IOT scenarios

* i915.avail_planes_per_pipe: for controlling the planes
* i915.domain_plane_owners: for controlling the domain mapping for each plane

Refer to :ref:`GVT-g-kernel-options` for detailed parameter descriptions.

Currently, pipe A is assigned to SOS and pipes B and C are assigned to UOS,
which uses the below parameter:

* SOS:

.. code-block:: bash
i915.avail_planes_per_pipe=0x01010F
i915.domain_plane_owners=0x011111110000
* UOS:

.. code-block:: bash
i915.avail_planes_per_pipe=0x0070F00
If pipes A and B are assigned to UOS, while pipe C is assigned to SOS,
the below parameters can be used:


* SOS:

.. code-block:: bash
i915.avail_planes_per_pipe=0x070101
i915.domain_plane_owners=0x000011111111
* UOS:

.. code-block:: bash
i915.avail_planes_per_pipe=0x000F0F
Why does ACRN need to be know how much RAM the system has?
************************************************************

Configuring ACRN at compile time with the system RAM size is
a tradeoff between flexibility and functionality certification.
For server virtualization, one binary is typically used for all platforms
with flexible configuration options given at run time.
But, for IoT applications, the image is typically configured and built
for a particular product platform and optimized product use.

Important features for ACRN include functional safety (FuSa) and
real-time behavior. FuSa requires a static allocation policy to avoid
the potential of dynamic allocation failures. Real-time applications
similarly benefit from static memory allocation. This is why ACRN
removed all "malloc" like code, and why it needs to pre-identify
the size of all buffers and structures used in the Virtual Memory
Manager. For this reason, knowing the available RAM size at compile
time is necessary to statically allocate memory usage.

0 comments on commit c47efa3

Please sign in to comment.