| /* |
| * 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 */ |