|
@@ -114,3 +114,25 @@ void __init memblock_x86_to_bootmem(u64 start, u64 end)
|
|
|
memblock_reserve_reserved_regions();
|
|
|
}
|
|
|
#endif
|
|
|
+
|
|
|
+void __init memblock_x86_reserve_range(u64 start, u64 end, char *name)
|
|
|
+{
|
|
|
+ if (start == end)
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (WARN_ONCE(start > end, "memblock_x86_reserve_range: wrong range [%#llx, %#llx]\n", start, end))
|
|
|
+ return;
|
|
|
+
|
|
|
+ memblock_reserve(start, end - start);
|
|
|
+}
|
|
|
+
|
|
|
+void __init memblock_x86_free_range(u64 start, u64 end)
|
|
|
+{
|
|
|
+ if (start == end)
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (WARN_ONCE(start > end, "memblock_x86_free_range: wrong range [%#llx, %#llx]\n", start, end))
|
|
|
+ return;
|
|
|
+
|
|
|
+ memblock_free(start, end - start);
|
|
|
+}
|