[U-Boot-Users] how does stack work?

hello, I'm trying to understand how the initial stack works on a ppc4xx. According to start.S this is how the layout looks to me: ___________ | | | | | | | gd_t | |___________| | 0 | |___________| | 0 | |___________|<-+ | reset_vec | | SP ->|___________| | | |--+ |___________|<-+ | | | |___________| | | |--+ |___________| | ... |
I can't figure out precisely how the last stack frame works: - /* clear final stack frame so that */ /* stack backtraces terminate cleanly */ I'm not sure to understand the "terminate cleanly".
- why will the reset_vec be used in case of a stack underflow? I tried to find an answer in the "PowerPC compiler writer's guide" about the ABI, but I am not even sure gcc uses an AIX or System V implementation...
If somebody could explain how this works in details, I would be very grateful (or point me to the right doc)
Thanks in advance
François-Xavier SEINGIER

Seingier François-Xavier wrote:
hello, I'm trying to understand how the initial stack works on a ppc4xx. According to start.S this is how the layout looks to me: ___________ | | | | | | | gd_t | |___________| | 0 | |___________| | 0 | |___________|<-+ | reset_vec | | SP ->|___________| | | |--+ |___________|<-+ | | | |___________| | | |--+ |___________| | ... |
I can't figure out precisely how the last stack frame works:
- /* clear final stack frame so that */
/* stack backtraces terminate cleanly */ I'm not sure to understand the "terminate cleanly".
Some debug tool that get confused ??
- why will the reset_vec be used in case of a stack underflow?
I tried to find an answer in the "PowerPC compiler writer's guide" about the ABI, but I am not even sure gcc uses an AIX or System V implementation...
You can not return from the first function but for some unknown reason you do that what should happen ?? a reboot is probably as good as anything.
The ABI for u-boot is eabi ftp://ftp.funet.fi/pub/mirrors/sourceware.cygnus.com/pub/binutils/ppc-docs/
participants (2)
-
Kenneth Johansson
-
Seingier François-Xavier