Loading arch/mips/dec/time.c +3 −2 Original line number Original line Diff line number Diff line Loading @@ -126,12 +126,13 @@ int rtc_mips_set_mmss(unsigned long nowtime) void __init plat_time_init(void) void __init plat_time_init(void) { { u32 start, end; u32 start, end; int i = HZ / 10; int i = HZ / 8; /* Set up the rate of periodic DS1287 interrupts. */ /* Set up the rate of periodic DS1287 interrupts. */ ds1287_set_base_clock(HZ); ds1287_set_base_clock(HZ); if (cpu_has_counter) { if (cpu_has_counter) { ds1287_timer_state(); while (!ds1287_timer_state()) while (!ds1287_timer_state()) ; ; Loading @@ -143,7 +144,7 @@ void __init plat_time_init(void) end = read_c0_count(); end = read_c0_count(); mips_hpt_frequency = (end - start) * 10; mips_hpt_frequency = (end - start) * 8; printk(KERN_INFO "MIPS counter frequency %dHz\n", printk(KERN_INFO "MIPS counter frequency %dHz\n", mips_hpt_frequency); mips_hpt_frequency); } else if (IOASIC) } else if (IOASIC) Loading arch/mips/kernel/csrc-ioasic.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -41,9 +41,9 @@ void __init dec_ioasic_clocksource_init(void) { { unsigned int freq; unsigned int freq; u32 start, end; u32 start, end; int i = HZ / 10; int i = HZ / 8; ds1287_timer_state(); while (!ds1287_timer_state()) while (!ds1287_timer_state()) ; ; Loading @@ -55,7 +55,7 @@ void __init dec_ioasic_clocksource_init(void) end = dec_ioasic_hpt_read(&clocksource_dec); end = dec_ioasic_hpt_read(&clocksource_dec); freq = (end - start) * 10; freq = (end - start) * 8; printk(KERN_INFO "I/O ASIC clock frequency %dHz\n", freq); printk(KERN_INFO "I/O ASIC clock frequency %dHz\n", freq); clocksource_dec.rating = 200 + freq / 10000000; clocksource_dec.rating = 200 + freq / 10000000; Loading arch/mips/kernel/relocate_kernel.S +6 −0 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,12 @@ process_entry: PTR_L s2, (s0) PTR_L s2, (s0) PTR_ADD s0, s0, SZREG PTR_ADD s0, s0, SZREG /* * In case of a kdump/crash kernel, the indirection page is not * populated as the kernel is directly copied to a reserved location */ beqz s2, done /* destination page */ /* destination page */ and s3, s2, 0x1 and s3, s2, 0x1 beq s3, zero, 1f beq s3, zero, 1f Loading arch/mips/kernel/setup.c +48 −51 Original line number Original line Diff line number Diff line Loading @@ -552,6 +552,52 @@ static void __init arch_mem_addpart(phys_t mem, phys_t end, int type) add_memory_region(mem, size, type); add_memory_region(mem, size, type); } } #ifdef CONFIG_KEXEC static inline unsigned long long get_total_mem(void) { unsigned long long total; total = max_pfn - min_low_pfn; return total << PAGE_SHIFT; } static void __init mips_parse_crashkernel(void) { unsigned long long total_mem; unsigned long long crash_size, crash_base; int ret; total_mem = get_total_mem(); ret = parse_crashkernel(boot_command_line, total_mem, &crash_size, &crash_base); if (ret != 0 || crash_size <= 0) return; crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size - 1; } static void __init request_crashkernel(struct resource *res) { int ret; ret = request_resource(res, &crashk_res); if (!ret) pr_info("Reserving %ldMB of memory at %ldMB for crashkernel\n", (unsigned long)((crashk_res.end - crashk_res.start + 1) >> 20), (unsigned long)(crashk_res.start >> 20)); } #else /* !defined(CONFIG_KEXEC) */ static void __init mips_parse_crashkernel(void) { } static void __init request_crashkernel(struct resource *res) { } #endif /* !defined(CONFIG_KEXEC) */ static void __init arch_mem_init(char **cmdline_p) static void __init arch_mem_init(char **cmdline_p) { { extern void plat_mem_setup(void); extern void plat_mem_setup(void); Loading Loading @@ -608,6 +654,8 @@ static void __init arch_mem_init(char **cmdline_p) BOOTMEM_DEFAULT); BOOTMEM_DEFAULT); } } #endif #endif mips_parse_crashkernel(); #ifdef CONFIG_KEXEC #ifdef CONFIG_KEXEC if (crashk_res.start != crashk_res.end) if (crashk_res.start != crashk_res.end) reserve_bootmem(crashk_res.start, reserve_bootmem(crashk_res.start, Loading @@ -620,52 +668,6 @@ static void __init arch_mem_init(char **cmdline_p) paging_init(); paging_init(); } } #ifdef CONFIG_KEXEC static inline unsigned long long get_total_mem(void) { unsigned long long total; total = max_pfn - min_low_pfn; return total << PAGE_SHIFT; } static void __init mips_parse_crashkernel(void) { unsigned long long total_mem; unsigned long long crash_size, crash_base; int ret; total_mem = get_total_mem(); ret = parse_crashkernel(boot_command_line, total_mem, &crash_size, &crash_base); if (ret != 0 || crash_size <= 0) return; crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size - 1; } static void __init request_crashkernel(struct resource *res) { int ret; ret = request_resource(res, &crashk_res); if (!ret) pr_info("Reserving %ldMB of memory at %ldMB for crashkernel\n", (unsigned long)((crashk_res.end - crashk_res.start + 1) >> 20), (unsigned long)(crashk_res.start >> 20)); } #else /* !defined(CONFIG_KEXEC) */ static void __init mips_parse_crashkernel(void) { } static void __init request_crashkernel(struct resource *res) { } #endif /* !defined(CONFIG_KEXEC) */ static void __init resource_init(void) static void __init resource_init(void) { { int i; int i; Loading @@ -678,11 +680,6 @@ static void __init resource_init(void) data_resource.start = __pa_symbol(&_etext); data_resource.start = __pa_symbol(&_etext); data_resource.end = __pa_symbol(&_edata) - 1; data_resource.end = __pa_symbol(&_edata) - 1; /* * Request address space for all standard RAM. */ mips_parse_crashkernel(); for (i = 0; i < boot_mem_map.nr_map; i++) { for (i = 0; i < boot_mem_map.nr_map; i++) { struct resource *res; struct resource *res; unsigned long start, end; unsigned long start, end; Loading arch/mips/mm/init.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -254,6 +254,7 @@ void copy_from_user_page(struct vm_area_struct *vma, SetPageDcacheDirty(page); SetPageDcacheDirty(page); } } } } EXPORT_SYMBOL_GPL(copy_from_user_page); void __init fixrange_init(unsigned long start, unsigned long end, void __init fixrange_init(unsigned long start, unsigned long end, pgd_t *pgd_base) pgd_t *pgd_base) Loading Loading
arch/mips/dec/time.c +3 −2 Original line number Original line Diff line number Diff line Loading @@ -126,12 +126,13 @@ int rtc_mips_set_mmss(unsigned long nowtime) void __init plat_time_init(void) void __init plat_time_init(void) { { u32 start, end; u32 start, end; int i = HZ / 10; int i = HZ / 8; /* Set up the rate of periodic DS1287 interrupts. */ /* Set up the rate of periodic DS1287 interrupts. */ ds1287_set_base_clock(HZ); ds1287_set_base_clock(HZ); if (cpu_has_counter) { if (cpu_has_counter) { ds1287_timer_state(); while (!ds1287_timer_state()) while (!ds1287_timer_state()) ; ; Loading @@ -143,7 +144,7 @@ void __init plat_time_init(void) end = read_c0_count(); end = read_c0_count(); mips_hpt_frequency = (end - start) * 10; mips_hpt_frequency = (end - start) * 8; printk(KERN_INFO "MIPS counter frequency %dHz\n", printk(KERN_INFO "MIPS counter frequency %dHz\n", mips_hpt_frequency); mips_hpt_frequency); } else if (IOASIC) } else if (IOASIC) Loading
arch/mips/kernel/csrc-ioasic.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -41,9 +41,9 @@ void __init dec_ioasic_clocksource_init(void) { { unsigned int freq; unsigned int freq; u32 start, end; u32 start, end; int i = HZ / 10; int i = HZ / 8; ds1287_timer_state(); while (!ds1287_timer_state()) while (!ds1287_timer_state()) ; ; Loading @@ -55,7 +55,7 @@ void __init dec_ioasic_clocksource_init(void) end = dec_ioasic_hpt_read(&clocksource_dec); end = dec_ioasic_hpt_read(&clocksource_dec); freq = (end - start) * 10; freq = (end - start) * 8; printk(KERN_INFO "I/O ASIC clock frequency %dHz\n", freq); printk(KERN_INFO "I/O ASIC clock frequency %dHz\n", freq); clocksource_dec.rating = 200 + freq / 10000000; clocksource_dec.rating = 200 + freq / 10000000; Loading
arch/mips/kernel/relocate_kernel.S +6 −0 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,12 @@ process_entry: PTR_L s2, (s0) PTR_L s2, (s0) PTR_ADD s0, s0, SZREG PTR_ADD s0, s0, SZREG /* * In case of a kdump/crash kernel, the indirection page is not * populated as the kernel is directly copied to a reserved location */ beqz s2, done /* destination page */ /* destination page */ and s3, s2, 0x1 and s3, s2, 0x1 beq s3, zero, 1f beq s3, zero, 1f Loading
arch/mips/kernel/setup.c +48 −51 Original line number Original line Diff line number Diff line Loading @@ -552,6 +552,52 @@ static void __init arch_mem_addpart(phys_t mem, phys_t end, int type) add_memory_region(mem, size, type); add_memory_region(mem, size, type); } } #ifdef CONFIG_KEXEC static inline unsigned long long get_total_mem(void) { unsigned long long total; total = max_pfn - min_low_pfn; return total << PAGE_SHIFT; } static void __init mips_parse_crashkernel(void) { unsigned long long total_mem; unsigned long long crash_size, crash_base; int ret; total_mem = get_total_mem(); ret = parse_crashkernel(boot_command_line, total_mem, &crash_size, &crash_base); if (ret != 0 || crash_size <= 0) return; crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size - 1; } static void __init request_crashkernel(struct resource *res) { int ret; ret = request_resource(res, &crashk_res); if (!ret) pr_info("Reserving %ldMB of memory at %ldMB for crashkernel\n", (unsigned long)((crashk_res.end - crashk_res.start + 1) >> 20), (unsigned long)(crashk_res.start >> 20)); } #else /* !defined(CONFIG_KEXEC) */ static void __init mips_parse_crashkernel(void) { } static void __init request_crashkernel(struct resource *res) { } #endif /* !defined(CONFIG_KEXEC) */ static void __init arch_mem_init(char **cmdline_p) static void __init arch_mem_init(char **cmdline_p) { { extern void plat_mem_setup(void); extern void plat_mem_setup(void); Loading Loading @@ -608,6 +654,8 @@ static void __init arch_mem_init(char **cmdline_p) BOOTMEM_DEFAULT); BOOTMEM_DEFAULT); } } #endif #endif mips_parse_crashkernel(); #ifdef CONFIG_KEXEC #ifdef CONFIG_KEXEC if (crashk_res.start != crashk_res.end) if (crashk_res.start != crashk_res.end) reserve_bootmem(crashk_res.start, reserve_bootmem(crashk_res.start, Loading @@ -620,52 +668,6 @@ static void __init arch_mem_init(char **cmdline_p) paging_init(); paging_init(); } } #ifdef CONFIG_KEXEC static inline unsigned long long get_total_mem(void) { unsigned long long total; total = max_pfn - min_low_pfn; return total << PAGE_SHIFT; } static void __init mips_parse_crashkernel(void) { unsigned long long total_mem; unsigned long long crash_size, crash_base; int ret; total_mem = get_total_mem(); ret = parse_crashkernel(boot_command_line, total_mem, &crash_size, &crash_base); if (ret != 0 || crash_size <= 0) return; crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size - 1; } static void __init request_crashkernel(struct resource *res) { int ret; ret = request_resource(res, &crashk_res); if (!ret) pr_info("Reserving %ldMB of memory at %ldMB for crashkernel\n", (unsigned long)((crashk_res.end - crashk_res.start + 1) >> 20), (unsigned long)(crashk_res.start >> 20)); } #else /* !defined(CONFIG_KEXEC) */ static void __init mips_parse_crashkernel(void) { } static void __init request_crashkernel(struct resource *res) { } #endif /* !defined(CONFIG_KEXEC) */ static void __init resource_init(void) static void __init resource_init(void) { { int i; int i; Loading @@ -678,11 +680,6 @@ static void __init resource_init(void) data_resource.start = __pa_symbol(&_etext); data_resource.start = __pa_symbol(&_etext); data_resource.end = __pa_symbol(&_edata) - 1; data_resource.end = __pa_symbol(&_edata) - 1; /* * Request address space for all standard RAM. */ mips_parse_crashkernel(); for (i = 0; i < boot_mem_map.nr_map; i++) { for (i = 0; i < boot_mem_map.nr_map; i++) { struct resource *res; struct resource *res; unsigned long start, end; unsigned long start, end; Loading
arch/mips/mm/init.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -254,6 +254,7 @@ void copy_from_user_page(struct vm_area_struct *vma, SetPageDcacheDirty(page); SetPageDcacheDirty(page); } } } } EXPORT_SYMBOL_GPL(copy_from_user_page); void __init fixrange_init(unsigned long start, unsigned long end, void __init fixrange_init(unsigned long start, unsigned long end, pgd_t *pgd_base) pgd_t *pgd_base) Loading