xlat lib v2: Export translation context as an opaque type
authorSandrine Bailleux <sandrine.bailleux@arm.com>
Mon, 10 Jul 2017 12:37:48 +0000 (13:37 +0100)
committerSandrine Bailleux <sandrine.bailleux@arm.com>
Tue, 25 Jul 2017 12:09:00 +0000 (13:09 +0100)
commit55c84964f72dc90d00c9dede027be3b284dd60e1
treee65fd2b36a5a83274ab90c60f46c3d52a6acb487
parent8933c34bbc8f0afb32030a4b3793f2e4cd6afbff
xlat lib v2: Export translation context as an opaque type

At the moment, the translation context type (xlat_ctx_t) is a private
type reserved for the internal usage of the translation table library.
All exported APIs (implemented in xlat_tables_common.c) are wrappers
over the internal implementations that use such a translation context.

These wrappers unconditionally pass the current translation context
representing the memory mappings of the executing BL image. This means
that the caller has no control over which translation context the
library functions act on.

As a first step to make this code more flexible, this patch exports
the 'xlat_ctx_t' type. Note that, although the declaration of this type
is now public, its definition stays private. A macro is introduced to
statically allocate and initialize such a translation context.

The library now internally uses this macro to allocate the default
translation context for the running BL image.

Change-Id: Icece1cde4813fac19452c782b682c758142b1489
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
include/lib/xlat_tables/xlat_tables_v2.h
include/lib/xlat_tables/xlat_tables_v2_helpers.h [new file with mode: 0644]
lib/xlat_tables_v2/xlat_tables_common.c
lib/xlat_tables_v2/xlat_tables_private.h