[U-Boot-Users] PXA255 code in start.S

Hello, Kindly refer code at path UBOOT / u-boot / cpu / pxa / start.S
Code: .macro irq_save_user_regs sub sp, sp, #S_FRAME_SIZE stmia sp, {r0 - r12} /* Calling r0-r12 */ add r8, sp, #S_PC stmdb r8, {sp, lr}^ /* Calling SP, LR */ str lr, [r8, #0] /* Save calling PC */ mrs r6, spsr str r6, [r8, #4] /* Save CPSR */ str r0, [r8, #8] /* Save OLD_R0 */ mov r0, sp .endm
Why there is need to save R0? If we refer ARM architecture (section what all happens when interrupt comes) there is no need to save R0.
Moreover, there is no need of writing such big piece of code it can be replaced with below given four liner code:
Sub lr, lr, #4 Stmfd sp! , {r0-r12, lr} MRS r1, spsr Stmfd sp! , {r1}
Similarly we can write small code for restore of stack .macro irq_restore_user_regs Ldmfd sp! , {r1} MSR cpsr_c , R1 ldmfd sp!, {r0-r12, pc}^ .endm
Can anybody clarify?
Regards Amit Kumar
**************** CAUTION - Disclaimer ***************** This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS******** End of Disclaimer ********INFOSYS***

On 12:14 Fri 16 May , Amit Kumar wrote:
Hello,
Kindly refer code at path UBOOT / u-boot / cpu / pxa /
start.S
Code:
.macro irq_save_user_regs sub sp, sp, #S_FRAME_SIZE stmia sp, {r0 - r12} /* Calling r0-r12 */ add r8, sp, #S_PC stmdb r8, {sp, lr}^ /* Calling SP, LR */ str lr, [r8, #0] /* Save calling PC */ mrs r6, spsr str r6, [r8, #4] /* Save CPSR */ str r0, [r8, #8] /* Save OLD_R0 */ mov r0, sp .endm
Why there is need to save R0? If we refer ARM architecture (section what all happens when interrupt comes) there is no need to save R0.
Moreover, there is no need of writing such big piece of code it can be replaced with below given four liner code:
Sub lr, lr, #4 Stmfd sp! , {r0-r12, lr} MRS r1, spsr Stmfd sp! , {r1}
Similarly we can write small code for restore of stack
.macro irq_restore_user_regs Ldmfd sp! , {r1} MSR cpsr_c , R1 ldmfd sp!, {r0-r12, pc}^ .endm
Can anybody clarify?
I'll take a look, I'm currently cleaning the board init
Please do NOT post as HTML
Regards
Amit Kumar
**************** CAUTION - Disclaimer ***************** This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS******** End of Disclaimer ********INFOSYS***
Please remove this to
Best Regards, J.

Hello J. Where are you? You promised to have a look. I can't remove the "disclaimer". Sorry for this.
Regards Amit Kumar
-----Original Message----- From: Jean-Christophe PLAGNIOL-VILLARD [mailto:plagnioj@jcrosoft.com] Sent: Friday, May 16, 2008 2:41 PM To: Amit Kumar Cc: u-boot-users@lists.sourceforge.net; Yadvinder Singh Mann Subject: Re: [U-Boot-Users] PXA255 code in start.S
On 12:14 Fri 16 May , Amit Kumar wrote:
Hello,
Kindly refer code at path UBOOT / u-boot / cpu / pxa /
start.S
Code:
.macro irq_save_user_regs sub sp, sp, #S_FRAME_SIZE stmia sp, {r0 - r12} /* Calling r0-r12 */ add r8, sp, #S_PC stmdb r8, {sp, lr}^ /* Calling SP, LR */ str lr, [r8, #0] /* Save calling PC */ mrs r6, spsr str r6, [r8, #4] /* Save CPSR */ str r0, [r8, #8] /* Save OLD_R0 */ mov r0, sp .endm
Why there is need to save R0? If we refer ARM architecture (section what all happens when interrupt comes) there is no need to save R0.
Moreover, there is no need of writing such big piece of code it can be replaced with below given four liner code:
Sub lr, lr, #4 Stmfd sp! , {r0-r12, lr} MRS r1, spsr Stmfd sp! , {r1}
Similarly we can write small code for restore of stack
.macro irq_restore_user_regs Ldmfd sp! , {r1} MSR cpsr_c , R1 ldmfd sp!, {r0-r12, pc}^ .endm
Can anybody clarify?
I'll take a look, I'm currently cleaning the board init
Please do NOT post as HTML
Regards
Amit Kumar
Please remove this to
Best Regards, J.
**************** CAUTION - Disclaimer ***************** This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS******** End of Disclaimer ********INFOSYS***
participants (2)
-
Amit Kumar
-
Jean-Christophe PLAGNIOL-VILLARD