| /* | |
| * sysmem-related prototypes. | |
| * | |
| * This file is subject to the terms and conditions of the GNU General Public | |
| * License. See the file "COPYING" in the main directory of this archive | |
| * for more details. | |
| * | |
| * Copyright (C) 2014 Cadence Design Systems Inc. | |
| */ | |
| #ifndef _XTENSA_SYSMEM_H | |
| #define _XTENSA_SYSMEM_H | |
| #define SYSMEM_BANKS_MAX 31 | |
| struct meminfo { | |
| unsigned long start; | |
| unsigned long end; | |
| }; | |
| /* | |
| * Bank array is sorted by .start. | |
| * Banks don't overlap and there's at least one page gap | |
| * between adjacent bank entries. | |
| */ | |
| struct sysmem_info { | |
| int nr_banks; | |
| struct meminfo bank[SYSMEM_BANKS_MAX]; | |
| }; | |
| extern struct sysmem_info sysmem; | |
| int add_sysmem_bank(unsigned long start, unsigned long end); | |
| int mem_reserve(unsigned long, unsigned long, int); | |
| void bootmem_init(void); | |
| void zones_init(void); | |
| #endif /* _XTENSA_SYSMEM_H */ |