|
@@ -147,21 +147,21 @@ unsigned long __init init_bootmem(unsigned long start, unsigned long pages)
|
|
|
|
|
|
/*
|
|
|
* free_bootmem_late - free bootmem pages directly to page allocator
|
|
|
- * @addr: starting address of the range
|
|
|
+ * @addr: starting physical address of the range
|
|
|
* @size: size of the range in bytes
|
|
|
*
|
|
|
* This is only useful when the bootmem allocator has already been torn
|
|
|
* down, but we are still initializing the system. Pages are given directly
|
|
|
* to the page allocator, no bootmem metadata is updated because it is gone.
|
|
|
*/
|
|
|
-void __init free_bootmem_late(unsigned long addr, unsigned long size)
|
|
|
+void __init free_bootmem_late(unsigned long physaddr, unsigned long size)
|
|
|
{
|
|
|
unsigned long cursor, end;
|
|
|
|
|
|
- kmemleak_free_part(__va(addr), size);
|
|
|
+ kmemleak_free_part(__va(physaddr), size);
|
|
|
|
|
|
- cursor = PFN_UP(addr);
|
|
|
- end = PFN_DOWN(addr + size);
|
|
|
+ cursor = PFN_UP(physaddr);
|
|
|
+ end = PFN_DOWN(physaddr + size);
|
|
|
|
|
|
for (; cursor < end; cursor++) {
|
|
|
__free_pages_bootmem(pfn_to_page(cursor), 0);
|
|
@@ -377,21 +377,21 @@ void __init free_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,
|
|
|
|
|
|
/**
|
|
|
* free_bootmem - mark a page range as usable
|
|
|
- * @addr: starting address of the range
|
|
|
+ * @addr: starting physical address of the range
|
|
|
* @size: size of the range in bytes
|
|
|
*
|
|
|
* Partial pages will be considered reserved and left as they are.
|
|
|
*
|
|
|
* The range must be contiguous but may span node boundaries.
|
|
|
*/
|
|
|
-void __init free_bootmem(unsigned long addr, unsigned long size)
|
|
|
+void __init free_bootmem(unsigned long physaddr, unsigned long size)
|
|
|
{
|
|
|
unsigned long start, end;
|
|
|
|
|
|
- kmemleak_free_part(__va(addr), size);
|
|
|
+ kmemleak_free_part(__va(physaddr), size);
|
|
|
|
|
|
- start = PFN_UP(addr);
|
|
|
- end = PFN_DOWN(addr + size);
|
|
|
+ start = PFN_UP(physaddr);
|
|
|
+ end = PFN_DOWN(physaddr + size);
|
|
|
|
|
|
mark_bootmem(start, end, 0, 0);
|
|
|
}
|