Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 191705
b: refs/heads/master
c: 19d8f84
h: refs/heads/master
i:
  191703: f9e6841
v: v3
  • Loading branch information
Paul Mundt committed May 10, 2010
1 parent 048cf9b commit 0bddf3f
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 080e71e13d99d850875c0335c364766162eae7c6
refs/heads/master: 19d8f84f86af867abee174be8bf1e4941a59143d
1 change: 1 addition & 0 deletions trunk/arch/sh/include/asm/io_generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,6 @@ void IO_CONCAT(__IO_PREFIX,iounmap)(void *addr);

void __iomem *IO_CONCAT(__IO_PREFIX,ioport_map)(unsigned long addr, unsigned int size);
void IO_CONCAT(__IO_PREFIX,ioport_unmap)(void __iomem *addr);
void IO_CONCAT(__IO_PREFIX,mem_init)(void);

#undef __IO_PREFIX
2 changes: 2 additions & 0 deletions trunk/arch/sh/include/asm/machvec.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ struct sh_machine_vector {

int (*mv_clk_init)(void);
int (*mv_mode_pins)(void);

void (*mv_mem_init)(void);
};

extern struct sh_machine_vector sh_mv;
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/sh/include/asm/mmzone.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ setup_bootmem_node(int nid, unsigned long start, unsigned long end)
void __init plat_mem_setup(void);

/* arch/sh/kernel/setup.c */
void __init setup_bootmem_allocator(unsigned long start_pfn);
void __init __add_active_range(unsigned int nid, unsigned long start_pfn,
unsigned long end_pfn);

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/sh/kernel/machvec.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ void __init sh_mv_setup(void)
mv_set(ioport_unmap);
mv_set(irq_demux);
mv_set(mode_pins);
mv_set(mem_init);

if (!sh_mv.mv_nr_irqs)
sh_mv.mv_nr_irqs = NR_IRQS;
Expand Down
26 changes: 13 additions & 13 deletions trunk/arch/sh/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* This file handles the architecture-dependent parts of initialization
*
* Copyright (C) 1999 Niibe Yutaka
* Copyright (C) 2002 - 2007 Paul Mundt
* Copyright (C) 2002 - 2010 Paul Mundt
*/
#include <linux/screen_info.h>
#include <linux/ioport.h>
Expand Down Expand Up @@ -41,6 +41,7 @@
#include <asm/clock.h>
#include <asm/smp.h>
#include <asm/mmu_context.h>
#include <asm/mmzone.h>

/*
* Initialize loops_per_jiffy as 10000000 (1000MIPS).
Expand Down Expand Up @@ -247,7 +248,7 @@ void __init __add_active_range(unsigned int nid, unsigned long start_pfn,
add_active_range(nid, start_pfn, end_pfn);
}

void __init setup_bootmem_allocator(unsigned long free_pfn)
void __init do_init_bootmem(void)
{
unsigned long bootmap_size;
unsigned long bootmap_pages, bootmem_paddr;
Expand Down Expand Up @@ -298,21 +299,16 @@ void __init setup_bootmem_allocator(unsigned long free_pfn)
sparse_memory_present_with_active_regions(0);
}

#ifndef CONFIG_NEED_MULTIPLE_NODES
static void __init setup_memory(void)
{
unsigned long start_pfn;
u64 base = min_low_pfn << PAGE_SHIFT;
u64 size = (max_low_pfn << PAGE_SHIFT) - base;

/*
* Partially used pages are not usable - thus
* we are rounding upwards:
*/
start_pfn = PFN_UP(__pa(_end));

lmb_add(base, size);

/*
* Reserve the kernel text and
* Reserve the bootmem bitmap. We do this in two steps (first step
Expand All @@ -333,11 +329,9 @@ static void __init setup_memory(void)
lmb_analyze();
lmb_dump_all();

setup_bootmem_allocator(start_pfn);
do_init_bootmem();
plat_mem_setup();
}
#else
extern void __init setup_memory(void);
#endif

/*
* Note: elfcorehdr_addr is not just limited to vmcore. It is also used by
Expand All @@ -358,7 +352,11 @@ static int __init parse_elfcorehdr(char *arg)
early_param("elfcorehdr", parse_elfcorehdr);
#endif

void __init __attribute__ ((weak)) plat_early_device_setup(void)
void __init __weak plat_early_device_setup(void)
{
}

void __init __weak plat_mem_setup(void)
{
}

Expand Down Expand Up @@ -426,7 +424,10 @@ void __init setup_arch(char **cmdline_p)
/* Let earlyprintk output early console messages */
early_platform_driver_probe("earlyprintk", 1, 1);

lmb_init();

sh_mv_setup();
sh_mv.mv_mem_init();

/*
* Find the highest page frame number we have available
Expand All @@ -442,7 +443,6 @@ void __init setup_arch(char **cmdline_p)
nodes_clear(node_online_map);

pmb_init();
lmb_init();
setup_memory();
sparse_init();

Expand Down
8 changes: 7 additions & 1 deletion trunk/arch/sh/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* linux/arch/sh/mm/init.c
*
* Copyright (C) 1999 Niibe Yutaka
* Copyright (C) 2002 - 2007 Paul Mundt
* Copyright (C) 2002 - 2010 Paul Mundt
*
* Based on linux/arch/i386/mm/init.c:
* Copyright (C) 1995 Linus Torvalds
Expand All @@ -16,6 +16,7 @@
#include <linux/pagemap.h>
#include <linux/percpu.h>
#include <linux/io.h>
#include <linux/lmb.h>
#include <linux/dma-mapping.h>
#include <asm/mmu_context.h>
#include <asm/tlb.h>
Expand All @@ -27,6 +28,11 @@
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
pgd_t swapper_pg_dir[PTRS_PER_PGD];

void __init generic_mem_init(void)
{
lmb_add(__MEMORY_START, __MEMORY_SIZE);
}

#ifdef CONFIG_MMU
static pte_t *__get_pte_phys(unsigned long addr)
{
Expand Down

0 comments on commit 0bddf3f

Please sign in to comment.