Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Re: BCM5301x SMP
Hi
Thanks for your advice.
I add this code.
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index db99a13542fd..6cbc1576c7dc 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1119,6 +1119,7 @@ sigpost(struct lwp *l, sig_t action, int prop, int sig)
struct proc *p = l->l_proc;
KASSERT(mutex_owned(p->p_lock));
+panic("sigpost(%d)", sig);
/*
* If the LWP is on the way out, sigclear() will be busy draining all
@@ -1311,6 +1312,7 @@ kpsignal2(struct proc *p, ksiginfo_t *ksi)
bool toall;
bool traced;
int error = 0;
+panic("kpsignal2(%d)", signo);
KASSERT(!cpu_intr_p());
KASSERT(mutex_owned(&proc_lock));
problem case.
[ 4.5676083] WARNING: CHECK AND RESET THE DATE!
init: fatal sign[ 34.7399758] panic: kpsignal2(20)
[ 34.7399758] cpu0: Begin traceback...
...
db{0}> ps
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
1 1 3 1 180 9fde9d00 init wait
no problem case.
[ 4.5775946] WARNING: CHECK AND RESET THE DATE!
[ 4.5999814] 1.1(init): trap: signo=10 code=2 addr=0x7fffeb58 trap=0x1c06
[ 4.5999814] r0=7fffeff0 r1=00000000 r2=00000000 r3=00000000
[ 4.6136304] r4=00000000 r5=00000000 r6=00000000 r7=00000000
[ 4.6136304] r8=00000000 r9=00000000 rA=00000000 rB=00000000
[ 4.6250933] ip=7fffeb58 sp=7fffeb58 lr=7bed0588 pc=7bed0588 spsr=00000010
[ 4.6320815] panic: kpsignal2(10)
[ 4.6320815] cpu0: Begin traceback...
...
db{0}> ps
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
1 > 1 7 0 0 9fde64c0 init
BCM5301x is non FDT. Where I add cache opration?
Thanks
Hiroki Mori
> ----- Original Message -----
>
> From: "Christoph Badura" <bad%bsd.de@localhost>
> To: "や もり" <yamori813%yahoo.co.jp@localhost>
> Cc: "port-arm%NetBSD.org@localhost" <port-arm%NetBSD.org@localhost>
> Date: 2025/06/26 木 17:22
> Subject: Re: BCM5301x SMP
>
>
> On Thu, Jun 26, 2025 at 10:45:47AM +0900, Mori Hiroki wrote:
> > BCM5301x SMP is work now.
>
> Cool progress!
>
> > But I have problem that is boot stop at init.
> > [ 3.4799782] root on sd0a dumps on sd0b
> > [ 3.5199804] kern.module.path=/stand/evbarm/10.1/modules
> > [ 3.5345361] WARNING: no TOD clock present
> > [ 3.5345361] WARNING: using filesystem time
> > [ 3.5429274] WARNING: CHECK AND RESET THE DATE!
> > init: fatal sign
>
> This is printed by https://nxr.netbsd.org/xref/src/sbin/init/init.c#486
> Installed via this: https://nxr.netbsd.org/xref/src/sbin/init/init.c#305
>
> Bummer you don't see the signal number.
>
> I would set a breakpoint in DDB on `kpsignal2' or `sigpost' or add a printf
> to those functions in sys/kern/kern_sig.c and print the signal number.
>
> I would also check whether init(8) is running on the boot (primary) CPU or
> on one of the others. If it is not running on the boot CPU I would suspect
> cache synchronization issues similar to what I ran into with
> https://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/arm/fdt/cpu_fdt.c.diff?r1=1.28;r2=1.29
>
> --chris
>
Home |
Main Index |
Thread Index |
Old Index