|
@@ -357,6 +357,10 @@ int __weak page_is_ram(unsigned long pfn)
|
|
|
return walk_system_ram_range(pfn, 1, NULL, __is_ram) == 1;
|
|
|
}
|
|
|
|
|
|
+void __weak arch_remove_reservations(struct resource *avail)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
static resource_size_t simple_align_resource(void *data,
|
|
|
const struct resource *avail,
|
|
|
resource_size_t size,
|
|
@@ -394,6 +398,7 @@ static int find_resource(struct resource *root, struct resource *new,
|
|
|
struct resource *this = root->child;
|
|
|
struct resource tmp = *new, avail, alloc;
|
|
|
|
|
|
+ tmp.flags = new->flags;
|
|
|
tmp.start = root->start;
|
|
|
/*
|
|
|
* 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,
|
|
|
tmp.end = root->end;
|
|
|
|
|
|
resource_clip(&tmp, min, max);
|
|
|
+ arch_remove_reservations(&tmp);
|
|
|
|
|
|
/* Check for overflow after ALIGN() */
|
|
|
avail = *new;
|