Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

image stops at "Jumping to kernel-image entry point..." #22

Closed
AKADiNG opened this issue Jun 12, 2020 · 8 comments
Closed

image stops at "Jumping to kernel-image entry point..." #22

AKADiNG opened this issue Jun 12, 2020 · 8 comments

Comments

@AKADiNG
Copy link

AKADiNG commented Jun 12, 2020

Hello everyone;

I am working on master branch and trying to port sel4 to allwinnerR40 board. When I tried to run the image on board, it stoped at "Jumping to kernel-image entry point..." when I run it on the board. Following is the printed messages:

sunxi#fatload mmc 0 0x40000000 sel4test_ding && bootelf 0x40000000
reading sel4test_ding
1568324 bytes read in 69 ms (21.7 MiB/s)

Starting application at 0x40644000 ...

ELF-loader started on CPU: ARM Ltd. Cortex-A7 r0p5
paddr=[40644000..407bc0a7]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 40681880.
Loaded DTB from 40681880.
paddr=[4002b000..40032fff]
ELF-loading image 'kernel'
paddr=[40000000..4002afff]
vaddr=[a0000000..a002afff]
virt_entry=a0000000
ELF-loading image 'sel4test-driver'
paddr=[40033000..40249fff]
vaddr=[10000..226fff]
virt_entry=164e8
Enabling MMU and paging
Jumping to kernel-image entry point...

Any suggestion is appreciated, thanks.

@yyshen
Copy link
Contributor

yyshen commented Jun 12, 2020

Hello,

Could you show the result of the following command:

readelf -a kernel.elf

@nomadeel
Copy link

It could also be that release mode is turned on. Under release mode, the kernel doesn't have serial printing enabled so there's no serial output unless the serial device is configured in userland. You can check if release mode is turned on by running ccmake in the build directory and checking if the RELEASE flag is switched on.

@AKADiNG
Copy link
Author

AKADiNG commented Jun 15, 2020

It could also be that release mode is turned on. Under release mode, the kernel doesn't have serial printing enabled so there's no serial output unless the serial device is configured in userland. You can check if release mode is turned on by running ccmake in the build directory and checking if the RELEASE flag is switched on.

Thank you very much. Your advice works well. It finally print something after turn the "RELEASE" flag off. But there came another problem.

Starting application at 0x40818000 ...

ELF-loader started on CPU: ARM Ltd. Cortex-A7 r0p5
paddr=[40818000..40c60ca7]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 408dad94.
Loaded DTB from 408dad94.
paddr=[40037000..4003efff]
ELF-loading image 'kernel'
paddr=[40000000..40036fff]
vaddr=[a0000000..a0036fff]
virt_entry=a0000000
ELF-loading image 'sel4test-driver'
paddr=[4003f000..40425fff]
vaddr=[10000..3f6fff]
virt_entry=1d3e0
Enabling MMU and paging
Jumping to kernel-image entry point...

Bootstrapping kernel
Booting all finished, dropped to user space
Caught cap fault in send phase at address 0
while trying to handle:
vm fault on data at address 0x9f7fefff with status 0x805
in thread 0xffef7200 "sel4test-driver" at address 0x72a14
With stack:
0x2e3da0: 0xf
0x2e3da4: 0x1
0x2e3da8: 0x2e3db8
0x2e3dac: 0x2e3dd8
0x2e3db0: 0x1000
0x2e3db4: 0x2f4d20
0x2e3db8: 0x454
0x2e3dbc: 0x2c2100
0x2e3dc0: 0x9
0x2e3dc4: 0xa
0x2e3dc8: 0x453
0x2e3dcc: 0x20
0x2e3dd0: 0x2
0x2e3dd4: 0x0
0x2e3dd8: 0x1
0x2e3ddc: 0x455
... ...

Do you have any suggestions about this one ?

@AKADiNG
Copy link
Author

AKADiNG commented Jun 15, 2020

Hello,

Could you show the result of the following command:

readelf -a kernel.elf

@yyshen Thank you for your attention, @nomadeel's advice works well.

@nomadeel
Copy link

The thread seems to have tripped a page fault at an invalid address. It could be that the thread was trying to access invalid memory?

@AKADiNG
Copy link
Author

AKADiNG commented Jun 22, 2020

@nomadeel Succeed to run seL4test after I close the L1 data cache, but there are many efficiency lost in this way. The running time on board is more than twice as long as in the qemu. So I think this is just a work around way, I should find out the real solution.

@yyshen
Copy link
Contributor

yyshen commented Jun 22, 2020

It could also be that release mode is turned on. Under release mode, the kernel doesn't have serial printing enabled so there's no serial output unless the serial device is configured in userland. You can check if release mode is turned on by running ccmake in the build directory and checking if the RELEASE flag is switched on.

Thank you very much. Your advice works well. It finally print something after turn the "RELEASE" flag off. But there came another problem.

Starting application at 0x40818000 ...

ELF-loader started on CPU: ARM Ltd. Cortex-A7 r0p5
paddr=[40818000..40c60ca7]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 408dad94.
Loaded DTB from 408dad94.
paddr=[40037000..4003efff]
ELF-loading image 'kernel'
paddr=[40000000..40036fff]
vaddr=[a0000000..a0036fff]
virt_entry=a0000000
ELF-loading image 'sel4test-driver'
paddr=[4003f000..40425fff]
vaddr=[10000..3f6fff]
virt_entry=1d3e0
Enabling MMU and paging
Jumping to kernel-image entry point...

Bootstrapping kernel
Booting all finished, dropped to user space
Caught cap fault in send phase at address 0
while trying to handle:
vm fault on data at address 0x9f7fefff with status 0x805
in thread 0xffef7200 "sel4test-driver" at address 0x72a14
With stack:
0x2e3da0: 0xf
0x2e3da4: 0x1
0x2e3da8: 0x2e3db8
0x2e3dac: 0x2e3dd8
0x2e3db0: 0x1000
0x2e3db4: 0x2f4d20
0x2e3db8: 0x454
0x2e3dbc: 0x2c2100
0x2e3dc0: 0x9
0x2e3dc4: 0xa
0x2e3dc8: 0x453
0x2e3dcc: 0x20
0x2e3dd0: 0x2
0x2e3dd4: 0x0
0x2e3dd8: 0x1
0x2e3ddc: 0x455
... ...

Do you have any suggestions about this one ?

@AKADiNG Can you attach the binary files: kernel.elf, sel4test-driver, and sel4test-tests?

@axel-h
Copy link
Member

axel-h commented Nov 23, 2020

I suggest to close this issue, since there was no follow-up from @AKADiNG in the last 4 months. Could somebody edit the title to [Allwinner R40] ...", so this can be found again in case somebody continues working on this SoC?

@lsf37 lsf37 closed this as completed Nov 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants