Browse Source

xlat v2: Remove architectural headers

They only contained one function that is easily integrated in the private
library header and the existing architectural C files.

This also helps making the library more portable, as the Makefile of the
library now doesn't use the variable INCLUDES, which is specific to this
codebase and doesn't respect the namespace of the library.

Change-Id: I22228e6a97e9b4f346f5cd8947609263e8df71d8
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
pull/1481/head
Antonio Nino Diaz 6 years ago
parent
commit
468e238275
  1. 5
      lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
  2. 22
      lib/xlat_tables_v2/aarch32/xlat_tables_arch_private.h
  3. 9
      lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
  4. 28
      lib/xlat_tables_v2/aarch64/xlat_tables_arch_private.h
  5. 2
      lib/xlat_tables_v2/xlat_tables.mk
  6. 1
      lib/xlat_tables_v2/xlat_tables_core.c
  7. 6
      lib/xlat_tables_v2/xlat_tables_private.h
  8. 1
      lib/xlat_tables_v2/xlat_tables_utils.c

5
lib/xlat_tables_v2/aarch32/xlat_tables_arch.c

@ -50,6 +50,11 @@ int is_mmu_enabled_ctx(const xlat_ctx_t *ctx __unused)
return (read_sctlr() & SCTLR_M_BIT) != 0;
}
uint64_t xlat_arch_regime_get_xn_desc(int xlat_regime __unused)
{
return UPPER_ATTRS(XN);
}
void xlat_arch_tlbi_va(uintptr_t va)
{
/*

22
lib/xlat_tables_v2/aarch32/xlat_tables_arch_private.h

@ -1,22 +0,0 @@
/*
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __XLAT_TABLES_ARCH_PRIVATE_H__
#define __XLAT_TABLES_ARCH_PRIVATE_H__
#include <xlat_tables_defs.h>
#include <xlat_tables_v2.h>
/*
* Return the execute-never mask that will prevent instruction fetch at the
* given translation regime.
*/
static inline uint64_t xlat_arch_regime_get_xn_desc(int regime __unused)
{
return UPPER_ATTRS(XN);
}
#endif /* __XLAT_TABLES_ARCH_PRIVATE_H__ */

9
lib/xlat_tables_v2/aarch64/xlat_tables_arch.c

@ -113,6 +113,15 @@ int is_mmu_enabled_ctx(const xlat_ctx_t *ctx)
}
}
uint64_t xlat_arch_regime_get_xn_desc(int xlat_regime)
{
if (xlat_regime == EL1_EL0_REGIME) {
return UPPER_ATTRS(UXN) | UPPER_ATTRS(PXN);
} else {
assert(xlat_regime == EL3_REGIME);
return UPPER_ATTRS(XN);
}
}
void xlat_arch_tlbi_va(uintptr_t va)
{

28
lib/xlat_tables_v2/aarch64/xlat_tables_arch_private.h

@ -1,28 +0,0 @@
/*
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __XLAT_TABLES_ARCH_PRIVATE_H__
#define __XLAT_TABLES_ARCH_PRIVATE_H__
#include <assert.h>
#include <xlat_tables_defs.h>
#include <xlat_tables_v2.h>
/*
* Return the execute-never mask that will prevent instruction fetch at all ELs
* that are part of the given translation regime.
*/
static inline uint64_t xlat_arch_regime_get_xn_desc(int regime)
{
if (regime == EL1_EL0_REGIME) {
return UPPER_ATTRS(UXN) | UPPER_ATTRS(PXN);
} else {
assert(regime == EL3_REGIME);
return UPPER_ATTRS(XN);
}
}
#endif /* __XLAT_TABLES_ARCH_PRIVATE_H__ */

2
lib/xlat_tables_v2/xlat_tables.mk

@ -10,5 +10,3 @@ XLAT_TABLES_LIB_SRCS := $(addprefix lib/xlat_tables_v2/, \
xlat_tables_context.c \
xlat_tables_core.c \
xlat_tables_utils.c)
INCLUDES += -Ilib/xlat_tables_v2/${ARCH}

1
lib/xlat_tables_v2/xlat_tables_core.c

@ -12,7 +12,6 @@
#include <string.h>
#include <types.h>
#include <utils_def.h>
#include <xlat_tables_arch_private.h>
#include <xlat_tables_defs.h>
#include <xlat_tables_v2.h>

6
lib/xlat_tables_v2/xlat_tables_private.h

@ -35,6 +35,12 @@
#endif /* PLAT_XLAT_TABLES_DYNAMIC */
/*
* Return the execute-never mask that will prevent instruction fetch at the
* given translation regime.
*/
uint64_t xlat_arch_regime_get_xn_desc(int xlat_regime);
/*
* Invalidate all TLB entries that match the given virtual address. This
* operation applies to all PEs in the same Inner Shareable domain as the PE

1
lib/xlat_tables_v2/xlat_tables_utils.c

@ -11,7 +11,6 @@
#include <platform_def.h>
#include <types.h>
#include <utils_def.h>
#include <xlat_tables_arch_private.h>
#include <xlat_tables_defs.h>
#include <xlat_tables_v2.h>

Loading…
Cancel
Save