From e468ba5532232e2ea7bac6b0f5787e0a49008a53 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 3 Mar 2016 09:08:08 +0100 Subject: U-Boot: Flush data cache after bdinfo copy --- .../lib/libbsp/powerpc/qoriq/include/u-boot-config.h | 2 -- c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c | 19 +++++++------------ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/qoriq/include/u-boot-config.h b/c/src/lib/libbsp/powerpc/qoriq/include/u-boot-config.h index 3e6fa90b55..7f9ed73de4 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/include/u-boot-config.h +++ b/c/src/lib/libbsp/powerpc/qoriq/include/u-boot-config.h @@ -17,8 +17,6 @@ #include -#define U_BOOT_BOARD_INFO_TEXT_SECTION __attribute__((section(".bsp_start_text"))) - #define U_BOOT_BOARD_INFO_DATA_SECTION __attribute__((section(".bsp_start_data"))) #define CONFIG_E500 diff --git a/c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c b/c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c index 10a99c24c3..e68060a3ac 100644 --- a/c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c +++ b/c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2010, 2016 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -14,9 +14,8 @@ #include -#ifndef U_BOOT_BOARD_INFO_TEXT_SECTION -#define U_BOOT_BOARD_INFO_TEXT_SECTION -#endif +#include +#include #ifndef U_BOOT_BOARD_INFO_DATA_SECTION #define U_BOOT_BOARD_INFO_DATA_SECTION @@ -24,14 +23,10 @@ U_BOOT_BOARD_INFO_DATA_SECTION bd_t bsp_uboot_board_info; -U_BOOT_BOARD_INFO_TEXT_SECTION void bsp_uboot_copy_board_info(const bd_t *src) +void bsp_uboot_copy_board_info(const bd_t *src) { - const int *s = (const int *) src; - int *d = (int *) &bsp_uboot_board_info; - int i = 0; - int n = sizeof(*src) / sizeof(int); + bd_t *dst = &bsp_uboot_board_info; - for (i = 0; i < n; ++i) { - d [i] = s [i]; - } + dst = memcpy(dst, src, sizeof(*dst)); + rtems_cache_flush_multiple_data_lines(dst, sizeof(*dst)); } -- cgit v1.2.3