On Tue, 10 Nov 2020 at 14:32, Michael Grunditz <[email protected]> wrote: > > On Tue, 10 Nov 2020 at 14:24, Stefan Kalkowski > <[email protected]> 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
_______________________________________________ Genode users mailing list [email protected] https://lists.genode.org/listinfo/users
