aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/resource.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/resource.c')
-rw-r--r--kernel/resource.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/resource.c b/kernel/resource.c
index 560659f7baef..798e2fae2a06 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -357,6 +357,10 @@ int __weak page_is_ram(unsigned long pfn)
357 return walk_system_ram_range(pfn, 1, NULL, __is_ram) == 1; 357 return walk_system_ram_range(pfn, 1, NULL, __is_ram) == 1;
358} 358}
359 359
360void __weak arch_remove_reservations(struct resource *avail)
361{
362}
363
360static resource_size_t simple_align_resource(void *data, 364static resource_size_t simple_align_resource(void *data,
361 const struct resource *avail, 365 const struct resource *avail,
362 resource_size_t size, 366 resource_size_t size,
@@ -394,6 +398,7 @@ static int find_resource(struct resource *root, struct resource *new,
394 struct resource *this = root->child; 398 struct resource *this = root->child;
395 struct resource tmp = *new, avail, alloc; 399 struct resource tmp = *new, avail, alloc;
396 400
401 tmp.flags = new->flags;
397 tmp.start = root->start; 402 tmp.start = root->start;
398 /* 403 /*
399 * Skip past an allocated resource that starts at 0, since the assignment 404 * Skip past an allocated resource that starts at 0, since the assignment
@@ -410,6 +415,7 @@ static int find_resource(struct resource *root, struct resource *new,
410 tmp.end = root->end; 415 tmp.end = root->end;
411 416
412 resource_clip(&tmp, min, max); 417 resource_clip(&tmp, min, max);
418 arch_remove_reservations(&tmp);
413 419
414 /* Check for overflow after ALIGN() */ 420 /* Check for overflow after ALIGN() */
415 avail = *new; 421 avail = *new;