diff options
Diffstat (limited to 'c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c')
-rw-r--r-- | c/src/lib/libbsp/shared/src/bsp-uboot-board-info.c | 19 |
1 files changed, 7 insertions, 12 deletions
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 <bsp/u-boot.h> -#ifndef U_BOOT_BOARD_INFO_TEXT_SECTION -#define U_BOOT_BOARD_INFO_TEXT_SECTION -#endif +#include <string.h> +#include <rtems.h> #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)); } |