Browse Source

xlat: Remove references to the Trusted Firmware

This library can be used in other projects. All comments that talk about
the Trusted Firmware should be talking about the library itself.

Change-Id: I3b98d42f7132be72c1f8a4900acfaa78dbd2daa2
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
pull/1481/head
Antonio Nino Diaz 6 years ago
parent
commit
1dd6c05132
  1. 2
      include/lib/xlat_tables/xlat_tables_defs.h
  2. 11
      lib/xlat_tables/xlat_tables_common.c
  3. 4
      lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
  4. 15
      lib/xlat_tables_v2/xlat_tables_core.c

2
include/lib/xlat_tables/xlat_tables_defs.h

@ -62,7 +62,7 @@
/* /*
* The ARMv8-A architecture allows translation granule sizes of 4KB, 16KB or * The ARMv8-A architecture allows translation granule sizes of 4KB, 16KB or
* 64KB. However, TF only supports the 4KB case at the moment. * 64KB. However, only 4KB are supported at the moment.
*/ */
#define PAGE_SIZE_SHIFT FOUR_KB_SHIFT #define PAGE_SIZE_SHIFT FOUR_KB_SHIFT
#define PAGE_SIZE (U(1) << PAGE_SIZE_SHIFT) #define PAGE_SIZE (U(1) << PAGE_SIZE_SHIFT)

11
lib/xlat_tables/xlat_tables_common.c

@ -195,6 +195,10 @@ static uint64_t mmap_desc(unsigned int attr, unsigned long long addr_pa,
desc |= (level == XLAT_TABLE_LEVEL_MAX) ? PAGE_DESC : BLOCK_DESC; desc |= (level == XLAT_TABLE_LEVEL_MAX) ? PAGE_DESC : BLOCK_DESC;
desc |= (attr & MT_NS) ? LOWER_ATTRS(NS) : 0; desc |= (attr & MT_NS) ? LOWER_ATTRS(NS) : 0;
desc |= (attr & MT_RW) ? LOWER_ATTRS(AP_RW) : LOWER_ATTRS(AP_RO); desc |= (attr & MT_RW) ? LOWER_ATTRS(AP_RW) : LOWER_ATTRS(AP_RO);
/*
* Always set the access flag, as this library assumes access flag
* faults aren't managed.
*/
desc |= LOWER_ATTRS(ACCESS_FLAG); desc |= LOWER_ATTRS(ACCESS_FLAG);
desc |= ap1_mask; desc |= ap1_mask;
@ -222,9 +226,10 @@ static uint64_t mmap_desc(unsigned int attr, unsigned long long addr_pa,
} else { /* Normal memory */ } else { /* Normal memory */
/* /*
* Always map read-write normal memory as execute-never. * Always map read-write normal memory as execute-never.
* (Trusted Firmware doesn't self-modify its code, therefore * This library assumes that it is used by software that does
* R/W memory is reserved for data storage, which must not be * not self-modify its code, therefore R/W memory is reserved
* executable.) * for data storage, which must not be executable.
*
* Note that setting the XN bit here is for consistency only. * Note that setting the XN bit here is for consistency only.
* The function that enables the MMU sets the SCTLR_ELx.WXN bit, * The function that enables the MMU sets the SCTLR_ELx.WXN bit,
* which makes any writable memory region to be treated as * which makes any writable memory region to be treated as

4
lib/xlat_tables_v2/aarch32/xlat_tables_arch.c

@ -24,8 +24,8 @@
int xlat_arch_is_granule_size_supported(size_t size) int xlat_arch_is_granule_size_supported(size_t size)
{ {
/* /*
* The Trusted Firmware uses long descriptor translation table format, * The library uses the long descriptor translation table format, which
* which supports 4 KiB pages only. * supports 4 KiB pages only.
*/ */
return (size == (4U * 1024U)); return (size == (4U * 1024U));
} }

15
lib/xlat_tables_v2/xlat_tables_core.c

@ -103,12 +103,14 @@ uint64_t xlat_desc(const xlat_ctx_t *ctx, uint32_t attr,
*/ */
desc |= (level == XLAT_TABLE_LEVEL_MAX) ? PAGE_DESC : BLOCK_DESC; desc |= (level == XLAT_TABLE_LEVEL_MAX) ? PAGE_DESC : BLOCK_DESC;
/* /*
* Always set the access flag, as TF doesn't manage access flag faults. * Always set the access flag, as this library assumes access flag
* faults aren't managed.
*/
desc |= LOWER_ATTRS(ACCESS_FLAG);
/*
* Deduce other fields of the descriptor based on the MT_NS and MT_RW * Deduce other fields of the descriptor based on the MT_NS and MT_RW
* memory region attributes. * memory region attributes.
*/ */
desc |= LOWER_ATTRS(ACCESS_FLAG);
desc |= (attr & MT_NS) ? LOWER_ATTRS(NS) : 0; desc |= (attr & MT_NS) ? LOWER_ATTRS(NS) : 0;
desc |= (attr & MT_RW) ? LOWER_ATTRS(AP_RW) : LOWER_ATTRS(AP_RO); desc |= (attr & MT_RW) ? LOWER_ATTRS(AP_RW) : LOWER_ATTRS(AP_RO);
@ -154,9 +156,10 @@ uint64_t xlat_desc(const xlat_ctx_t *ctx, uint32_t attr,
} else { /* Normal memory */ } else { /* Normal memory */
/* /*
* Always map read-write normal memory as execute-never. * Always map read-write normal memory as execute-never.
* (Trusted Firmware doesn't self-modify its code, therefore * This library assumes that it is used by software that does
* R/W memory is reserved for data storage, which must not be * not self-modify its code, therefore R/W memory is reserved
* executable.) * for data storage, which must not be executable.
*
* Note that setting the XN bit here is for consistency only. * Note that setting the XN bit here is for consistency only.
* The function that enables the MMU sets the SCTLR_ELx.WXN bit, * The function that enables the MMU sets the SCTLR_ELx.WXN bit,
* which makes any writable memory region to be treated as * which makes any writable memory region to be treated as

Loading…
Cancel
Save