mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-02 18:54:10 +08:00
Merge branch '3.11-fixes' into mips-for-linux-next
This commit is contained in:
commit
356948f042
@ -126,12 +126,13 @@ int rtc_mips_set_mmss(unsigned long nowtime)
|
||||
void __init plat_time_init(void)
|
||||
{
|
||||
u32 start, end;
|
||||
int i = HZ / 10;
|
||||
int i = HZ / 8;
|
||||
|
||||
/* Set up the rate of periodic DS1287 interrupts. */
|
||||
ds1287_set_base_clock(HZ);
|
||||
|
||||
if (cpu_has_counter) {
|
||||
ds1287_timer_state();
|
||||
while (!ds1287_timer_state())
|
||||
;
|
||||
|
||||
@ -143,7 +144,7 @@ void __init plat_time_init(void)
|
||||
|
||||
end = read_c0_count();
|
||||
|
||||
mips_hpt_frequency = (end - start) * 10;
|
||||
mips_hpt_frequency = (end - start) * 8;
|
||||
printk(KERN_INFO "MIPS counter frequency %dHz\n",
|
||||
mips_hpt_frequency);
|
||||
} else if (IOASIC)
|
||||
|
@ -41,9 +41,9 @@ void __init dec_ioasic_clocksource_init(void)
|
||||
{
|
||||
unsigned int freq;
|
||||
u32 start, end;
|
||||
int i = HZ / 10;
|
||||
|
||||
int i = HZ / 8;
|
||||
|
||||
ds1287_timer_state();
|
||||
while (!ds1287_timer_state())
|
||||
;
|
||||
|
||||
@ -55,7 +55,7 @@ void __init dec_ioasic_clocksource_init(void)
|
||||
|
||||
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);
|
||||
|
||||
clocksource_dec.rating = 200 + freq / 10000000;
|
||||
|
@ -26,6 +26,12 @@ process_entry:
|
||||
PTR_L s2, (s0)
|
||||
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 */
|
||||
and s3, s2, 0x1
|
||||
beq s3, zero, 1f
|
||||
|
@ -552,6 +552,52 @@ static void __init arch_mem_addpart(phys_t mem, phys_t end, int 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)
|
||||
{
|
||||
extern void plat_mem_setup(void);
|
||||
@ -608,6 +654,8 @@ static void __init arch_mem_init(char **cmdline_p)
|
||||
BOOTMEM_DEFAULT);
|
||||
}
|
||||
#endif
|
||||
|
||||
mips_parse_crashkernel();
|
||||
#ifdef CONFIG_KEXEC
|
||||
if (crashk_res.start != crashk_res.end)
|
||||
reserve_bootmem(crashk_res.start,
|
||||
@ -620,52 +668,6 @@ static void __init arch_mem_init(char **cmdline_p)
|
||||
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)
|
||||
{
|
||||
int i;
|
||||
@ -678,11 +680,6 @@ static void __init resource_init(void)
|
||||
data_resource.start = __pa_symbol(&_etext);
|
||||
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++) {
|
||||
struct resource *res;
|
||||
unsigned long start, end;
|
||||
|
@ -254,6 +254,7 @@ void copy_from_user_page(struct vm_area_struct *vma,
|
||||
SetPageDcacheDirty(page);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(copy_from_user_page);
|
||||
|
||||
void __init fixrange_init(unsigned long start, unsigned long end,
|
||||
pgd_t *pgd_base)
|
||||
|
Loading…
Reference in New Issue
Block a user