bringup on RK3399
Michael Grunditz
michael.grunditz at gmail.com
Tue Nov 10 15:39:55 CET 2020
On Tue, 10 Nov 2020 at 14:32, Michael Grunditz
<michael.grunditz at gmail.com> wrote:
>
> On Tue, 10 Nov 2020 at 14:24, Stefan Kalkowski
> <stefan.kalkowski at genode-labs.com> wrote:
> >
> > On Tue, Nov 10, 2020 at 01:59:42PM +0000, Michael Grunditz wrote:
> > > > Another reason might be some alignment constraints? To be really sure,
> > > > what is going on, you could temporarily change the exception vector in
> > > > file 'repos/base-hw/src/core/spec/arm_v8/exception_vector.s' at the
> > > > very beginning to, e.g.:
> > > >
> > > > .section .text.crt0
> > > >
> > > > .rept 16
> > > > mrs x0, elr_el1
> > > > mrs x1, spsr_el1
> > > > adr x2, .
> > > > and x2, x2, #0xf80
> > > > bl kernel
> > > > .balign 128
> > > > .endr
> > > >
> > > > And change the function kernel() to something like:
> > > >
> > > > extern "C" void kernel(void * ip, void * spsr, void * off, void * esr_el1)
> > > > {
> > > > Genode::raw("ip=", ip, " spsr=", spsr, " exc_off=", off, " esr_el1=", esr_el1);
> > > > }
> > > >
> > > > Then the outcome of the first printing would be quite interesting to know.
> > > >
> > > > Regards
> > > > Stefan
> > > >
> > >
> > > Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x200
> > > esr_el1=0xffffffe02ff22000
> >
> > Ok, the first three arguments are meaningful, and you can check the ip
> > with you core binary. The core binary with debug information can be
> > found in your build directory under 'var/run/[run-script-name].core'
> >
> > The ESR_EL1 argument is wrong. I forgot it in the assembler sippet
> > above. The complete exception vector should be:
> >
> > .section .text.crt0
> >
> > .rept 16
> > mrs x0, elr_el1
> > mrs x1, spsr_el1
> > mrs x3, esr_el1
> > adr x2, .
> > and x2, x2, #0xf80
> > bl kernel
> > .balign 128
> > .endr
> >
> > Sorry, for the inconvenience, I'm afraid you have to give it a second
> > try.
> >
>
> Kernel: ip=0xffffffc00008ed58 spsr=0x600003c5 exc_off=0x200 esr_el1=0x96000045
>
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x200
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x280
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x300
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x380
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x400
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x480
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x500
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x580
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x600
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x680
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x700
esr_el1=0x96000045
Kernel: ip=0xffffffc00008ed60 spsr=0x600003c5 exc_off=0x780 esr_el1=0x96000045
More information about the users
mailing list