]>
Commit | Line | Data |
---|---|---|
d2912cb1 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b50f1704 G |
2 | /* |
3 | * linux/arch/unicore32/include/asm/memblock.h | |
4 | * | |
5 | * Code specific to PKUnity SoC and UniCore ISA | |
6 | * | |
7 | * Copyright (C) 2001-2010 GUAN Xue-tao | |
b50f1704 G |
8 | */ |
9 | ||
10 | #ifndef __UNICORE_MEMBLOCK_H__ | |
11 | #define __UNICORE_MEMBLOCK_H__ | |
12 | ||
13 | /* | |
14 | * Memory map description | |
15 | */ | |
16 | # define NR_BANKS 8 | |
17 | ||
18 | struct membank { | |
19 | unsigned long start; | |
20 | unsigned long size; | |
21 | unsigned int highmem; | |
22 | }; | |
23 | ||
24 | struct meminfo { | |
25 | int nr_banks; | |
26 | struct membank bank[NR_BANKS]; | |
27 | }; | |
28 | ||
29 | extern struct meminfo meminfo; | |
30 | ||
31 | #define for_each_bank(iter, mi) \ | |
32 | for (iter = 0; iter < (mi)->nr_banks; iter++) | |
33 | ||
34 | #define bank_pfn_start(bank) __phys_to_pfn((bank)->start) | |
35 | #define bank_pfn_end(bank) __phys_to_pfn((bank)->start + (bank)->size) | |
36 | #define bank_pfn_size(bank) ((bank)->size >> PAGE_SHIFT) | |
37 | #define bank_phys_start(bank) ((bank)->start) | |
38 | #define bank_phys_end(bank) ((bank)->start + (bank)->size) | |
39 | #define bank_phys_size(bank) ((bank)->size) | |
40 | ||
41 | extern void uc32_memblock_init(struct meminfo *); | |
42 | ||
43 | #endif |