import PULS_20160108
This commit is contained in:
@@ -758,6 +758,9 @@ config LOG_BUF_SHIFT
|
||||
config HAVE_UNSTABLE_SCHED_CLOCK
|
||||
bool
|
||||
|
||||
config GENERIC_SCHED_CLOCK
|
||||
bool
|
||||
|
||||
#
|
||||
# For architectures that want to enable the support for NUMA-affine scheduler
|
||||
# balancing logic:
|
||||
@@ -1251,6 +1254,12 @@ config HOTPLUG
|
||||
config HAVE_PCSPKR_PLATFORM
|
||||
bool
|
||||
|
||||
config PANIC_TIMEOUT
|
||||
int "Default panic timeout"
|
||||
default 0
|
||||
help
|
||||
Set default panic timeout.
|
||||
|
||||
menuconfig EXPERT
|
||||
bool "Configure standard kernel features (expert users)"
|
||||
# Unhide debug options, to make the on-by-default options visible
|
||||
|
||||
+4
-1
@@ -296,6 +296,9 @@ void __cpuinit calibrate_delay(void)
|
||||
lpj/(500000/HZ),
|
||||
(lpj/(5000/HZ)) % 100, lpj);
|
||||
|
||||
loops_per_jiffy = lpj;
|
||||
//20140325 marc.huang
|
||||
//reconfig loops_per_jiffy only on CPU 0 to fix udelay is not accurate when CPU Hotplug
|
||||
if (this_cpu == 0)
|
||||
loops_per_jiffy = lpj;
|
||||
printed = true;
|
||||
}
|
||||
|
||||
@@ -281,6 +281,7 @@ fail:
|
||||
done:
|
||||
return res;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(name_to_dev_t);
|
||||
|
||||
static int __init root_dev_setup(char *line)
|
||||
{
|
||||
@@ -582,6 +583,8 @@ void __init prepare_namespace(void)
|
||||
if (is_floppy && rd_doload && rd_load_disk(0))
|
||||
ROOT_DEV = Root_RAM0;
|
||||
|
||||
check_resume_attempted();
|
||||
|
||||
mount_root();
|
||||
out:
|
||||
devtmpfs_mount("dev");
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <linux/romfs_fs.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/freezer.h>
|
||||
#include <linux/kmod.h>
|
||||
|
||||
@@ -79,6 +80,11 @@ static void __init handle_initrd(void)
|
||||
|
||||
current->flags &= ~PF_FREEZER_SKIP;
|
||||
|
||||
if (!resume_attempted)
|
||||
printk(KERN_ERR "TuxOnIce: No attempt was made to resume from "
|
||||
"any image that might exist.\n");
|
||||
clear_toi_state(TOI_BOOT_TIME);
|
||||
|
||||
/* move initrd to rootfs' /old */
|
||||
sys_mount("..", ".", NULL, MS_MOVE, NULL);
|
||||
/* switch root and cwd back to / of rootfs */
|
||||
|
||||
+19
-1
@@ -74,13 +74,16 @@
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/elevator.h>
|
||||
#include <linux/sched_clock.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/time_log.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/bugs.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <linux/bootprof.h>
|
||||
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
#include <asm/smp.h>
|
||||
@@ -128,6 +131,7 @@ extern void softirq_init(void);
|
||||
char __initdata boot_command_line[COMMAND_LINE_SIZE];
|
||||
/* Untouched saved command line (eg. for /proc) */
|
||||
char *saved_command_line;
|
||||
EXPORT_SYMBOL_GPL(saved_command_line);
|
||||
/* Command line for parameter parsing */
|
||||
static char *static_command_line;
|
||||
|
||||
@@ -556,6 +560,7 @@ asmlinkage void __init start_kernel(void)
|
||||
softirq_init();
|
||||
timekeeping_init();
|
||||
time_init();
|
||||
sched_clock_postinit();
|
||||
profile_init();
|
||||
call_function_init();
|
||||
WARN(!irqs_disabled(), "Interrupts were enabled early\n");
|
||||
@@ -684,7 +689,7 @@ int __init_or_module do_one_initcall(initcall_t fn)
|
||||
{
|
||||
int count = preempt_count();
|
||||
int ret;
|
||||
|
||||
TIME_LOG_START();
|
||||
if (initcall_debug)
|
||||
ret = do_one_initcall_debug(fn);
|
||||
else
|
||||
@@ -702,6 +707,7 @@ int __init_or_module do_one_initcall(initcall_t fn)
|
||||
}
|
||||
WARN(msgbuf[0], "initcall %pF returned with %s\n", fn, msgbuf);
|
||||
|
||||
TIME_LOG_END("[init] f(%p)\n", fn);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -826,6 +832,8 @@ static int __ref kernel_init(void *unused)
|
||||
|
||||
flush_delayed_fput();
|
||||
|
||||
log_boot("Kernel_init_done");
|
||||
|
||||
if (ramdisk_execute_command) {
|
||||
if (!run_init_process(ramdisk_execute_command))
|
||||
return 0;
|
||||
@@ -854,6 +862,11 @@ static int __ref kernel_init(void *unused)
|
||||
"See Linux Documentation/init.txt for guidance.");
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_MTK_HIBERNATION
|
||||
// IPO-H, move here for console ok after hibernaton
|
||||
extern int software_resume(void);
|
||||
#endif
|
||||
static noinline void __init kernel_init_freeable(void)
|
||||
{
|
||||
/*
|
||||
@@ -891,6 +904,11 @@ static noinline void __init kernel_init_freeable(void)
|
||||
|
||||
(void) sys_dup(0);
|
||||
(void) sys_dup(0);
|
||||
|
||||
#ifdef CONFIG_MTK_HIBERNATION
|
||||
// IPO-H, move here for console ok after hibernaton resume
|
||||
software_resume();
|
||||
#endif
|
||||
/*
|
||||
* check if there is an early userspace init. If yes, let it do all
|
||||
* the work
|
||||
|
||||
Reference in New Issue
Block a user