From d8012bbd659e0d230014206c6182c19534a1a125 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 1 Aug 2017 08:37:12 +0200 Subject: bsps: Add BSP_FDT_BLOB_COPY_TO_READ_ONLY_LOAD_AREA --- c/src/lib/libbsp/arm/beagle/configure.ac | 3 +++ c/src/lib/libbsp/shared/src/bsp-fdt.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libbsp/arm/beagle/configure.ac b/c/src/lib/libbsp/arm/beagle/configure.ac index f5352b55bc..f32735499f 100644 --- a/c/src/lib/libbsp/arm/beagle/configure.ac +++ b/c/src/lib/libbsp/arm/beagle/configure.ac @@ -27,6 +27,9 @@ RTEMS_BSPOPTS_HELP([BSP_FDT_BLOB_SIZE_MAX],[maximum size of the FDT blob in byte RTEMS_BSPOPTS_SET([BSP_FDT_BLOB_READ_ONLY],[*],[1]) RTEMS_BSPOPTS_HELP([BSP_FDT_BLOB_READ_ONLY],[place the FDT blob into the read-only data area]) +RTEMS_BSPOPTS_SET([BSP_FDT_BLOB_COPY_TO_READ_ONLY_LOAD_AREA],[*],[1]) +RTEMS_BSPOPTS_HELP([BSP_FDT_BLOB_COPY_TO_READ_ONLY_LOAD_AREA],[copy the FDT blob into the read-only load area via bsp_fdt_copy()]) + RTEMS_BSPOPTS_SET([IS_DM3730],[beagleboard*],[1]) RTEMS_BSPOPTS_HELP([IS_DM3730],[true if SOC is DM3730]) diff --git a/c/src/lib/libbsp/shared/src/bsp-fdt.c b/c/src/lib/libbsp/shared/src/bsp-fdt.c index faf59be8fc..f49eec248a 100644 --- a/c/src/lib/libbsp/shared/src/bsp-fdt.c +++ b/c/src/lib/libbsp/shared/src/bsp-fdt.c @@ -38,12 +38,12 @@ bsp_fdt_blob[BSP_FDT_BLOB_SIZE_MAX / sizeof(uint32_t)]; void bsp_fdt_copy(const void *src) { const uint32_t *s = (const uint32_t *) src; -#ifdef BSP_FDT_BLOB_READ_ONLY +#ifdef BSP_FDT_BLOB_COPY_TO_READ_ONLY_LOAD_AREA uint32_t *d = (uint32_t *) ((uintptr_t) &bsp_fdt_blob[0] - (uintptr_t) bsp_section_rodata_begin + (uintptr_t) bsp_section_rodata_load_begin); #else - uint32_t *d = &bsp_fdt_blob[0]; + uint32_t *d = RTEMS_DECONST(uint32_t *, &bsp_fdt_blob[0]); #endif if (s != d) { -- cgit v1.2.3