diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/lmb.c | 13 |
1 files changed, 11 insertions, 2 deletions
| @@ -205,9 +205,8 @@ long lmb_add(u64 base, u64 size) | |||
| 205 | 205 | ||
| 206 | } | 206 | } |
| 207 | 207 | ||
| 208 | long lmb_remove(u64 base, u64 size) | 208 | static long __lmb_remove(struct lmb_region *rgn, u64 base, u64 size) |
| 209 | { | 209 | { |
| 210 | struct lmb_region *rgn = &(lmb.memory); | ||
| 211 | u64 rgnbegin, rgnend; | 210 | u64 rgnbegin, rgnend; |
| 212 | u64 end = base + size; | 211 | u64 end = base + size; |
| 213 | int i; | 212 | int i; |
| @@ -254,6 +253,16 @@ long lmb_remove(u64 base, u64 size) | |||
| 254 | return lmb_add_region(rgn, end, rgnend - end); | 253 | return lmb_add_region(rgn, end, rgnend - end); |
| 255 | } | 254 | } |
| 256 | 255 | ||
| 256 | long lmb_remove(u64 base, u64 size) | ||
| 257 | { | ||
| 258 | return __lmb_remove(&lmb.memory, base, size); | ||
| 259 | } | ||
| 260 | |||
| 261 | long __init lmb_free(u64 base, u64 size) | ||
| 262 | { | ||
| 263 | return __lmb_remove(&lmb.reserved, base, size); | ||
| 264 | } | ||
| 265 | |||
| 257 | long __init lmb_reserve(u64 base, u64 size) | 266 | long __init lmb_reserve(u64 base, u64 size) |
| 258 | { | 267 | { |
| 259 | struct lmb_region *_rgn = &lmb.reserved; | 268 | struct lmb_region *_rgn = &lmb.reserved; |
