public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] HAL_SavedRegisters (ecos 1_3_1)
@ 2001-05-30 10:36 Rafael Rodríguez Velilla
  2001-05-30 12:13 ` [ECOS] " Fabrice Gautier
  2001-05-31  8:43 ` [ECOS] " Jonathan Larmour
  0 siblings, 2 replies; 7+ messages in thread
From: Rafael Rodríguez Velilla @ 2001-05-30 10:36 UTC (permalink / raw)
  To: ecos

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 833 bytes --]

  I can't find any place where the member msr of the struct
HAL_SavedRegisters is used (I have reviewed only the ARM
implementation). I think that this member should be omitted from the
struct.

  I'd also want to point out that the method load_context of the class
Cyg_HardwareThread seems to me that does the wrong thing. It is
implemented like:
inline void Cyg_HardwareThread ::load_context ()
{
   CYG_ADDRESS dummy_stack_ptr;
   HAL_THREAD_SWITCH_CONTEXT(&dummy_stack, &stack_ptr);
}

I think that HAL_THREAD_LOAD_CONTEXT is the correct function to call
(and dummy_stack_ptr is unnecessary). load_context shouldn't, because of
its definition, save the old context.
(Well, anyway it isn't used anywhere)





--
Rafael Rodríguez Velilla        rrv@tid.es
Telefónica I+D          http://www.tid.es
Telf: +34 - 91 337 4270



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [ECOS] Re: HAL_SavedRegisters (ecos 1_3_1)
  2001-05-30 10:36 [ECOS] HAL_SavedRegisters (ecos 1_3_1) Rafael Rodríguez Velilla
@ 2001-05-30 12:13 ` Fabrice Gautier
  2001-05-31  0:17   ` Rafael Rodríguez Velilla
  2001-05-31  8:43 ` [ECOS] " Jonathan Larmour
  1 sibling, 1 reply; 7+ messages in thread
From: Fabrice Gautier @ 2001-05-30 12:13 UTC (permalink / raw)
  To: Rafael Rodríguez Velilla; +Cc: ecos

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 546 bytes --]

On Wed, 30 May 2001 19:11:38 +0200
Rafael Rodríguez Velilla <rrv@tid.es> wrote:

>   I can't find any place where the member msr of the struct
> HAL_SavedRegisters is used (I have reviewed only the ARM
> implementation). I think that this member should be omitted from the
> struct.

I think it is used by the gdb stub. This allow gdb to show the value of
this register even if it is never used.

If I remenber coorectly same thing happen in x86 with some segment
registers (cs at least i think) )


-- 
Fabrice Gautier <gautier@email.enstfr>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ECOS] Re: HAL_SavedRegisters (ecos 1_3_1)
  2001-05-30 12:13 ` [ECOS] " Fabrice Gautier
@ 2001-05-31  0:17   ` Rafael Rodríguez Velilla
  0 siblings, 0 replies; 7+ messages in thread
From: Rafael Rodríguez Velilla @ 2001-05-31  0:17 UTC (permalink / raw)
  To: ecos

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 698 bytes --]

I have followed the code of the GDB stub also, but I didn't find a mention
of that member.



> >   I can't find any place where the member msr of the struct
> > HAL_SavedRegisters is used (I have reviewed only the ARM
> > implementation). I think that this member should be omitted from the
> > struct.
>
> I think it is used by the gdb stub. This allow gdb to show the value of
> this register even if it is never used.
>
> If I remenber coorectly same thing happen in x86 with some segment
> registers (cs at least i think) )
>
> --
> Fabrice Gautier <gautier@email.enstfr>

--
Rafael Rodríguez Velilla        rrv@tid.es
Telefónica I+D          http://www.tid.es
Telf: +34 - 91 337 4270



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ECOS] HAL_SavedRegisters (ecos 1_3_1)
  2001-05-30 10:36 [ECOS] HAL_SavedRegisters (ecos 1_3_1) Rafael Rodríguez Velilla
  2001-05-30 12:13 ` [ECOS] " Fabrice Gautier
@ 2001-05-31  8:43 ` Jonathan Larmour
  2001-05-31  8:51   ` Nick Garnett
  2001-05-31  8:58   ` Gary Thomas
  1 sibling, 2 replies; 7+ messages in thread
From: Jonathan Larmour @ 2001-05-31  8:43 UTC (permalink / raw)
  To: Rafael Rodríguez Velilla
  Cc: ecos, Nick Garnett, Gary Thomas

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1378 bytes --]

Rafael Rodríguez Velilla wrote:
> 
>   I can't find any place where the member msr of the struct
> HAL_SavedRegisters is used (I have reviewed only the ARM
> implementation). I think that this member should be omitted from the
> struct.

From what I can see you are right (although Gary should probably confirm).
The only thing is that if we remove it now, it may cause incompatibilities
between a GDB stub in ROM and applications, if built from different
sources, since ARMREG_SIZE in vectors.S will have changed.
 
>   I'd also want to point out that the method load_context of the class
> Cyg_HardwareThread seems to me that does the wrong thing. It is
> implemented like:
> inline void Cyg_HardwareThread ::load_context ()
> {
>    CYG_ADDRESS dummy_stack_ptr;
>    HAL_THREAD_SWITCH_CONTEXT(&dummy_stack, &stack_ptr);
> }
> 
> I think that HAL_THREAD_LOAD_CONTEXT is the correct function to call
> (and dummy_stack_ptr is unnecessary). load_context shouldn't, because of
> its definition, save the old context.

Again I think you're right. Nick, do you agree?

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
<advert> Come to the Red Hat TechWorld open source conference in Brussels!
Keynotes, techie talks and exhibitions    http://www.redhat-techworld.com/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ECOS] HAL_SavedRegisters (ecos 1_3_1)
  2001-05-31  8:43 ` [ECOS] " Jonathan Larmour
@ 2001-05-31  8:51   ` Nick Garnett
  2001-05-31  8:58   ` Gary Thomas
  1 sibling, 0 replies; 7+ messages in thread
From: Nick Garnett @ 2001-05-31  8:51 UTC (permalink / raw)
  To: Jonathan Larmour
  Cc: Rafael Rodríguez Velilla, ecos, Gary Thomas

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 895 bytes --]

Jonathan Larmour <jlarmour@redhat.com> writes:

> Rafael Rodríguez Velilla wrote:

> >   I'd also want to point out that the method load_context of the class
> > Cyg_HardwareThread seems to me that does the wrong thing. It is
> > implemented like:
> > inline void Cyg_HardwareThread ::load_context ()
> > {
> >    CYG_ADDRESS dummy_stack_ptr;
> >    HAL_THREAD_SWITCH_CONTEXT(&dummy_stack, &stack_ptr);
> > }
> > 
> > I think that HAL_THREAD_LOAD_CONTEXT is the correct function to call
> > (and dummy_stack_ptr is unnecessary). load_context shouldn't, because of
> > its definition, save the old context.
> 
> Again I think you're right. Nick, do you agree?
> 

We should probably get rid of the whole function. It is no longer
necessary and its presence might lure the unwary into actually calling
it, with dire consequences.

-- 
Nick Garnett, eCos Kernel Architect
Red Hat, Cambridge, UK

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ECOS] HAL_SavedRegisters (ecos 1_3_1)
  2001-05-31  8:43 ` [ECOS] " Jonathan Larmour
  2001-05-31  8:51   ` Nick Garnett
@ 2001-05-31  8:58   ` Gary Thomas
  2001-06-01  8:11     ` Rafael Rodríguez Velilla
  1 sibling, 1 reply; 7+ messages in thread
From: Gary Thomas @ 2001-05-31  8:58 UTC (permalink / raw)
  To: Jonathan Larmour
  Cc: Nick Garnett, ecos, Rafael Rodríguez Velilla

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 852 bytes --]

On 31-May-2001 Jonathan Larmour wrote:
> Rafael Rodríguez Velilla wrote:
>> 
>>   I can't find any place where the member msr of the struct
>> HAL_SavedRegisters is used (I have reviewed only the ARM
>> implementation). I think that this member should be omitted from the
>> struct.
> 
>From what I can see you are right (although Gary should probably confirm).
> The only thing is that if we remove it now, it may cause incompatibilities
> between a GDB stub in ROM and applications, if built from different
> sources, since ARMREG_SIZE in vectors.S will have changed.

I'm pretty sure that I defined that register _just in case_ it was important.
It might still be with some future version of the ARM chip.

I'd rather not remove it, both to retain pure compatability and for stability
reasons.  I also don't see much benefit from saving 4 bytes.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ECOS] HAL_SavedRegisters (ecos 1_3_1)
  2001-05-31  8:58   ` Gary Thomas
@ 2001-06-01  8:11     ` Rafael Rodríguez Velilla
  0 siblings, 0 replies; 7+ messages in thread
From: Rafael Rodríguez Velilla @ 2001-06-01  8:11 UTC (permalink / raw)
  To: ecos

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1132 bytes --]

Gary Thomas wrote:

> On 31-May-2001 Jonathan Larmour wrote:
> > Rafael Rodríguez Velilla wrote:
> >>
> >>   I can't find any place where the member msr of the struct
> >> HAL_SavedRegisters is used (I have reviewed only the ARM
> >> implementation). I think that this member should be omitted from the
> >> struct.
> >
> >>From what I can see you are right (although Gary should probably confirm).
> > The only thing is that if we remove it now, it may cause incompatibilities
> > between a GDB stub in ROM and applications, if built from different
> > sources, since ARMREG_SIZE in vectors.S will have changed.
>
> I'm pretty sure that I defined that register _just in case_ it was important.
> It might still be with some future version of the ARM chip.
>
> I'd rather not remove it, both to retain pure compatability and for stability
> reasons.  I also don't see much benefit from saving 4 bytes.

  What about using a cdl option to let the user decide if he wants that kind of
backward compatibility?


--
Rafael Rodríguez Velilla        rrv@tid.es
Telefónica I+D          http://www.tid.es
Telf: +34 - 91 337 4270



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-06-01  8:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-30 10:36 [ECOS] HAL_SavedRegisters (ecos 1_3_1) Rafael Rodríguez Velilla
2001-05-30 12:13 ` [ECOS] " Fabrice Gautier
2001-05-31  0:17   ` Rafael Rodríguez Velilla
2001-05-31  8:43 ` [ECOS] " Jonathan Larmour
2001-05-31  8:51   ` Nick Garnett
2001-05-31  8:58   ` Gary Thomas
2001-06-01  8:11     ` Rafael Rodríguez Velilla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).