答复: 答复: 答复: Ecartis command results: appsub kernelnewbies FuXinRong@xxxxxxxxxxxx 4A71650B:26CF.1:xrearyarjovrf

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

 



I have a new comprehension about the question according to your clue

The "SP" register(R13) is a banked register, there is a corresponding physical register for each processor mode(abort fiq irq svc und ...), so in this case, when a normal interrupt exception occurs, the processor(arm core) auto enter irq mode, then the "SP"(R14) is "R14_irq", so the SP isn't the pointer of kernel stack.

I don't know this comprehension is correct or no?

According to this comprehension, there is also an uncertainty.
where is the "R14_irq" register initialized?

-----邮件原件-----
发件人: Pei Lin [mailto:telent997@xxxxxxxxx] 
发送时间: 2009年7月31日 10:29
收件人: 付新荣
抄送: microbit@xxxxxxxxxxxxxxxxxxxxxx; Kernelnewbies
主题: Re: 答复: 答复: Ecartis command results: appsub kernelnewbies FuXinRong@xxxxxxxxxxxx 4A71650B:26CF.1:xrearyarjovrf

see the comment "
 * SP points to a minimal amount of processor-private memory, the address
 * of which is copied into r0 for the mode specific abort handler.
"
i think here it build a stack for exception handling.

BRs
Lin


2009/7/31 付新荣 <FuXinRong@xxxxxxxxxxxx>:
> Thank you for your reply!
>
> I make a mistake before.
> The "sp" should decrement before storing rather than after.
> So it's should "stmdb sp, {r0, lr}"
> The "stmdb" is equivalent to "stmfd".
> So i am in accordance with u in this matter!
>
> But,
> How to explain the "stmia       sp, {r0, lr}" of the micros "vector_stub" defined in file "arch/arm/kernel/entry-armv.S".
>
> Are there different comprehension in this problem?
>
> Thax!
>
> -----邮件原件-----
> 发件人: kernelnewbies-bounce@xxxxxxxxxxxx [mailto:kernelnewbies-bounce@xxxxxxxxxxxx] 代表 microbit@xxxxxxxxxxxxxxxxxxxxxx
> 发送时间: 2009年7月30日 22:01
> 收件人: Kernelnewbies
> 主题: Re: 答复: Ecartis command results: appsub kernelnewbies FuXinRong@xxxxxxxxxxxx 4A71650B:26CF.1:xrearyarjovrf
>
> On Thu, 30 Jul 2009 18:07:18 +0800, 付新荣 <FuXinRong@xxxxxxxxxxxx>
> wrote:
>> hi,everybody.
>> I don't know why use the "stmia       sp, {r0, lr}" instruction rather than
>> "stmda sp, {r0, lr}" in the macros "vector_stub" defined in file
>> "arch/arm/kernel/entry-armv.S".
>>
>> becaue the "sp" register is point to the kernel stack top.
>> The "sp" register is initialized with "init_thread_union +
> THREAD_START_SP"
>>
>>
>> Kernel stack:
>> =======================================================================
>> Lower address                                                                         higher address
>> | init_thread_union|                          <-------stack content--------|
>>                                                               sp
>> |<----------------------------8K bytes--------------------------->|
>> =======================================================================
>>
>> According to the Kernel stack mechanism,I think that it should be
> "stmda
>> sp, {r0, lr}" and the SP should decrement.
>>
>> -----邮件原件-----
>> 发件人: Ecartis [mailto:ecartis@xxxxxxxxxxxx]
>> 发送时间: 2009年7月30日 17:39
>> 收件人: 付新荣
>> 主题: Ecartis command results: appsub kernelnewbies
>> FuXinRong@xxxxxxxxxxxx 4A71650B:26CF.1:xrearyarjovrf
>>
>>
>> List context changed to 'kernelnewbies' by following command.
>>>> appsub kernelnewbies FuXinRong@xxxxxxxxxxxx
>>>> 4A71650B:26CF.1:xrearyarjovrf
>> Subscribed.
>>
>> ---
>> Ecartis v1.0.0 - job execution complete.
>>
>>
>> --
>> To unsubscribe from this list: send an email with
>> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
>> Please read the FAQ at http://kernelnewbies.org/FAQ
>
> Hi,
>
> I don't know the intrinsics of the kernel stack, but the stack described is
> indeed a full descending stack.
> If pushing on the stack, it's more common to use the stmfd instruction
> though. (IOW store on a full descending stack)
> I guess it depends whether the excerpt of code is aiming to push or to pop
> the stack.
> It should be pushing, since the sp is the destination for the storing of
> all registers + link register...
>
> B rgds
> Kris
>
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux