設(shè)計師找素材的網(wǎng)站網(wǎng)站被禁用如何解決
1、背景介紹
在運行l(wèi)inux應(yīng)用程序的時候,有時會遇到內(nèi)核崩潰異常的情況,此時串口中會打印出內(nèi)核崩潰時的堆棧情況,如下:
當(dāng)出現(xiàn)這個情況后串口就死了,應(yīng)用也停了,此時無法進(jìn)行恢復(fù)。
之前寫過可通過板子watchdog來復(fù)位,實現(xiàn)重啟,Zynq-Linux移植學(xué)習(xí)筆記之44-linux下watchdog示例_zynq watchdog-CSDN博客
下面介紹另一種復(fù)位方法,不需要watchdog也可以。
2、panic機制
從上面的串口異常信息,可以得知這是在內(nèi)核panic函數(shù)中打印出來的,panic函數(shù)位于kernel目錄下的panic.c文件內(nèi)
panic.c具體代碼如下
/** linux/kernel/panic.c** Copyright (C) 1991, 1992 Linus Torvalds*//** This function is used through-out the kernel (including mm and fs)* to indicate a major problem.*/
#include <linux/debug_locks.h>
#include <linux/sched/debug.h>
#include <linux/interrupt.h>
#include <linux/kmsg_dump.h>
#include <linux/kallsyms.h>
#include <linux/notifier.h>
#include <linux/module.h>
#include <linux/random.h>
#include <linux/ftrace.h>
#include <linux/reboot.h>
#include <linux/delay.h>
#include <linux/kexec.h>
#include <linux/sched.h>
#include <linux/sysrq.h>
#include <linux/init.h>
#include <linux/nmi.h>
#include <linux/console.h>
#include <linux/bug.h>
#include <linux/ratelimit.h>#define PANIC_TIMER_STEP 100
#define PANIC_BLINK_SPD 18int panic_on_oops = CONFIG_PANIC_ON_OOPS_VALUE;
static unsigned long tainted_mask;
static int pause_on_oops;
static int pause_on_oops_flag;
static DEFINE_SPINLOCK(pause_on_oops_lock);
bool crash_kexec_post_notifiers;
int panic_on_warn __read_mostly;int panic_timeout = CONFIG_PANIC_TIMEOUT;
EXPORT_SYMBOL_GPL(panic_timeout);ATOMIC_NOTIFIER_HEAD(panic_notifier_list);EXPORT_SYMBOL(panic_notifier_list);static long no_blink(int state)
{return 0;
}/* Returns how long it waited in ms */
long (*panic_blink)(int state);
EXPORT_SYMBOL(panic_blink);/** Stop ourself in panic -- architecture code may override this*/
void __weak panic_smp_self_stop(void)
{while (1)cpu_relax();
}/** Stop ourselves in NMI context if another CPU has already panicked. Arch code* may override this to prepare for crash dumping, e.g. save regs info.*/
void __weak nmi_panic_self_stop(struct pt_regs *regs)
{panic_smp_self_stop();
}/** Stop other CPUs in panic. Architecture dependent code may override this* with more suitable version. For example, if the architecture supports* crash dump, it should save registers of each stopped CPU and disable* per-CPU features such as virtualization extensions.*/
void __weak crash_smp_send_stop(void)
{static int cpus_stopped;/** This function can be called twice in panic path, but obviously* we execute this only once.*/if (cpus_stopped)return;/** Note smp_send_stop is the usual smp shutdown function, which* unfortunately means it may not be hardened to work in a panic* situation.*/smp_send_stop();cpus_stopped = 1;
}atomic_t panic_cpu = ATOMIC_INIT(PANIC_CPU_INVALID);/** A variant of panic() called from NMI context. We return if we've already* panicked on this CPU. If another CPU already panicked, loop in* nmi_panic_self_stop() which can provide architecture dependent code such* as saving register state for crash dump.*/
void nmi_panic(struct pt_regs *regs, const char *msg)
{int old_cpu, cpu;cpu = raw_smp_processor_id();old_cpu = atomic_cmpxchg(&panic_cpu, PANIC_CPU_INVALID, cpu);if (old_cpu == PANIC_CPU_INVALID)panic("%s", msg);else if (old_cpu != cpu)nmi_panic_self_stop(regs);
}
EXPORT_SYMBOL(nmi_panic);/*** panic - halt the system* @fmt: The text string to print** Display a message, then perform cleanups.** This function never returns.*/
void panic(const char *fmt, ...)
{static char buf[1024];va_list args;long i, i_next = 0;int state = 0;int old_cpu, this_cpu;bool _crash_kexec_post_notifiers = crash_kexec_post_notifiers;/** Disable local interrupts. This will prevent panic_smp_self_stop* from deadlocking the first cpu that invokes the panic, since* there is nothing to prevent an interrupt handler (that runs* after setting panic_cpu) from invoking panic() again.*/local_irq_disable();/** It's possible to come here directly from a panic-assertion and* not have preempt disabled. Some functions called from here want* preempt to be disabled. No point enabling it later though...** Only one CPU is allowed to execute the panic code from here. For* multiple parallel invocations of panic, all other CPUs either* stop themself or will wait until they are stopped by the 1st CPU* with smp_send_stop().** `old_cpu == PANIC_CPU_INVALID' means this is the 1st CPU which* comes here, so go ahead.* `old_cpu == this_cpu' means we came from nmi_panic() which sets* panic_cpu to this CPU. In this case, this is also the 1st CPU.*/this_cpu = raw_smp_processor_id();old_cpu = atomic_cmpxchg(&panic_cpu, PANIC_CPU_INVALID, this_cpu);if (old_cpu != PANIC_CPU_INVALID && old_cpu != this_cpu)panic_smp_self_stop();console_verbose();bust_spinlocks(1);va_start(args, fmt);vsnprintf(buf, sizeof(buf), fmt, args);va_end(args);pr_emerg("Kernel panic - not syncing: %s\n", buf);
#ifdef CONFIG_DEBUG_BUGVERBOSE/** Avoid nested stack-dumping if a panic occurs during oops processing*/if (!test_taint(TAINT_DIE) && oops_in_progress <= 1)dump_stack();
#endif/** If we have crashed and we have a crash kernel loaded let it handle* everything else.* If we want to run this after calling panic_notifiers, pass* the "crash_kexec_post_notifiers" option to the kernel.** Bypass the panic_cpu check and call __crash_kexec directly.*/if (!_crash_kexec_post_notifiers) {printk_safe_flush_on_panic();__crash_kexec(NULL);/** Note smp_send_stop is the usual smp shutdown function, which* unfortunately means it may not be hardened to work in a* panic situation.*/smp_send_stop();} else {/** If we want to do crash dump after notifier calls and* kmsg_dump, we will need architecture dependent extra* works in addition to stopping other CPUs.*/crash_smp_send_stop();}/** Run any panic handlers, including those that might need to* add information to the kmsg dump output.*/atomic_notifier_call_chain(&panic_notifier_list, 0, buf);/* Call flush even twice. It tries harder with a single online CPU */printk_safe_flush_on_panic();kmsg_dump(KMSG_DUMP_PANIC);/** If you doubt kdump always works fine in any situation,* "crash_kexec_post_notifiers" offers you a chance to run* panic_notifiers and dumping kmsg before kdump.* Note: since some panic_notifiers can make crashed kernel* more unstable, it can increase risks of the kdump failure too.** Bypass the panic_cpu check and call __crash_kexec directly.*/if (_crash_kexec_post_notifiers)__crash_kexec(NULL);bust_spinlocks(0);/** We may have ended up stopping the CPU holding the lock (in* smp_send_stop()) while still having some valuable data in the console* buffer. Try to acquire the lock then release it regardless of the* result. The release will also print the buffers out. Locks debug* should be disabled to avoid reporting bad unlock balance when* panic() is not being callled from OOPS.*/debug_locks_off();console_flush_on_panic();if (!panic_blink)panic_blink = no_blink;if (panic_timeout > 0) {/** Delay timeout seconds before rebooting the machine.* We can't use the "normal" timers since we just panicked.*/pr_emerg("Rebooting in %d seconds..\n", panic_timeout);for (i = 0; i < panic_timeout * 1000; i += PANIC_TIMER_STEP) {touch_nmi_watchdog();if (i >= i_next) {i += panic_blink(state ^= 1);i_next = i + 3600 / PANIC_BLINK_SPD;}mdelay(PANIC_TIMER_STEP);}}if (panic_timeout != 0) {/** This will not be a clean reboot, with everything* shutting down. But if there is a chance of* rebooting the system it will be rebooted.*/emergency_restart();}
#ifdef __sparc__{extern int stop_a_enabled;/* Make sure the user can actually press Stop-A (L1-A) */stop_a_enabled = 1;pr_emerg("Press Stop-A (L1-A) from sun keyboard or send break\n""twice on console to return to the boot prom\n");}
#endif
#if defined(CONFIG_S390){unsigned long caller;caller = (unsigned long)__builtin_return_address(0);disabled_wait(caller);}
#endifpr_emerg("---[ end Kernel panic - not syncing: %s\n", buf);local_irq_enable();for (i = 0; ; i += PANIC_TIMER_STEP) {touch_softlockup_watchdog();if (i >= i_next) {i += panic_blink(state ^= 1);i_next = i + 3600 / PANIC_BLINK_SPD;}mdelay(PANIC_TIMER_STEP);}
}EXPORT_SYMBOL(panic);/** TAINT_FORCED_RMMOD could be a per-module flag but the module* is being removed anyway.*/
const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = {{ 'P', 'G', true }, /* TAINT_PROPRIETARY_MODULE */{ 'F', ' ', true }, /* TAINT_FORCED_MODULE */{ 'S', ' ', false }, /* TAINT_CPU_OUT_OF_SPEC */{ 'R', ' ', false }, /* TAINT_FORCED_RMMOD */{ 'M', ' ', false }, /* TAINT_MACHINE_CHECK */{ 'B', ' ', false }, /* TAINT_BAD_PAGE */{ 'U', ' ', false }, /* TAINT_USER */{ 'D', ' ', false }, /* TAINT_DIE */{ 'A', ' ', false }, /* TAINT_OVERRIDDEN_ACPI_TABLE */{ 'W', ' ', false }, /* TAINT_WARN */{ 'C', ' ', true }, /* TAINT_CRAP */{ 'I', ' ', false }, /* TAINT_FIRMWARE_WORKAROUND */{ 'O', ' ', true }, /* TAINT_OOT_MODULE */{ 'E', ' ', true }, /* TAINT_UNSIGNED_MODULE */{ 'L', ' ', false }, /* TAINT_SOFTLOCKUP */{ 'K', ' ', true }, /* TAINT_LIVEPATCH */
};/*** print_tainted - return a string to represent the kernel taint state.** 'P' - Proprietary module has been loaded.* 'F' - Module has been forcibly loaded.* 'S' - SMP with CPUs not designed for SMP.* 'R' - User forced a module unload.* 'M' - System experienced a machine check exception.* 'B' - System has hit bad_page.* 'U' - Userspace-defined naughtiness.* 'D' - Kernel has oopsed before* 'A' - ACPI table overridden.* 'W' - Taint on warning.* 'C' - modules from drivers/staging are loaded.* 'I' - Working around severe firmware bug.* 'O' - Out-of-tree module has been loaded.* 'E' - Unsigned module has been loaded.* 'L' - A soft lockup has previously occurred.* 'K' - Kernel has been live patched.** The string is overwritten by the next call to print_tainted().*/
const char *print_tainted(void)
{static char buf[TAINT_FLAGS_COUNT + sizeof("Tainted: ")];if (tainted_mask) {char *s;int i;s = buf + sprintf(buf, "Tainted: ");for (i = 0; i < TAINT_FLAGS_COUNT; i++) {const struct taint_flag *t = &taint_flags[i];*s++ = test_bit(i, &tainted_mask) ?t->c_true : t->c_false;}*s = 0;} elsesnprintf(buf, sizeof(buf), "Not tainted");return buf;
}int test_taint(unsigned flag)
{return test_bit(flag, &tainted_mask);
}
EXPORT_SYMBOL(test_taint);unsigned long get_taint(void)
{return tainted_mask;
}/*** add_taint: add a taint flag if not already set.* @flag: one of the TAINT_* constants.* @lockdep_ok: whether lock debugging is still OK.** If something bad has gone wrong, you'll want @lockdebug_ok = false, but for* some notewortht-but-not-corrupting cases, it can be set to true.*/
void add_taint(unsigned flag, enum lockdep_ok lockdep_ok)
{if (lockdep_ok == LOCKDEP_NOW_UNRELIABLE && __debug_locks_off())pr_warn("Disabling lock debugging due to kernel taint\n");set_bit(flag, &tainted_mask);
}
EXPORT_SYMBOL(add_taint);static void spin_msec(int msecs)
{int i;for (i = 0; i < msecs; i++) {touch_nmi_watchdog();mdelay(1);}
}/** It just happens that oops_enter() and oops_exit() are identically* implemented...*/
static void do_oops_enter_exit(void)
{unsigned long flags;static int spin_counter;if (!pause_on_oops)return;spin_lock_irqsave(&pause_on_oops_lock, flags);if (pause_on_oops_flag == 0) {/* This CPU may now print the oops message */pause_on_oops_flag = 1;} else {/* We need to stall this CPU */if (!spin_counter) {/* This CPU gets to do the counting */spin_counter = pause_on_oops;do {spin_unlock(&pause_on_oops_lock);spin_msec(MSEC_PER_SEC);spin_lock(&pause_on_oops_lock);} while (--spin_counter);pause_on_oops_flag = 0;} else {/* This CPU waits for a different one */while (spin_counter) {spin_unlock(&pause_on_oops_lock);spin_msec(1);spin_lock(&pause_on_oops_lock);}}}spin_unlock_irqrestore(&pause_on_oops_lock, flags);
}/** Return true if the calling CPU is allowed to print oops-related info.* This is a bit racy..*/
int oops_may_print(void)
{return pause_on_oops_flag == 0;
}/** Called when the architecture enters its oops handler, before it prints* anything. If this is the first CPU to oops, and it's oopsing the first* time then let it proceed.** This is all enabled by the pause_on_oops kernel boot option. We do all* this to ensure that oopses don't scroll off the screen. It has the* side-effect of preventing later-oopsing CPUs from mucking up the display,* too.** It turns out that the CPU which is allowed to print ends up pausing for* the right duration, whereas all the other CPUs pause for twice as long:* once in oops_enter(), once in oops_exit().*/
void oops_enter(void)
{tracing_off();/* can't trust the integrity of the kernel anymore: */debug_locks_off();do_oops_enter_exit();
}/** 64-bit random ID for oopses:*/
static u64 oops_id;static int init_oops_id(void)
{if (!oops_id)get_random_bytes(&oops_id, sizeof(oops_id));elseoops_id++;return 0;
}
late_initcall(init_oops_id);void print_oops_end_marker(void)
{init_oops_id();pr_warn("---[ end trace %016llx ]---\n", (unsigned long long)oops_id);
}/** Called when the architecture exits its oops handler, after printing* everything.*/
void oops_exit(void)
{do_oops_enter_exit();print_oops_end_marker();kmsg_dump(KMSG_DUMP_OOPS);
}struct warn_args {const char *fmt;va_list args;
};void __warn(const char *file, int line, void *caller, unsigned taint,struct pt_regs *regs, struct warn_args *args)
{disable_trace_on_warning();pr_warn("------------[ cut here ]------------\n");if (file)pr_warn("WARNING: CPU: %d PID: %d at %s:%d %pS\n",raw_smp_processor_id(), current->pid, file, line,caller);elsepr_warn("WARNING: CPU: %d PID: %d at %pS\n",raw_smp_processor_id(), current->pid, caller);if (args)vprintk(args->fmt, args->args);if (panic_on_warn) {/** This thread may hit another WARN() in the panic path.* Resetting this prevents additional WARN() from panicking the* system on this thread. Other threads are blocked by the* panic_mutex in panic().*/panic_on_warn = 0;panic("panic_on_warn set ...\n");}print_modules();if (regs)show_regs(regs);elsedump_stack();print_oops_end_marker();/* Just a warning, don't kill lockdep. */add_taint(taint, LOCKDEP_STILL_OK);
}#ifdef WANT_WARN_ON_SLOWPATH
void warn_slowpath_fmt(const char *file, int line, const char *fmt, ...)
{struct warn_args args;args.fmt = fmt;va_start(args.args, fmt);__warn(file, line, __builtin_return_address(0), TAINT_WARN, NULL,&args);va_end(args.args);
}
EXPORT_SYMBOL(warn_slowpath_fmt);void warn_slowpath_fmt_taint(const char *file, int line,unsigned taint, const char *fmt, ...)
{struct warn_args args;args.fmt = fmt;va_start(args.args, fmt);__warn(file, line, __builtin_return_address(0), taint, NULL, &args);va_end(args.args);
}
EXPORT_SYMBOL(warn_slowpath_fmt_taint);void warn_slowpath_null(const char *file, int line)
{__warn(file, line, __builtin_return_address(0), TAINT_WARN, NULL, NULL);
}
EXPORT_SYMBOL(warn_slowpath_null);
#endif#ifdef CONFIG_CC_STACKPROTECTOR/** Called when gcc's -fstack-protector feature is used, and* gcc detects corruption of the on-stack canary value*/
__visible void __stack_chk_fail(void)
{panic("stack-protector: Kernel stack is corrupted in: %p\n",__builtin_return_address(0));
}
EXPORT_SYMBOL(__stack_chk_fail);#endif#ifdef CONFIG_ARCH_HAS_REFCOUNT
void refcount_error_report(struct pt_regs *regs, const char *err)
{WARN_RATELIMIT(1, "refcount_t %s at %pB in %s[%d], uid/euid: %u/%u\n",err, (void *)instruction_pointer(regs),current->comm, task_pid_nr(current),from_kuid_munged(&init_user_ns, current_uid()),from_kuid_munged(&init_user_ns, current_euid()));
}
#endifcore_param(panic, panic_timeout, int, 0644);
core_param(pause_on_oops, pause_on_oops, int, 0644);
core_param(panic_on_warn, panic_on_warn, int, 0644);
core_param(crash_kexec_post_notifiers, crash_kexec_post_notifiers, bool, 0644);static int __init oops_setup(char *s)
{if (!s)return -EINVAL;if (!strcmp(s, "panic"))panic_on_oops = 1;return 0;
}
early_param("oops", oops_setup);
從代碼中可以看到,當(dāng)內(nèi)核崩潰時其實還有一個panic_timeout機制來讓內(nèi)核重啟
這個panic_timeout是在內(nèi)核編譯選項里面的
于是可以通過修改內(nèi)核配置選項來使能panic_timeout
3、內(nèi)核配置
使用make menuconfig可以在kernel hacking中配置panic timeout
上面設(shè)置panic timeout為15s
編譯內(nèi)核即可
4、驗證
當(dāng)出現(xiàn)內(nèi)核崩潰時,可以看到后面多出了重啟打印信息,如下:
然后zynq就重啟了,完整的日志信息如下:
====PSOC FSBL BOOTING ....... ====
====FSBL Version: 3.12 ....... ====
======= In BootStage 1 =======
====UART initialized success!!!====
BootMode Register is : 0x00000001
PS was reset by POR,Non_secure mode is set!
Cluster ID 0x3722093
Running on A7-0
Boot Initialize is done at the 25.621361 ms
======= In BootStage 2 =======
Preparing boot device initialization......
QSPI Boot Mode
Boot device initialization success......
Boot device initialization is done at the 41.517879 ms
Preparing boot header search and validate......
Multiboot register: 0x0
Image start address: 0x0
Load boot header info (offset:0x20~0x48)success!
Image ID verified success!!!
Checksum verified success!!!
Boot header validate success, this is a valid image!!!
Boot header search is done at the 69.513641 ms
Image Header Table Offset 0x8c0
Checksum verified success!!!
Checksum validate success!!!
Image Header Table Details
Boot Gen Ver: 0x1020000
Number of Partitions: 0x4
Partition Header Address: 0x280
Partition Present Device: 0x0
Boot header validate is done at the 94.773720 ms
======= In BootStage 3 =======
Partition header validate......
Checksum verified success!!!
Partition is unencrypted......
Partition is unauthenticated......
UnEncrypted data Length: 0x7f2e8
Data word offset: 0x7f2e8
Total Data word length: 0x7f2e8
Destination Load Address: 0xffffffff
Execution Address: 0x0
Data word offset: 0x7cb0
Partition Attributes: 0x20
Partition header validate SUCCESS!!
Partition header validate is done at the 135.441513 ms
Prepare Copy Partition......
Copy Partition success!!
Copy Partition is done at the 530.013733 ms
Prepare downloading bitstream.....
Download the PL bitstream is done at the 568.938843 ms
Partition Load Success
======= In BootStage 3 =======
Partition header validate......
Checksum verified success!!!
Partition is unencrypted......
Partition is unauthenticated......
UnEncrypted data Length: 0x25ba5
Data word offset: 0x25ba5
Total Data word length: 0x25ba5
Destination Load Address: 0x4000000
Execution Address: 0x4000000
Data word offset: 0x86fa0
Partition Attributes: 0x118
Partition header validate SUCCESS!!
Partition header validate is done at the 612.908813 ms
Prepare Copy Partition......
Copy Partition success!!
Copy Partition is done at the 736.797913 ms
Download the Application is done at the 740.728943 ms
Partition Load Success
======= In BootStage 3 =======
Partition header validate......
Checksum verified success!!!
Partition is unencrypted......
Partition is unauthenticated......
Skip load this partition!!
UnEncrypted data Length: 0x29fb01
Data word offset: 0x29fb01
Total Data word length: 0x29fb01
Destination Load Address: 0x0
Execution Address: 0x0
Data word offset: 0x140000
Partition Attributes: 0x110
Partition header validate failure!!
Partition Load Skip ,PartitionNum=0x3!!
================= In BootStage 4 ============
Handoff control to JTAG or FSBL......
APU JTAG will be enabled.!!!
Exit from FSBL U-Boot 2018.07-fmsh (Jan 07 2022 - 13:08:28 +0800) FMSH PSOCCPU: FMSH PSOC FMQL10S400, Revision Code:0
Model: FMSH PSOC Board
Board: FMSH PSOC Board
DRAM: 1023 MiB
Flash: 0 Bytes
NAND: 0 MiB
MMC:
Loading Environment from SPI Flash... SF: Detected n25q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
OK
In: serial@e0004000
Out: serial@e0004000
Err: serial@e0004000
Net: ###Reset phy done
eth-1: ethernet@e0047000
Hit any key to stop autoboot: 0
Copying FIT from SPI flash to RAM...
SF: Detected n25q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0x500000, size 0xaf0000
SF: 11468800 bytes @ 0x500000 Read: OK
## Loading kernel from FIT Image at 02000000 ...Using 'conf@system-top.dtb' configurationVerifying Hash Integrity ... OKTrying 'kernel@1' kernel subimageDescription: Linux kernelType: Kernel ImageCompression: uncompressedData Start: 0x020000ccData Size: 4273120 Bytes = 4.1 MiBArchitecture: ARMOS: LinuxLoad Address: 0x01008000Entry Point: 0x01008000Verifying Hash Integrity ... OK
## Loading ramdisk from FIT Image at 02000000 ...Using 'conf@system-top.dtb' configurationTrying 'ramdisk@1' ramdisk subimageDescription: initrdType: RAMDisk ImageCompression: gzip compressedData Start: 0x0241781cData Size: 6712942 Bytes = 6.4 MiBArchitecture: ARMOS: LinuxLoad Address: unavailableEntry Point: unavailableVerifying Hash Integrity ... OK
## Loading fdt from FIT Image at 02000000 ...Using 'conf@system-top.dtb' configurationTrying 'fdt@system-top.dtb' fdt subimageDescription: Flattened Device Tree blobType: Flat Device TreeCompression: uncompressedData Start: 0x02413568Data Size: 16966 Bytes = 16.6 KiBArchitecture: ARMVerifying Hash Integrity ... OKBooting using the fdt blob at 0x2413568Loading Kernel Image ... OKLoading Ramdisk to 0f999000, end 0ffffe6e ... OKLoading Device Tree to 0f991000, end 0f998245 ... OKStarting kernel ...Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.55-fmsh (fmsh@fmsh-virtual-machine) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)) #1 SMP PREEMPT Mon Sep 25 18:52:15 CST 2023
[ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: FMSH PSOC Board
[ 0.000000] OF: fdt: Ignoring memory range 0x100000 - 0x1000000
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 64 MiB at 0x3c000000
[ 0.000000] percpu: Embedded 16 pages/cpu @ba7ab000 s35084 r8192 d22260 u65536
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 256032
[ 0.000000] Kernel command line: console=ttyPS0,115200 noinitrd earlyprintk root=/dev/mmcblk0p2 rootwait rw
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 940920K/1032192K available (6144K kernel code, 202K rwdata, 1604K rodata, 1024K init, 404K bss, 25736K reserved, 65536K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xbf800000 - 0xff800000 (1024 MB)
[ 0.000000] lowmem : 0x80000000 - 0xbf000000 (1008 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x80700000 (7136 kB)
[ 0.000000] .init : 0x80900000 - 0x80a00000 (1024 kB)
[ 0.000000] .data : 0x80a00000 - 0x80a32960 ( 203 kB)
[ 0.000000] .bss : 0x80a34000 - 0x80a993b4 ( 405 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] slcr bf800000 mapped to bf800000
[ 0.000000] fmsh_clock_init: clkc starts at bf800100
[ 0.000000] FMSH clock init
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000011] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008523] Switching to timer-based delay loop, resolution 40ns
[ 0.015938] Console: colour dummy device 80x30
[ 0.020668] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=250000)
[ 0.031577] pid_max: default: 32768 minimum: 301
[ 0.036730] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.043758] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.052219] CPU: Testing write buffer coherency: ok
[ 0.057900] /cpus/cpu@0 missing clock-frequency property
[ 0.063550] /cpus/cpu@1 missing clock-frequency property
[ 0.069273] /cpus/cpu@2 missing clock-frequency property
[ 0.074972] /cpus/cpu@3 missing clock-frequency property
[ 0.080672] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.120867] Setting up static identity map for 0x1100000 - 0x1100060
[ 0.127818] Hierarchical SRCU implementation.
[ 0.172629] smp: Bringing up secondary CPUs ...
[ 0.223453] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.293564] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.363727] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.363872] smp: Brought up 1 node, 4 CPUs
[ 0.386355] SMP: Total of 4 processors activated (200.00 BogoMIPS).
[ 0.392960] CPU: All CPU(s) started in SVC mode.
[ 0.399355] devtmpfs: initialized
[ 0.408247] random: get_random_u32 called from bucket_table_alloc+0x1c4/0x204 with crng_init=0
[ 0.417618] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 3
[ 0.426081] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.436539] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.447979] NET: Registered protocol family 16
[ 0.475179] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.484013] cpuidle: using governor menu
[ 0.497809] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.506282] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.526043] dw_dmac e004b000.dma: DesignWare DMA Controller, 8 channels
[ 0.533573] vgaarb: loaded
[ 0.537140] SCSI subsystem initialized
[ 0.541515] usbcore: registered new interface driver usbfs
[ 0.547486] usbcore: registered new interface driver hub
[ 0.553329] usbcore: registered new device driver usb
[ 0.560349] pps_core: LinuxPPS API ver. 1 registered
[ 0.565615] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.575245] PTP clock support registered
[ 0.579768] FPGA manager framework
[ 0.584685] clocksource: Switched to clocksource arch_sys_counter
[ 0.603186] NET: Registered protocol family 2
[ 0.608902] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.616604] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.623626] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.630535] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.636952] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.643995] NET: Registered protocol family 1
[ 0.649386] RPC: Registered named UNIX socket transport module.
[ 0.655742] RPC: Registered udp transport module.
[ 0.660732] RPC: Registered tcp transport module.
[ 0.665769] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.672893] Trying to unpack rootfs image as initramfs...
[ 1.505109] Freeing initrd memory: 6556K
[ 1.511901] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[ 1.519986] NFS: Registering the id_resolver key type
[ 1.525400] Key type id_resolver registered
[ 1.529839] Key type id_legacy registered
[ 1.534207] jffs2: version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
[ 1.540943] SGI XFS with security attributes, no debug enabled
[ 1.553967] io scheduler noop registered
[ 1.558182] io scheduler deadline registered
[ 1.562868] io scheduler cfq registered (default)
[ 1.567936] io scheduler mq-deadline registered
[ 1.572771] io scheduler kyber registered
[ 1.586962] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 1.595245] console [ttyPS0] disabled
[ 1.599243] e0004000.serial: ttyPS0 at MMIO 0xe0004000 (irq = 21, base_baud = 6250000) is a 16550A
[ 1.608960] console [ttyPS0] enabled
[ 1.608960] console [ttyPS0] enabled
[ 1.616353] bootconsole [earlycon0] disabled
[ 1.616353] bootconsole [earlycon0] disabled
[ 1.626149] e0023000.serial: ttyPS1 at MMIO 0xe0023000 (irq = 22, base_baud = 6250000) is a 16550A
[ 1.650412] brd: module loaded
[ 1.662535] loop: module loaded
[ 1.747873] phy reset at 0x41200000 ok.....
[ 1.752073] cadence-qspi e0000000.qspi: n25q128a13 (16384 Kbytes)
[ 1.760294] cadence-qspi e0020000.qspi: unrecognized JEDEC id bytes: ff, ff, ff
[ 1.767648] cadence-qspi e0020000.qspi: Cadence QSPI NOR probe failed -2
[ 1.774606] cadence-qspi: probe of e0020000.qspi failed with error -2
[ 1.783339] w25q256 spi2.0: n25q256a (32768 Kbytes)
[ 1.788283] 1 ofpart partitions found on MTD device spi2.0
[ 1.793752] Creating 1 MTD partitions on "spi2.0":
[ 1.798570] 0x000000000000-0x000002000000 : "pl_qspiflash_chip"
[ 1.805940] xilinx_spi 41e00000.axi_quad_spi: at 0x41E00000 mapped to 0xbf920000, irq=42
[ 1.814909] xilinx_spi 41e10000.axi_quad_spi: at 0x41E10000 mapped to 0xbf940000, irq=43
[ 1.823408] libphy: Fixed MDIO Bus: probed
[ 1.829108] tun: Universal TUN/TAP device driver, 1.6
[ 1.834456] vcan: Virtual CAN interface driver
[ 1.838931] vxcan: Virtual CAN Tunnel driver
[ 1.843192] CAN device driver interface
[ 1.847040] sja1000 CAN netdevice driver
[ 1.851567] fmql-dwmac e0047000.ethernet: PTP uses main clock
[ 1.857351] fmql-dwmac e0047000.ethernet: no reset control found
[ 1.863468] stmmac - user ID: 0x10, Synopsys ID: 0x37
[ 1.868546] fmql-dwmac e0047000.ethernet: Ring mode enabled
[ 1.874108] fmql-dwmac e0047000.ethernet: DMA HW capability register supported
[ 1.881329] fmql-dwmac e0047000.ethernet: Normal descriptors
[ 1.886996] fmql-dwmac e0047000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 1.894916] libphy: stmmac: probed
[ 1.975822] fmql-dwmac e0049000.ethernet: PTP uses main clock
[ 1.981575] fmql-dwmac e0049000.ethernet: no reset control found
[ 1.987767] stmmac - user ID: 0x10, Synopsys ID: 0x37
[ 1.992815] fmql-dwmac e0049000.ethernet: Ring mode enabled
[ 1.998410] fmql-dwmac e0049000.ethernet: DMA HW capability register supported
[ 2.005634] fmql-dwmac e0049000.ethernet: Normal descriptors
[ 2.011283] fmql-dwmac e0049000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 2.660358] libphy: stmmac: probed
[ 2.666059] usbcore: registered new interface driver cdc_acm
[ 2.671711] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 2.679825] usbcore: registered new interface driver usb-storage
[ 2.686187] i2c /dev entries driver
[ 2.691689] sdhci: Secure Digital Host Controller Interface driver
[ 2.697901] sdhci: Copyright(c) Pierre Ossman
[ 2.702247] Synopsys Designware Multimedia Card Interface Driver
[ 2.708517] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.714723] usbcore: registered new interface driver usbhid
[ 2.720281] usbhid: USB HID core driver
[ 2.724616] fpga_manager fpga0: FMSH FMQL FPGA Manager registered
[ 2.731606] NET: Registered protocol family 10
[ 2.738005] Segment Routing with IPv6
[ 2.741791] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 2.748759] NET: Registered protocol family 17
[ 2.753214] can: controller area network core (rev 20170425 abi 9)
[ 2.759513] NET: Registered protocol family 29
[ 2.763952] can: raw protocol (rev 20170425)
[ 2.768241] can: broadcast manager protocol (rev 20170425 t)
[ 2.773893] can: netlink gateway (rev 20170425) max_hops=1
[ 2.779555] Key type dns_resolver registered
[ 2.784268] fmsh_pm_remap_ocm: no compatible node found for 'fmsh,fmql-ocmc-1.0'
[ 2.791700] Registering SWP/SWPB emulation handler
[ 2.805894] hctosys: unable to open rtc device (rtc0)
[ 2.810948] of_cfs_init
[ 2.813502] of_cfs_init: OK
[ 2.817108] ttyPS0 - failed to request DMA
[ 2.825054] Freeing unused kernel memory: 1024K
INIT: version 2.88 booting
[ 4.345988] random: dd: uninitialized urandom read (512 bytes read)
hwclock: can't open '/dev/misc/rtc': No such file or directory
Tue Dec 13 06:09:28 UTC 2016
hwclock: can't open '/dev/misc/rtc': No such file or directory
Starting internet superserver: inetd.
INIT: Entering runlevel: 5
[ 4.784715] fmql-dwmac e0047000.ethernet eth0: yt8521_config_init done, phy addr: 1, chip mode = 5, polling mode = 1
[ 4.834709] YT8521 Ethernet stmmac-0:01: attached PHY driver [YT8521 Ethernet] (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
[ 4.848638] fmql-dwmac e0047000.ethernet eth0: RX IPC Checksum Offload disabled
[ 4.855984] fmql-dwmac e0047000.ethernet eth0: No MAC Management Counters available
[ 4.863621] fmql-dwmac e0047000.ethernet eth0: PTP not supported by HW
[ 4.870691] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
telnet start ok
[ 5.736511] random: fast init done
[ 6.014702] fmql-dwmac e0047000.ethernet eth0: yt8521_read_status, phy addr: 1, link down
mount spi flash ok
[ 37.574719] fmql-dwmac e0049000.ethernet eth1: yt8521_config_init done, phy addr: 2, chip mode = 5, polling mode = 1
[ 37.624706] YT8521 Ethernet stmmac-0:02: attached PHY driver [YT8521 Ethernet] (mii_bus:phy_addr=stmmac-0:02, irq=POLL)
[ 37.638504] fmql-dwmac e0049000.ethernet eth1: RX IPC Checksum Offload disabled
[ 37.645848] fmql-dwmac e0049000.ethernet eth1: No MAC Management Counters available
[ 37.653486] fmql-dwmac e0049000.ethernet eth1: PTP not supported by HW
[ 37.660412] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 38.814712] fmql-dwmac e0049000.ethernet eth1: yt8521_read_status, phy addr: 2, link down
write phy addr: 0x2 reg: 0x0 value : 0x340
[ 40.780559] device eth1 entered promiscuous mode-----------------GC LED ZYNQ1 (Version 1.1)-(2023年05月31日)-----------------
write phy addr: 0x1 reg: 0x1e value : 0xa001 write phy addr: 0x1 reg: 0x1f value : 0x8151
The 1 time configure phy success: 0x8151
[ 42.976995] device eth0 entered promiscuous mode
write phy addr: 0x1 reg: 0x1e value : 0xa001
read phy addr: 0x1 reg: 0x1f value : 0x8151login[389]: root login on 'ttyPS0'
root@gch-40g-sw:~# [ 60.864768] fmql-dwmac e0049000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[ 60.872973] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[ 63.054710] fmql-dwmac e0049000.ethernet eth1: yt8521_read_status, phy addr: 2, link down
[ 64.174706] fmql-dwmac e0049000.ethernet eth1: Link is Down
[ 70.894709] fmql-dwmac e0049000.ethernet eth1: yt8521_read_status, phy addr: 2, link up, media: Fiber, mii reg 0x11 = 0xbc09
[ 70.905953] fmql-dwmac e0049000.ethernet eth1: Link is Up - 1Gbps/Full - flow control offroot@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~# ls- l
-sh: ls-: command not found
root@gch-40g-sw:~#
root@gch-40g-sw:~#
root@gch-40g-sw:~# cd spi_flash/
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# ls -l
total 837
-rwxrwxrwx 1 root root 156 Dec 13 06:22 1.sh
-rwxrwxrwx 1 root root 380948 Aug 19 2023 Admin_Prj_GC.elf
-rwxrwxrwx 1 root root 396560 Aug 19 2023 Admin_Prj_GC_TEST.elf
-rwxrwxrwx 1 root root 1220 Dec 13 06:12 boot.sh
-rwxrwxrwx 1 root root 633 Aug 29 2023 boot.sh-bak
-rwxrwxrwx 1 root root 74224 Aug 19 2023 led_zynq1.elf
-rwxrwxrwx 1 root root 1253 Aug 28 2023 mageConfig.txt
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# #./
root@gch-40g-sw:~/spi_flash#
Display all 360 possibilities? (y or n)^C
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# #
root@gch-40g-sw:~/spi_flash# ^C
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# ./Admin_Prj_GC_TEST.elf -----------------GC MANAGER 14XXX (Version 2.0.7-GC-TEST)-(2023年07月28日)-----------------
<_>cabinet_chassisNum is 63
<_>CabinetNum is 15
<_>ChassisNum is 3
<_>slotNum is 4
<B>Start BitFunc!
<B>i2c-0 init success.
<B>i2c-1 init success.
<B> I2C初始化結(jié)束
<B>create GetSWInfoThread Success!
<B>create XUartLiteRecvThread Success!
<B>create OverTempProtectThread Success!
<B>create SendSWInfoThread Success!
<B>Start ScanIpmb!
<B>正在啟動......
^C
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# mv Admin_Prj_GC_TEST.elf Admin_Prj_GC_TEST.elf-2.0.7
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# lrzs
-sh: lrzs: command not found
root@gch-40g-sw:~/spi_flash# lrz
lrz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring Admin_Prj_GC_TEST.elf...100% 387 KB 11 KB/sec 00:00:35 0 Errors root@gch-40g-sw:~/spi_flash# chmod 777 *
root@gch-40g-sw:~/spi_flash# sync
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash#
root@gch-40g-sw:~/spi_flash# ./Admin_Prj_GC_TEST.elf-----------------GC MANAGER 14XXX (Version 2.0.7-GC-TEST)-(2023年07月28日)-----------------
<_>cabinet_chassisNum is 63
<_>CabinetNum is 15
<_>ChassisNum is 3
<_>slotNum is 4
<B>Start ResetI2cCtrl!
<B>開始復(fù)位IIC0
<B>IIC0復(fù)位完畢
<B>開始復(fù)位IIC1
<B>IIC1復(fù)位完畢
<B>Start BitFunc!
<B>i2c-0 init success.
<B>i2c-1 init success.
<B> I2C初始化結(jié)束
<B>create GetSWInfoThread Success!
<B>create XUartLiteRecvThread Success!
<B>create OverTempProtectThread Success!
<B>create SendSWInfoThread Success!
<B>Start ScanIpmb!
<B>正在啟動......
[ 231.974758] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 231.982839] pgd = b863c000
[ 231.985540] [00000000] *pgd=39571835, *pte=00000000, *ppte=00000000
[ 231.991806] Internal error: Oops - BUG: 17 [#1] PREEMPT SMP ARM
[ 231.997704] Modules linked in:
[ 232.000765] CPU: 0 PID: 409 Comm: Admin_Prj_GC_TE Not tainted 4.14.55-fmsh #1
[ 232.007873] Hardware name: FMSH PSOC Platform
[ 232.012217] task: b8fb0000 task.stack: b8b84000
[ 232.016750] PC is at i2c_dw_xfer_msg+0x24/0x26c
[ 232.021274] LR is at i2c_dw_irq_handler_master+0xac/0xe8
[ 232.026570] pc : [<80562534>] lr : [<80562a84>] psr: 000f0193
[ 232.032815] sp : b8b85bd8 ip : 01400000 fp : 0000000a
[ 232.038023] r10: 807f02fa r9 : 00000000 r8 : 0000001d
[ 232.043231] r7 : 0000000c r6 : 00000000 r5 : 00000000 r4 : ba1a9c10
[ 232.049736] r3 : 00000000 r2 : 00000001 r1 : 0000002c r0 : ba1a9c10
[ 232.056246] Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 232.063445] Control: 10c5387d Table: 3963c06a DAC: 00000051
[ 232.069174] Process Admin_Prj_GC_TE (pid: 409, stack limit = 0xb8b84210)
[ 232.075853] Stack: (0xb8b85bd8 to 0xb8b86000)
[ 232.080199] 5bc0: 00000000 00000008
[ 232.088356] 5be0: c8ac4600 80134088 00000000 ba1a9c10 00000010 00000001 0000001d 0000001d
[ 232.096513] 5c00: b8b85c7c 807f02fa 0000000a 80562a84 00000001 ba1a9c10 ba12f800 80562afc
[ 232.104671] 5c20: ba1a9c10 00000000 ba12f800 805635e8 0000001d ba1a9c10 00010100 ba1a4180
[ 232.112827] 5c40: 00000000 ba12f800 0000001d 0000001d b8b85c7c 80153300 ba12f800 ba12f800
[ 232.120985] 5c60: ba12f864 0000001d ba007000 b8b84000 b8b84000 8015339c ba12f800 00000000
[ 232.129143] 5c80: 00010100 ba12f800 ba12f864 80153410 ba12f800 80a03f04 ba12f864 801567b0
[ 232.137299] 5ca0: 00000000 b8b85e08 80946a78 801527a0 00000000 80152cac bf806000 80a03f04
[ 232.145457] 5cc0: b8b85ce8 80a15c88 bf807000 801013f4 801d08e4 600f0113 ffffffff b8b85d1c
[ 232.153614] 5ce0: ba7b34a0 8010b44c ba000100 b8613c00 0000004c 0000004f a00f0113 80a0d440
[ 232.161771] 5d00: 80a0d440 b8b85d50 ba7b34a0 ffffe000 b8b84000 0000000a b8b85d60 b8b85d38
[ 232.169928] 5d20: 801d08e0 801d08e4 600f0113 ffffffff 00000051 7f000000 ba7b3480 8015eb38
[ 232.178085] 5d40: ba7afd80 80a34980 0000000a 80a03c68 b8613b40 b84b6480 fffffffa 00000000
[ 232.186241] 5d60: 00000000 40000009 ffffe000 00000200 80a34980 00000007 80a020a4 00000100
[ 232.194398] 5d80: 80a02080 801015b0 00000000 ba7b6140 00400140 ffffe56a 0000000a 80a02d00
[ 232.202555] 5da0: 80a02080 00000009 b8b84000 00000000 00000000 80946a78 00000010 ba007000
[ 232.210711] 5dc0: b8b84000 00000000 00000000 8011e6ac 00000000 80152c8c bf806000 80a03f04
[ 232.218869] 5de0: b8b85e08 80a15c88 bf807000 801013f4 801e476c 600f0013 ffffffff b8b85e3c
[ 232.227025] 5e00: 00000000 8010b44c 00000000 00000101 00101002 00500000 b8b85ed0 00000101
[ 232.235181] 5e20: b84b63c0 b8ab01f8 00000000 00000000 00000000 00000000 00000005 b8b85e58
[ 232.243338] 5e40: 801e003c 801e476c 600f0013 ffffffff 00000051 7f000000 b8a0bb6c baf03ac0
[ 232.251495] 5e60: b8b85f74 00101002 00000000 76f3c000 00000041 b9c58440 00000000 00000006
[ 232.259651] 5e80: 00000000 00000000 00000000 00000002 b8ab01f8 b8b13f10 b9d58c38 b8ab02d4
[ 232.267807] 5ea0: b8b85ef8 b8b85f20 baf03ac0 00000005 b8b85f74 00000001 00000005 80107124
[ 232.275963] 5ec0: b8b84000 00000000 765a7e34 801e48c4 b8b13f10 b9d58c38 340ef11d 00000003
[ 232.284120] 5ee0: b8552015 801b8b68 00000000 b9c037f8 b8ab01f8 00000101 00000002 00000046
[ 232.292275] 5f00: 00000000 00000000 00000000 b8b85f10 00000000 00000000 00000400 00000000
[ 232.300432] 5f20: b9d58c38 b9d58c88 00000005 b89c7440 b89b4100 b89b4140 00101002 801f1570
[ 232.308589] 5f40: b8552000 00000000 ffffff9c 00000002 ffffff9c 80107124 00000005 ffffff9c
[ 232.316746] 5f60: b8552000 801d52c4 b8fb0478 b8fb0000 00000000 00101002 b8fb0000 00000006
[ 232.324902] 5f80: 00000100 00000001 80107124 765a8470 7ee98c20 00000000 00000005 80107124
[ 232.333059] 5fa0: b8b84000 80106f40 765a8470 7ee98c20 0002268c 00101002 00000008 00000000
[ 232.341215] 5fc0: 765a8470 7ee98c20 00000000 00000005 00000000 7ee98c20 00000000 765a7e34
[ 232.349373] 5fe0: 00000000 765a7df8 765a8930 76efc8d8 800f0010 0002268c 3bfda811 3bfdac11
[ 232.357552] [<80562534>] (i2c_dw_xfer_msg) from [<80562a84>] (i2c_dw_irq_handler_master+0xac/0xe8)
[ 232.366495] [<80562a84>] (i2c_dw_irq_handler_master) from [<80562afc>] (i2c_dw_isr+0x3c/0x4c)
[ 232.375004] [<80562afc>] (i2c_dw_isr) from [<805635e8>] (i2c_dw_isr_hcw+0x1d8/0x1e8)
[ 232.382737] [<805635e8>] (i2c_dw_isr_hcw) from [<80153300>] (__handle_irq_event_percpu+0x3c/0xc0)
[ 232.391590] [<80153300>] (__handle_irq_event_percpu) from [<8015339c>] (handle_irq_event_percpu+0x18/0x54)
[ 232.401218] [<8015339c>] (handle_irq_event_percpu) from [<80153410>] (handle_irq_event+0x38/0x5c)
[ 232.410070] [<80153410>] (handle_irq_event) from [<801567b0>] (handle_fasteoi_irq+0xb4/0x128)
[ 232.418576] [<801567b0>] (handle_fasteoi_irq) from [<801527a0>] (generic_handle_irq+0x18/0x28)
[ 232.427166] [<801527a0>] (generic_handle_irq) from [<80152cac>] (__handle_domain_irq+0xa0/0xb4)
[ 232.435844] [<80152cac>] (__handle_domain_irq) from [<801013f4>] (gic_handle_irq+0x58/0x90)
[ 232.444177] [<801013f4>] (gic_handle_irq) from [<8010b44c>] (__irq_svc+0x6c/0xa8)
[ 232.451633] Exception stack(0xb8b85ce8 to 0xb8b85d30)
[ 232.456676] 5ce0: ba000100 b8613c00 0000004c 0000004f a00f0113 80a0d440
[ 232.464833] 5d00: 80a0d440 b8b85d50 ba7b34a0 ffffe000 b8b84000 0000000a b8b85d60 b8b85d38
[ 232.472984] 5d20: 801d08e0 801d08e4 600f0113 ffffffff
[ 232.478033] [<8010b44c>] (__irq_svc) from [<801d08e4>] (kmem_cache_free+0x50/0x58)
[ 232.485592] [<801d08e4>] (kmem_cache_free) from [<8015eb38>] (rcu_process_callbacks+0x338/0x370)
[ 232.494359] [<8015eb38>] (rcu_process_callbacks) from [<801015b0>] (__do_softirq+0x180/0x1f4)
[ 232.502866] [<801015b0>] (__do_softirq) from [<8011e6ac>] (irq_exit+0x68/0xd0)
[ 232.510077] [<8011e6ac>] (irq_exit) from [<80152c8c>] (__handle_domain_irq+0x80/0xb4)
[ 232.517889] [<80152c8c>] (__handle_domain_irq) from [<801013f4>] (gic_handle_irq+0x58/0x90)
[ 232.526219] [<801013f4>] (gic_handle_irq) from [<8010b44c>] (__irq_svc+0x6c/0xa8)
[ 232.533675] Exception stack(0xb8b85e08 to 0xb8b85e50)
[ 232.538718] 5e00: 00000000 00000101 00101002 00500000 b8b85ed0 00000101
[ 232.546874] 5e20: b84b63c0 b8ab01f8 00000000 00000000 00000000 00000000 00000005 b8b85e58
[ 232.555025] 5e40: 801e003c 801e476c 600f0013 ffffffff
[ 232.560077] [<8010b44c>] (__irq_svc) from [<801e476c>] (path_openat+0xb6c/0xc94)
[ 232.567462] [<801e476c>] (path_openat) from [<801e48c4>] (do_filp_open+0x30/0x78)
[ 232.574934] [<801e48c4>] (do_filp_open) from [<801d52c4>] (do_sys_open+0x104/0x1b4)
[ 232.582579] [<801d52c4>] (do_sys_open) from [<80106f40>] (ret_fast_syscall+0x0/0x54)
[ 232.590306] Code: e5909030 e590503c e0030397 e5906040 (e19930b3)
[ 232.596384] ---[ end trace 24bd4a4ac86982bf ]---
[ 232.600989] Kernel panic - not syncing: Fatal exception in interrupt
[ 232.607338] CPU2: stopping
[ 232.610055] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G D 4.14.55-fmsh #1
[ 232.617682] Hardware name: FMSH PSOC Platform
[ 232.622053] [<8010e6c8>] (unwind_backtrace) from [<8010aa10>] (show_stack+0x10/0x14)
[ 232.629786] [<8010aa10>] (show_stack) from [<806b6ba4>] (dump_stack+0x7c/0x9c)
[ 232.636998] [<806b6ba4>] (dump_stack) from [<8010d694>] (handle_IPI+0xd8/0x170)
[ 232.644292] [<8010d694>] (handle_IPI) from [<80101420>] (gic_handle_irq+0x84/0x90)
[ 232.651845] [<80101420>] (gic_handle_irq) from [<8010b44c>] (__irq_svc+0x6c/0xa8)
[ 232.659302] Exception stack(0xba061f80 to 0xba061fc8)
[ 232.664348] 1f80: 00000001 00000000 00000000 80116880 00000000 00000000 ffffe000 80a03c68
[ 232.672504] 1fa0: 80a03cb4 410fc073 00000000 00000000 39e8c000 ba061fd0 80107a3c 80107a2c
[ 232.680652] 1fc0: 60000013 ffffffff
[ 232.684146] [<8010b44c>] (__irq_svc) from [<80107a2c>] (arch_cpu_idle+0x1c/0x38)
[ 232.691528] [<80107a2c>] (arch_cpu_idle) from [<80149418>] (do_idle+0xf8/0x1a8)
[ 232.698824] [<80149418>] (do_idle) from [<80149600>] (cpu_startup_entry+0x18/0x1c)
[ 232.706377] [<80149600>] (cpu_startup_entry) from [<011016cc>] (0x11016cc)
[ 232.713232] CPU3: stopping
[ 232.715946] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G D 4.14.55-fmsh #1
[ 232.723572] Hardware name: FMSH PSOC Platform
[ 232.727938] [<8010e6c8>] (unwind_backtrace) from [<8010aa10>] (show_stack+0x10/0x14)
[ 232.735668] [<8010aa10>] (show_stack) from [<806b6ba4>] (dump_stack+0x7c/0x9c)
[ 232.742878] [<806b6ba4>] (dump_stack) from [<8010d694>] (handle_IPI+0xd8/0x170)
[ 232.750172] [<8010d694>] (handle_IPI) from [<80101420>] (gic_handle_irq+0x84/0x90)
[ 232.757723] [<80101420>] (gic_handle_irq) from [<8010b44c>] (__irq_svc+0x6c/0xa8)
[ 232.765179] Exception stack(0xba063f80 to 0xba063fc8)
[ 232.770224] 3f80: 00000001 00000000 00000000 80116880 00000000 00000000 ffffe000 80a03c68
[ 232.778381] 3fa0: 80a03cb4 410fc073 00000000 00000000 39e9c000 ba063fd0 80107a3c 80107a2c
[ 232.786529] 3fc0: 600f0013 ffffffff
[ 232.790022] [<8010b44c>] (__irq_svc) from [<80107a2c>] (arch_cpu_idle+0x1c/0x38)
[ 232.797403] [<80107a2c>] (arch_cpu_idle) from [<80149418>] (do_idle+0xf8/0x1a8)
[ 232.804696] [<80149418>] (do_idle) from [<80149600>] (cpu_startup_entry+0x18/0x1c)
[ 232.812247] [<80149600>] (cpu_startup_entry) from [<011016cc>] (0x11016cc)
[ 232.819100] CPU1: stopping
[ 232.821813] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D 4.14.55-fmsh #1
[ 232.829440] Hardware name: FMSH PSOC Platform
[ 232.833805] [<8010e6c8>] (unwind_backtrace) from [<8010aa10>] (show_stack+0x10/0x14)
[ 232.841535] [<8010aa10>] (show_stack) from [<806b6ba4>] (dump_stack+0x7c/0x9c)
[ 232.848746] [<806b6ba4>] (dump_stack) from [<8010d694>] (handle_IPI+0xd8/0x170)
[ 232.856040] [<8010d694>] (handle_IPI) from [<80101420>] (gic_handle_irq+0x84/0x90)
[ 232.863591] [<80101420>] (gic_handle_irq) from [<8010b44c>] (__irq_svc+0x6c/0xa8)
[ 232.871047] Exception stack(0xba05ff80 to 0xba05ffc8)
[ 232.876093] ff80: 00000001 00000000 00000000 80116880 00000000 00000000 ffffe000 80a03c68
[ 232.884249] ffa0: 80a03cb4 410fc073 00000000 00000000 39e7c000 ba05ffd0 80107a3c 80107a2c
[ 232.892397] ffc0: 600f0013 ffffffff
[ 232.895890] [<8010b44c>] (__irq_svc) from [<80107a2c>] (arch_cpu_idle+0x1c/0x38)
[ 232.903271] [<80107a2c>] (arch_cpu_idle) from [<80149418>] (do_idle+0xf8/0x1a8)
[ 232.910565] [<80149418>] (do_idle) from [<80149600>] (cpu_startup_entry+0x18/0x1c)
[ 232.918115] [<80149600>] (cpu_startup_entry) from [<011016cc>] (0x11016cc)
[ 232.924978] Rebooting in 15 seconds..
====PSOC FSBL BOOTING ....... ====
====FSBL Version: 3.12 ....... ====
======= In BootStage 1 =======
====UART initialized success!!!====
BootMode Register is : 0x00000001
PS was reset by POR,Non_secure mode is set!
Cluster ID 0x3722093
Running on A7-0
Boot Initialize is done at the 25.620041 ms
======= In BootStage 2 =======
Preparing boot device initialization......
QSPI Boot Mode
Boot device initialization success......
Boot device initialization is done at the 41.516560 ms
Preparing boot header search and validate......
Multiboot register: 0x0
Image start address: 0x0
Load boot header info (offset:0x20~0x48)success!
Image ID verified success!!!
Checksum verified success!!!
Boot header validate success, this is a valid image!!!
Boot header search is done at the 69.512878 ms
Image Header Table Offset 0x8c0
Checksum verified success!!!
Checksum validate success!!!
Image Header Table Details
Boot Gen Ver: 0x1020000
Number of Partitions: 0x4
Partition Header Address: 0x280
Partition Present Device: 0x0
Boot header validate is done at the 94.771599 ms
======= In BootStage 3 =======
Partition header validate......
Checksum verified success!!!
Partition is unencrypted......
Partition is unauthenticated......
UnEncrypted data Length: 0x7f2e8
Data word offset: 0x7f2e8
Total Data word length: 0x7f2e8
Destination Load Address: 0xffffffff
Execution Address: 0x0
Data word offset: 0x7cb0
Partition Attributes: 0x20
Partition header validate SUCCESS!!
Partition header validate is done at the 135.439117 ms
Prepare Copy Partition......
Copy Partition success!!
Copy Partition is done at the 530.011414 ms
Prepare downloading bitstream.....
Download the PL bitstream is done at the 568.927490 ms
Partition Load Success
======= In BootStage 3 =======
Partition header validate......
Checksum verified success!!!
Partition is unencrypted......
Partition is unauthenticated......
UnEncrypted data Length: 0x25ba5
Data word offset: 0x25ba5
Total Data word length: 0x25ba5
Destination Load Address: 0x4000000
Execution Address: 0x4000000
Data word offset: 0x86fa0
Partition Attributes: 0x118
Partition header validate SUCCESS!!
Partition header validate is done at the 612.897705 ms
Prepare Copy Partition......
Copy Partition success!!
Copy Partition is done at the 736.788269 ms
Download the Application is done at the 740.720642 ms
Partition Load Success
======= In BootStage 3 =======
Partition header validate......
Checksum verified success!!!
Partition is unencrypted......
Partition is unauthenticated......
Skip load this partition!!
UnEncrypted data Length: 0x29fb01
Data word offset: 0x29fb01
Total Data word length: 0x29fb01
Destination Load Address: 0x0
Execution Address: 0x0
Data word offset: 0x140000
Partition Attributes: 0x110
Partition header validate failure!!
Partition Load Skip ,PartitionNum=0x3!!
================= In BootStage 4 ============
Handoff control to JTAG or FSBL......
APU JTAG will be enabled.!!!
Exit from FSBL U-Boot 2018.07-fmsh (Jan 07 2022 - 13:08:28 +0800) FMSH PSOCCPU: FMSH PSOC FMQL10S400, Revision Code:0
Model: FMSH PSOC Board
Board: FMSH PSOC Board
DRAM: 1023 MiB
Flash: 0 Bytes
NAND: 0 MiB
MMC:
Loading Environment from SPI Flash... SF: Detected n25q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
OK
In: serial@e0004000
Out: serial@e0004000
Err: serial@e0004000
Net: ###Reset phy done
eth-1: ethernet@e0047000
Hit any key to stop autoboot: 0
Copying FIT from SPI flash to RAM...
SF: Detected n25q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0x500000, size 0xaf0000
SF: 11468800 bytes @ 0x500000 Read: OK
## Loading kernel from FIT Image at 02000000 ...Using 'conf@system-top.dtb' configurationVerifying Hash Integrity ... OKTrying 'kernel@1' kernel subimageDescription: Linux kernelType: Kernel ImageCompression: uncompressedData Start: 0x020000ccData Size: 4273120 Bytes = 4.1 MiBArchitecture: ARMOS: LinuxLoad Address: 0x01008000Entry Point: 0x01008000Verifying Hash Integrity ... OK
## Loading ramdisk from FIT Image at 02000000 ...Using 'conf@system-top.dtb' configurationTrying 'ramdisk@1' ramdisk subimageDescription: initrdType: RAMDisk ImageCompression: gzip compressedData Start: 0x0241781cData Size: 6712942 Bytes = 6.4 MiBArchitecture: ARMOS: LinuxLoad Address: unavailableEntry Point: unavailableVerifying Hash Integrity ... OK
## Loading fdt from FIT Image at 02000000 ...Using 'conf@system-top.dtb' configurationTrying 'fdt@system-top.dtb' fdt subimageDescription: Flattened Device Tree blobType: Flat Device TreeCompression: uncompressedData Start: 0x02413568Data Size: 16966 Bytes = 16.6 KiBArchitecture: ARMVerifying Hash Integrity ... OKBooting using the fdt blob at 0x2413568Loading Kernel Image ... OKLoading Ramdisk to 0f999000, end 0ffffe6e ... OKLoading Device Tree to 0f991000, end 0f998245 ... OKStarting kernel ...Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.55-fmsh (fmsh@fmsh-virtual-machine) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)) #1 SMP PREEMPT Mon Sep 25 18:52:15 CST 2023
[ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: FMSH PSOC Board
[ 0.000000] OF: fdt: Ignoring memory range 0x100000 - 0x1000000
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 64 MiB at 0x3c000000
[ 0.000000] percpu: Embedded 16 pages/cpu @ba7ab000 s35084 r8192 d22260 u65536
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 256032
[ 0.000000] Kernel command line: console=ttyPS0,115200 noinitrd earlyprintk root=/dev/mmcblk0p2 rootwait rw
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 940920K/1032192K available (6144K kernel code, 202K rwdata, 1604K rodata, 1024K init, 404K bss, 25736K reserved, 65536K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xbf800000 - 0xff800000 (1024 MB)
[ 0.000000] lowmem : 0x80000000 - 0xbf000000 (1008 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x80700000 (7136 kB)
[ 0.000000] .init : 0x80900000 - 0x80a00000 (1024 kB)
[ 0.000000] .data : 0x80a00000 - 0x80a32960 ( 203 kB)
[ 0.000000] .bss : 0x80a34000 - 0x80a993b4 ( 405 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] slcr bf800000 mapped to bf800000
[ 0.000000] fmsh_clock_init: clkc starts at bf800100
[ 0.000000] FMSH clock init
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000011] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008429] Switching to timer-based delay loop, resolution 40ns
[ 0.015915] Console: colour dummy device 80x30
[ 0.020701] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=250000)
[ 0.031712] pid_max: default: 32768 minimum: 301
[ 0.036899] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.043933] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.052394] CPU: Testing write buffer coherency: ok
[ 0.058013] /cpus/cpu@0 missing clock-frequency property
[ 0.063644] /cpus/cpu@1 missing clock-frequency property
[ 0.069364] /cpus/cpu@2 missing clock-frequency property
[ 0.075003] /cpus/cpu@3 missing clock-frequency property
[ 0.080712] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.120901] Setting up static identity map for 0x1100000 - 0x1100060
[ 0.127785] Hierarchical SRCU implementation.
[ 0.172569] smp: Bringing up secondary CPUs ...
[ 0.223400] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.293504] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.363662] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.363808] smp: Brought up 1 node, 4 CPUs
[ 0.386436] SMP: Total of 4 processors activated (200.00 BogoMIPS).
[ 0.393110] CPU: All CPU(s) started in SVC mode.
[ 0.399438] devtmpfs: initialized
[ 0.408361] random: get_random_u32 called from bucket_table_alloc+0x1c4/0x204 with crng_init=0
[ 0.417744] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 3
[ 0.426313] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.436673] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.448018] NET: Registered protocol family 16
[ 0.465373] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.474344] cpuidle: using governor menu
[ 0.488118] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.496606] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.516346] dw_dmac e004b000.dma: DesignWare DMA Controller, 8 channels
[ 0.523966] vgaarb: loaded
[ 0.527478] SCSI subsystem initialized
[ 0.531832] usbcore: registered new interface driver usbfs
[ 0.537754] usbcore: registered new interface driver hub
[ 0.543563] usbcore: registered new device driver usb
[ 0.550608] pps_core: LinuxPPS API ver. 1 registered
[ 0.555927] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.565600] PTP clock support registered
[ 0.570161] FPGA manager framework
[ 0.575135] clocksource: Switched to clocksource arch_sys_counter
[ 0.593560] NET: Registered protocol family 2
[ 0.599306] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.606994] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.614069] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.621039] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.627466] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.634502] NET: Registered protocol family 1
[ 0.639825] RPC: Registered named UNIX socket transport module.
[ 0.646172] RPC: Registered udp transport module.
[ 0.651205] RPC: Registered tcp transport module.
[ 0.656181] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.663387] Trying to unpack rootfs image as initramfs...
[ 1.495415] Freeing initrd memory: 6556K
[ 1.502174] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[ 1.510241] NFS: Registering the id_resolver key type
[ 1.515675] Key type id_resolver registered
[ 1.520157] Key type id_legacy registered
[ 1.524474] jffs2: version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
[ 1.531128] SGI XFS with security attributes, no debug enabled
[ 1.543998] io scheduler noop registered
[ 1.548293] io scheduler deadline registered
[ 1.552995] io scheduler cfq registered (default)
[ 1.558009] io scheduler mq-deadline registered
[ 1.562853] io scheduler kyber registered
[ 1.577051] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 1.585415] console [ttyPS0] disabled
[ 1.589444] e0004000.serial: ttyPS0 at MMIO 0xe0004000 (irq = 21, base_baud = 6250000) is a 16550A
[ 1.599000] console [ttyPS0] enabled
[ 1.599000] console [ttyPS0] enabled
[ 1.606383] bootconsole [earlycon0] disabled
[ 1.606383] bootconsole [earlycon0] disabled
[ 1.616112] e0023000.serial: ttyPS1 at MMIO 0xe0023000 (irq = 22, base_baud = 6250000) is a 16550A
[ 1.640427] brd: module loaded
[ 1.652544] loop: module loaded
[ 1.737860] phy reset at 0x41200000 ok.....
[ 1.742057] cadence-qspi e0000000.qspi: n25q128a13 (16384 Kbytes)
[ 1.750284] cadence-qspi e0020000.qspi: unrecognized JEDEC id bytes: ff, ff, ff
[ 1.757637] cadence-qspi e0020000.qspi: Cadence QSPI NOR probe failed -2
[ 1.764596] cadence-qspi: probe of e0020000.qspi failed with error -2
[ 1.773325] w25q256 spi2.0: n25q256a (32768 Kbytes)
[ 1.778267] 1 ofpart partitions found on MTD device spi2.0
[ 1.783736] Creating 1 MTD partitions on "spi2.0":
[ 1.788552] 0x000000000000-0x000002000000 : "pl_qspiflash_chip"
[ 1.795919] xilinx_spi 41e00000.axi_quad_spi: at 0x41E00000 mapped to 0xbf920000, irq=42
[ 1.804826] xilinx_spi 41e10000.axi_quad_spi: at 0x41E10000 mapped to 0xbf940000, irq=43
[ 1.813373] libphy: Fixed MDIO Bus: probed
[ 1.819094] tun: Universal TUN/TAP device driver, 1.6
[ 1.824413] vcan: Virtual CAN interface driver
[ 1.828887] vxcan: Virtual CAN Tunnel driver
[ 1.833150] CAN device driver interface
[ 1.836996] sja1000 CAN netdevice driver
[ 1.841545] fmql-dwmac e0047000.ethernet: PTP uses main clock
[ 1.847330] fmql-dwmac e0047000.ethernet: no reset control found
[ 1.853440] stmmac - user ID: 0x10, Synopsys ID: 0x37
[ 1.858518] fmql-dwmac e0047000.ethernet: Ring mode enabled
[ 1.864079] fmql-dwmac e0047000.ethernet: DMA HW capability register supported
[ 1.871300] fmql-dwmac e0047000.ethernet: Normal descriptors
[ 1.876967] fmql-dwmac e0047000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 1.884868] libphy: stmmac: probed
[ 1.966258] fmql-dwmac e0049000.ethernet: PTP uses main clock
[ 1.972010] fmql-dwmac e0049000.ethernet: no reset control found
[ 1.978170] stmmac - user ID: 0x10, Synopsys ID: 0x37
[ 1.983216] fmql-dwmac e0049000.ethernet: Ring mode enabled
[ 1.988810] fmql-dwmac e0049000.ethernet: DMA HW capability register supported
[ 1.996032] fmql-dwmac e0049000.ethernet: Normal descriptors
[ 2.001681] fmql-dwmac e0049000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 2.650971] libphy: stmmac: probed
[ 2.656682] usbcore: registered new interface driver cdc_acm
[ 2.662335] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 2.670441] usbcore: registered new interface driver usb-storage
[ 2.676824] i2c /dev entries driver
[ 2.682292] sdhci: Secure Digital Host Controller Interface driver
[ 2.688506] sdhci: Copyright(c) Pierre Ossman
[ 2.692852] Synopsys Designware Multimedia Card Interface Driver
[ 2.699141] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.705364] usbcore: registered new interface driver usbhid
[ 2.710922] usbhid: USB HID core driver
[ 2.715313] fpga_manager fpga0: FMSH FMQL FPGA Manager registered
[ 2.722255] NET: Registered protocol family 10
[ 2.728609] Segment Routing with IPv6
[ 2.732393] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 2.739353] NET: Registered protocol family 17
[ 2.743809] can: controller area network core (rev 20170425 abi 9)
[ 2.750100] NET: Registered protocol family 29
[ 2.754537] can: raw protocol (rev 20170425)
[ 2.758822] can: broadcast manager protocol (rev 20170425 t)
[ 2.764473] can: netlink gateway (rev 20170425) max_hops=1
[ 2.770157] Key type dns_resolver registered
[ 2.774869] fmsh_pm_remap_ocm: no compatible node found for 'fmsh,fmql-ocmc-1.0'
[ 2.782307] Registering SWP/SWPB emulation handler
[ 2.796446] hctosys: unable to open rtc device (rtc0)
[ 2.801500] of_cfs_init
[ 2.804065] of_cfs_init: OK
[ 2.807650] ttyPS0 - failed to request DMA
[ 2.815605] Freeing unused kernel memory: 1024K
INIT: version 2.88 booting
[ 4.342178] random: dd: uninitialized urandom read (512 bytes read)
hwclock: can't open '/dev/misc/rtc': No such file or directory
Tue Dec 13 06:09:28 UTC 2016
hwclock: can't open '/dev/misc/rtc': No such file or directory
Starting internet superserver: inetd.
INIT: Entering runlevel: 5
[ 4.785161] fmql-dwmac e0047000.ethernet eth0: yt8521_config_init done, phy addr: 1, chip mode = 5, polling mode = 1
[ 4.835147] YT8521 Ethernet stmmac-0:01: attached PHY driver [YT8521 Ethernet] (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
[ 4.867811] fmql-dwmac e0047000.ethernet eth0: RX IPC Checksum Offload disabled
[ 4.875164] fmql-dwmac e0047000.ethernet eth0: No MAC Management Counters available
[ 4.882801] fmql-dwmac e0047000.ethernet eth0: PTP not supported by HW
[ 4.889863] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
telnet start ok
[ 5.490048] random: fast init done
[ 6.025149] fmql-dwmac e0047000.ethernet eth0: yt8521_read_status, phy addr: 1, link down
mount spi flash ok
[ 38.345165] fmql-dwmac e0049000.ethernet eth1: yt8521_config_init done, phy addr: 2, chip mode = 5, polling mode = 1
[ 38.395162] YT8521 Ethernet stmmac-0:02: attached PHY driver [YT8521 Ethernet] (mii_bus:phy_addr=stmmac-0:02, irq=POLL)
[ 38.409012] fmql-dwmac e0049000.ethernet eth1: RX IPC Checksum Offload disabled
[ 38.416357] fmql-dwmac e0049000.ethernet eth1: No MAC Management Counters available
[ 38.423993] fmql-dwmac e0049000.ethernet eth1: PTP not supported by HW
[ 38.430919] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 39.675159] fmql-dwmac e0049000.ethernet eth1: yt8521_read_status, phy addr: 2, link down
write phy addr: 0x2 reg: 0x0 value : 0x340
[ 41.500941] device eth1 entered promiscuous mode-----------------GC LED ZYNQ1 (Version 1.1)-(2023年05月31日)-----------------
[ 41.835223] fmql-dwmac e0049000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[ 41.843435] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
write phy addr: 0x1 reg: 0x1e value : 0xa001 write phy addr: 0x1 reg: 0x1f value : 0x8151
The 1 time configure phy success: 0x8151
[ 43.647250] device eth0 entered promiscuous mode
write phy addr: 0x1 reg: 0x1e value : 0xa001
read phy addr: 0x1 reg: 0x1f value : 0x8151login[389]: root login on 'ttyPS0'
root@gch-40g-sw:~# cd spi_flash/
root@gch-40g-sw:~/spi_flash#
由此,也可以通過配置panic方法來解決內(nèi)核崩潰后系統(tǒng)無法恢復(fù)的問題。