Troubles running qemu64 target

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

I'm pretty new to barebox and I'm having some troubles running the
qemu64 target.
to top it off, I'm also new to the ARM world... and this is my first
attempt at looking at a bootloader...

I'm having trouble porting some hardware to barebox... and while I'm
waiting for a JTAG probe, I though I could have some fun with qemu64
:)

The boot stops pretty early in the flow. way before anything can be
printed on the serial. I have attached gdb to the qemu-system.
The "qemu-system" seems to be stuck when trying to execute an stp with
the stack pointer as the destination.

I'm having the feeling that I have a configuration issue because sp = 0x0

x27            0x0      0
x28            0x0      0
x29            0x0      0
x30            0x0      0
sp             0x0      0x0
pc             0x40000000       0x40000000 <start>
cpsr           0x400003c5       1073742789
fpsr           0x0      0
fpcr           0x0      0
(gdb) disassemble
Dump of assembler code for function start:
=> 0x0000000040000000 <+0>:     b       0x40000048 <start+72>
   0x0000000040000004 <+4>:     nop
   0x0000000040000008 <+8>:     nop
   0x000000004000000c <+12>:    nop
...
  0x0000000040000048 <+72>:    b       0x40013444 <barebox_arm_reset_vector>


then we are branching to <barebox_arm_reset_vector>
Dump of assembler code for function barebox_arm_reset_vector:
=> 0x0000000040013444 <+0>:     stp     x29, x30, [sp, #-16]!
   0x0000000040013448 <+4>:     mov     x29, sp
   0x000000004001344c <+8>:     bl      0x40000050 <arm_cpu_lowlevel_init>

with sp still equals to 0x0.

stepping from there seems to get me "stuck"...
when interrupting gdb (Ctrl-C) and dumping the registers, I'm getting
the feeling I'm out of barebox code with pc equals 0x200

x29            0x0      0
x30            0x0      0
sp             0x0      0x0
pc             0x200    0x200
cpsr           0x3c5    965
fpsr           0x0      0


It's probably some kind of configuration issue...? though I see no
code to set sp before that stp instruction.
I tried toying with the memory map, setting stack and text base
addresses, but it doesn't seem to fix my issue.
Or maybe it's okay to decrement sp while it's equal to 0x0?
Any ideas? comments?

Thx,
Guillaume.

running qemu:
 sudo qemu-system-aarch64 -m 4096M \
 -cpu cortex-a57 -machine virt \
-display none -serial stdio \
 -kernel qemu64/barebox -s -S

Attachment: .config
Description: Binary data

Attachment: barebox_gdb.log
Description: Binary data

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox

[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux