ARM: Convert platform reservations to use LMB rather than bootmem
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
2778f62056
commit
8d717a52d1
|
@ -9,7 +9,8 @@ extern phys_addr_t lowmem_end_addr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct meminfo;
|
struct meminfo;
|
||||||
|
struct machine_desc;
|
||||||
|
|
||||||
extern void arm_memblock_init(struct meminfo *);
|
extern void arm_memblock_init(struct meminfo *, struct machine_desc *);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -716,7 +716,7 @@ void __init setup_arch(char **cmdline_p)
|
||||||
|
|
||||||
parse_early_param();
|
parse_early_param();
|
||||||
|
|
||||||
arm_memblock_init(&meminfo);
|
arm_memblock_init(&meminfo, mdesc);
|
||||||
|
|
||||||
paging_init(mdesc);
|
paging_init(mdesc);
|
||||||
request_standard_resources(&meminfo, mdesc);
|
request_standard_resources(&meminfo, mdesc);
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ extern void edb7211_map_io(void);
|
||||||
/* Reserve screen memory region at the start of main system memory. */
|
/* Reserve screen memory region at the start of main system memory. */
|
||||||
static void __init edb7211_reserve(void)
|
static void __init edb7211_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(PHYS_OFFSET, 0x00020000, BOOTMEM_DEFAULT);
|
memblock_reserve(PHYS_OFFSET, 0x00020000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init
|
static void __init
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <linux/termios.h>
|
#include <linux/termios.h>
|
||||||
|
@ -225,5 +225,5 @@ EXPORT_SYMBOL(cm_control);
|
||||||
*/
|
*/
|
||||||
void __init integrator_reserve(void)
|
void __init integrator_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(PHYS_OFFSET, __pa(swapper_pg_dir) - PHYS_OFFSET, BOOTMEM_DEFAULT);
|
memblock_reserve(PHYS_OFFSET, __pa(swapper_pg_dir) - PHYS_OFFSET);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/gpio_keys.h>
|
#include <linux/gpio_keys.h>
|
||||||
#include <linux/input.h>
|
#include <linux/input.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/pda_power.h>
|
#include <linux/pda_power.h>
|
||||||
#include <linux/pwm_backlight.h>
|
#include <linux/pwm_backlight.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
@ -399,7 +399,7 @@ static void __init palmt5_udc_init(void)
|
||||||
|
|
||||||
static void __init palmt5_reserve(void)
|
static void __init palmt5_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(0xa0200000, 0x1000, BOOTMEM_EXCLUSIVE);
|
memblock_reserve(0xa0200000, 0x1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init palmt5_init(void)
|
static void __init palmt5_init(void)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/gpio_keys.h>
|
#include <linux/gpio_keys.h>
|
||||||
#include <linux/input.h>
|
#include <linux/input.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/pda_power.h>
|
#include <linux/pda_power.h>
|
||||||
#include <linux/pwm_backlight.h>
|
#include <linux/pwm_backlight.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
@ -636,8 +636,8 @@ static void __init treo_lcd_power_init(void)
|
||||||
|
|
||||||
static void __init treo_reserve(void)
|
static void __init treo_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(0xa0000000, 0x1000, BOOTMEM_EXCLUSIVE);
|
memblock_reserve(0xa0000000, 0x1000);
|
||||||
reserve_bootmem(0xa2000000, 0x1000, BOOTMEM_EXCLUSIVE);
|
memblock_reserve(0xa2000000, 0x1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init treo_init(void)
|
static void __init treo_init(void)
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/sysdev.h>
|
#include <linux/sysdev.h>
|
||||||
|
@ -308,8 +308,8 @@ static void __init h1940_map_io(void)
|
||||||
/* H1940 and RX3715 need to reserve this for suspend */
|
/* H1940 and RX3715 need to reserve this for suspend */
|
||||||
static void __init h1940_reserve(void)
|
static void __init h1940_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(0x30003000, 0x1000, BOOTMEM_DEFAULT);
|
memblock_reserve(0x30003000, 0x1000);
|
||||||
reserve_bootmem(0x30081000, 0x1000, BOOTMEM_DEFAULT);
|
memblock_reserve(0x30081000, 0x1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init h1940_init_irq(void)
|
static void __init h1940_init_irq(void)
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -574,8 +574,8 @@ static void __init rx1950_init_machine(void)
|
||||||
/* H1940 and RX3715 need to reserve this for suspend */
|
/* H1940 and RX3715 need to reserve this for suspend */
|
||||||
static void __init rx1950_reserve(void)
|
static void __init rx1950_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(0x30003000, 0x1000, BOOTMEM_DEFAULT);
|
memblock_reserve(0x30003000, 0x1000);
|
||||||
reserve_bootmem(0x30081000, 0x1000, BOOTMEM_DEFAULT);
|
memblock_reserve(0x30081000, 0x1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(RX1950, "HP iPAQ RX1950")
|
MACHINE_START(RX1950, "HP iPAQ RX1950")
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/timer.h>
|
#include <linux/timer.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/tty.h>
|
#include <linux/tty.h>
|
||||||
|
@ -195,8 +195,8 @@ static void __init rx3715_map_io(void)
|
||||||
/* H1940 and RX3715 need to reserve this for suspend */
|
/* H1940 and RX3715 need to reserve this for suspend */
|
||||||
static void __init rx3715_reserve(void)
|
static void __init rx3715_reserve(void)
|
||||||
{
|
{
|
||||||
reserve_bootmem(0x30003000, 0x1000, BOOTMEM_DEFAULT);
|
memblock_reserve(0x30003000, 0x1000);
|
||||||
reserve_bootmem(0x30081000, 0x1000, BOOTMEM_DEFAULT);
|
memblock_reserve(0x30081000, 0x1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init rx3715_init_irq(void)
|
static void __init rx3715_init_irq(void)
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
|
@ -33,7 +33,7 @@ static void __init u300_reserve(void)
|
||||||
#ifdef CONFIG_MACH_U300_SINGLE_RAM
|
#ifdef CONFIG_MACH_U300_SINGLE_RAM
|
||||||
#if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \
|
#if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \
|
||||||
CONFIG_MACH_U300_2MB_ALIGNMENT_FIX
|
CONFIG_MACH_U300_2MB_ALIGNMENT_FIX
|
||||||
reserve_bootmem(PHYS_OFFSET, 0x00100000, BOOTMEM_DEFAULT);
|
memblock_reserve(PHYS_OFFSET, 0x00100000);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -271,7 +271,7 @@ static void arm_memory_present(struct meminfo *mi)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void __init arm_memblock_init(struct meminfo *mi)
|
void __init arm_memblock_init(struct meminfo *mi, struct machine_desc *mdesc)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -297,11 +297,15 @@ void __init arm_memblock_init(struct meminfo *mi)
|
||||||
|
|
||||||
arm_mm_memblock_reserve();
|
arm_mm_memblock_reserve();
|
||||||
|
|
||||||
|
/* reserve any platform specific memblock areas */
|
||||||
|
if (mdesc->reserve)
|
||||||
|
mdesc->reserve();
|
||||||
|
|
||||||
memblock_analyze();
|
memblock_analyze();
|
||||||
memblock_dump_all();
|
memblock_dump_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init bootmem_init(struct machine_desc *mdesc)
|
void __init bootmem_init(void)
|
||||||
{
|
{
|
||||||
struct meminfo *mi = &meminfo;
|
struct meminfo *mi = &meminfo;
|
||||||
unsigned long min, max_low, max_high;
|
unsigned long min, max_low, max_high;
|
||||||
|
@ -312,9 +316,6 @@ void __init bootmem_init(struct machine_desc *mdesc)
|
||||||
|
|
||||||
arm_bootmem_init(mi, min, max_low);
|
arm_bootmem_init(mi, min, max_low);
|
||||||
|
|
||||||
if (mdesc->reserve)
|
|
||||||
mdesc->reserve();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sparsemem tries to allocate bootmem in memory_present(),
|
* Sparsemem tries to allocate bootmem in memory_present(),
|
||||||
* so must be done after the fixed reservations
|
* so must be done after the fixed reservations
|
||||||
|
|
|
@ -28,6 +28,5 @@ extern void __flush_dcache_page(struct address_space *mapping, struct page *page
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct machine_desc;
|
void __init bootmem_init(void);
|
||||||
void __init bootmem_init(struct machine_desc *);
|
|
||||||
void arm_mm_memblock_reserve(void);
|
void arm_mm_memblock_reserve(void);
|
||||||
|
|
|
@ -1006,7 +1006,7 @@ void __init paging_init(struct machine_desc *mdesc)
|
||||||
/* allocate the zero page. */
|
/* allocate the zero page. */
|
||||||
zero_page = early_alloc(PAGE_SIZE);
|
zero_page = early_alloc(PAGE_SIZE);
|
||||||
|
|
||||||
bootmem_init(mdesc);
|
bootmem_init();
|
||||||
|
|
||||||
empty_zero_page = virt_to_page(zero_page);
|
empty_zero_page = virt_to_page(zero_page);
|
||||||
__flush_dcache_page(NULL, empty_zero_page);
|
__flush_dcache_page(NULL, empty_zero_page);
|
||||||
|
|
|
@ -33,7 +33,7 @@ void __init arm_mm_memblock_reserve(void)
|
||||||
*/
|
*/
|
||||||
void __init paging_init(struct machine_desc *mdesc)
|
void __init paging_init(struct machine_desc *mdesc)
|
||||||
{
|
{
|
||||||
bootmem_init(mdesc);
|
bootmem_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue