sysctl: add cold_boot sysctl entry

Add a cold_boot parameter which supplements the
boot_reason sysctl entry with information about
whether the system was booted from cold or warm state.

/proc/sys/kernel/cold_boot entry is updated with 1 or 0 when
system was booted from cold or warm boot state respecitively.

CRs-Fixed: 461256
Change-Id: I2bc5d80c8f26eb9e9dbb4b34960d991a51a224e4
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
This commit is contained in:
David Keitel 2013-03-26 18:50:03 -07:00 committed by Stephen Boyd
parent eeb70a608e
commit e1f747cd9e
6 changed files with 26 additions and 1 deletions

View File

@ -26,6 +26,7 @@ show up in /proc/sys/kernel:
- boot_reason [ ARM only ]
- callhome [ S390 only ]
- cap_last_cap
- cold_boot [ ARM only ]
- core_pattern
- core_pipe_limit
- core_uses_pid
@ -179,6 +180,16 @@ cap_last_cap
Highest valid capability of the running kernel. Exports
CAP_LAST_CAP from the kernel.
===============================================================
cold_boot
ARM -- indicator for system cold boot
A single bit will be set in the unsigned integer value to identify
whether the device was booted from a cold or warm state. Zero
indicating a warm boot and one indicating a cold boot.
==============================================================
core_pattern:

View File

@ -30,6 +30,7 @@
#endif
extern unsigned int boot_reason;
extern unsigned int cold_boot;
struct debug_info {
#ifdef CONFIG_HAVE_HW_BREAKPOINT

View File

@ -100,6 +100,9 @@ EXPORT_SYMBOL(elf_hwcap);
unsigned int boot_reason;
EXPORT_SYMBOL(boot_reason);
unsigned int cold_boot;
EXPORT_SYMBOL(cold_boot);
#ifdef MULTI_CPU
struct processor processor __read_mostly;
#endif

View File

@ -153,6 +153,7 @@ enum
KERN_MAX_LOCK_DEPTH=74, /* int: rtmutex's maximum lock depth */
KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */
KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
KERN_COLD_BOOT = 78, /* int: identify if system cold booted */
};

View File

@ -1078,7 +1078,15 @@ static struct ctl_table kern_table[] = {
.maxlen = sizeof(int),
.mode = 0444,
.proc_handler = proc_dointvec,
},
},
{
.procname = "cold_boot",
.data = &cold_boot,
.maxlen = sizeof(int),
.mode = 0444,
.proc_handler = proc_dointvec,
},
#endif
/*
* NOTE: do not add new entries to this table unless you have read

View File

@ -139,6 +139,7 @@ static const struct bin_table bin_kern_table[] = {
{ CTL_INT, KERN_MAX_LOCK_DEPTH, "max_lock_depth" },
{ CTL_INT, KERN_PANIC_ON_NMI, "panic_on_unrecovered_nmi" },
{ CTL_INT, KERN_BOOT_REASON, "boot_reason" },
{ CTL_INT, KERN_COLD_BOOT, "cold_boot" },
{}
};