This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [ECOS] Re: ISR not causing an DSR in some rare conditions


Revised patch attached.


-----Original Message-----
From: Sergei Organov [mailto:osv@javad.com]
Sent: Monday, January 23, 2006 2:12 AM
To: ecos-patches@sources.redhat.com
Subject: Re: [ECOS] Re: ISR not causing an DSR in some rare conditions


Jay Foster <jay@systech.com> writes:

> Attached is a patch for the first problem described below.  This is
> essentially Sergei Organov's suggested change put into patch form.

The original suggestion had:

       sub     sp,sp,#(ARMREG_SIZE - armreg_lr - 4) // skip svc_sp, svc_lr,
vector, cpsr, and pc
       stmfd   sp!,{ip,lr}

and your patch has:

       sub     sp,sp,#(ARMREG_SIZE - armreg_pc) // skip svc_sp, svc_lr,
vector, cpsr, and pc
       stmfd   sp!,{ip,lr}

While they are exactly the same from the point of view of assembler, for
humans the first variant emphasized that lr will be put at armreg_lr
offset in the context structure. The fact that 'armreg_pc' happens to be
equal to 'armreg_lr - 4' does not mean one should use it instead.

Could you please preserve the former variant in your patch.

-- Sergei.

Attachment: arm_arch.pat
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]