From 53721e4ea5b714cf9cffdf76736eb50402546686 Mon Sep 17 00:00:00 2001 From: Anmin Hsu Date: Fri, 2 Oct 2015 01:10:06 +0800 Subject: aee: enable mt_dump flow [Detail] ipanic flow need to use mt_dump flow to avoid reserve memory for preloader/lk [Solution] 1.Enable mt_dump ke flow 2.remove preloader/lk memory reserve in MT6735 [Feature] CTS(*) MTK-Commit-Id: aff7a2ce6a1c6bd805b2acdeaef7c8c28a0cd613 Change-Id: I2264b0544d3219b4ed2dd53483a134182d76aa17 Signed-off-by: Ji Zhang CR-Id: ALPS02296880 (cherry picked from commit abaf1e786c9856e1a048e55714faa7f98309b96d) --- drivers/misc/mediatek/aee/ipanic/ipanic_rom.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/misc/mediatek/aee/ipanic/ipanic_rom.c b/drivers/misc/mediatek/aee/ipanic/ipanic_rom.c index 4077ecfde..d95b3c1e5 100644 --- a/drivers/misc/mediatek/aee/ipanic/ipanic_rom.c +++ b/drivers/misc/mediatek/aee/ipanic/ipanic_rom.c @@ -30,6 +30,12 @@ int __weak ipanic_atflog_buffer(void *data, unsigned char *buffer, size_t sz_buf return 0; } +int __weak has_mt_dump_support(void) +{ + pr_notice("%s: no mt_dump support!\n", __func__); + return 0; +} + #if 1 void ipanic_block_scramble(u8 *buf, int buflen) { @@ -453,6 +459,8 @@ int ipanic(struct notifier_block *this, unsigned long event, void *ptr) int dt; int errno; struct ipanic_header *ipanic_hdr; + + memset(&dumper, 0x0, sizeof(struct kmsg_dumper)); aee_rr_rec_fiq_step(AEE_FIQ_STEP_KE_IPANIC_START); aee_rr_rec_exp_type(2); bust_spinlocks(1); @@ -613,6 +621,9 @@ static int ipanic_die(struct notifier_block *self, unsigned long cmd, void *ptr) /* No return if mrdump is enable */ __mrdump_create_oops_dump(AEE_REBOOT_MODE_KERNEL_OOPS, dargs->regs, "Kernel Oops"); + if (!has_mt_dump_support()) + emergency_restart(); + smp_send_stop(); ipanic_mrdump_mini(AEE_REBOOT_MODE_KERNEL_PANIC, "kernel Oops"); -- cgit v1.2.3