![]() |
|
|||
File indexing completed on 2025-05-11 08:24:08
0001 /* SPDX-License-Identifier: BSD-2-Clause */ 0002 0003 /** 0004 * @file 0005 * 0006 * @ingroup RTEMSScoreMemory 0007 * 0008 * @ingroup RTEMSBSPsSharedStartup 0009 * 0010 * @brief This source file contains the default implementation of 0011 * _Memory_Get(). 0012 */ 0013 0014 /* 0015 * Copyright (C) 2011, 2019 embedded brains GmbH & Co. KG 0016 * 0017 * Copyright (C) 1989, 2009 On-Line Applications Research Corporation (OAR) 0018 * 0019 * Redistribution and use in source and binary forms, with or without 0020 * modification, are permitted provided that the following conditions 0021 * are met: 0022 * 1. Redistributions of source code must retain the above copyright 0023 * notice, this list of conditions and the following disclaimer. 0024 * 2. Redistributions in binary form must reproduce the above copyright 0025 * notice, this list of conditions and the following disclaimer in the 0026 * documentation and/or other materials provided with the distribution. 0027 * 0028 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 0029 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0030 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0031 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 0032 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0033 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0034 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0035 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0036 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0037 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0038 * POSSIBILITY OF SUCH DAMAGE. 0039 */ 0040 0041 #include <bsp.h> 0042 0043 #if defined(HAS_UBOOT) && !defined(BSP_DISABLE_UBOOT_WORK_AREA_CONFIG) 0044 #define USE_UBOOT 0045 #endif 0046 0047 /* 0048 * These are provided by the linkcmds for ALL of the BSPs which use this file. 0049 */ 0050 extern char WorkAreaBase[]; 0051 0052 /* 0053 * We may get the size information from U-Boot or the linker scripts. 0054 */ 0055 #ifdef USE_UBOOT 0056 #include <bsp/u-boot.h> 0057 #include <rtems/sysinit.h> 0058 0059 static Memory_Area _Memory_Areas[ 1 ]; 0060 0061 static void bsp_memory_initialize( void ) 0062 { 0063 char *end; 0064 0065 end = (char *) bsp_uboot_board_info.bi_memstart 0066 + bsp_uboot_board_info.bi_memsize; 0067 _Memory_Initialize( &_Memory_Areas[ 0 ], WorkAreaBase, end ); 0068 } 0069 0070 RTEMS_SYSINIT_ITEM( 0071 bsp_memory_initialize, 0072 RTEMS_SYSINIT_MEMORY, 0073 RTEMS_SYSINIT_ORDER_MIDDLE 0074 ); 0075 #else /* !USE_UBOOT */ 0076 extern char RamEnd[]; 0077 0078 static Memory_Area _Memory_Areas[] = { 0079 MEMORY_INITIALIZER(WorkAreaBase, RamEnd) 0080 }; 0081 #endif /* USE_UBOOT */ 0082 0083 static const Memory_Information _Memory_Information = 0084 MEMORY_INFORMATION_INITIALIZER( _Memory_Areas ); 0085 0086 const Memory_Information *_Memory_Get( void ) 0087 { 0088 return &_Memory_Information; 0089 }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |