public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* Re: [ECOS] probably a FAQ, but: how many x86 ports are in motion out there?
@ 1999-10-07  9:29 Roland Schwarz
  1999-10-07  9:53 ` [ECOS] probably a FAQ, but: how many x86 ports are in motionout there? Patrick O'Grady
  0 siblings, 1 reply; 8+ messages in thread
From: Roland Schwarz @ 1999-10-07  9:29 UTC (permalink / raw)
  To: ecos-discuss

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

Hi,
    the x86, pc104 platform still is not on the list of supported
targets. As the toolchain is hosted on x86 I suppose it will be
straightforward to target to this platform.
Is this true?

Thank you,
Roland
-----Original Message-----
From: Bart Veer <bartv@cygnus.co.uk>
To: utz@serv.net <utz@serv.net>
Cc: ecos-discuss@cygnus.com <ecos-discuss@cygnus.com>
Date: Dienstag, 02. März 1999 23:32
Subject: Re: [ECOS] probably a FAQ, but: how many x86 ports are in motion
out there?


>>>>>> "John" == The Utz Family <utz@serv.net> writes:
>
>    John> whats the status on x86? x86/pc103/4? amd-sc400?
>
>Currently there is no port of eCos to embedded x86 platforms, but such
>a port by Cygnus is now under consideration. This would target
>processors from the 386 upwards - support for earlier processors would
>be difficult because of compiler issues.
>
>Please see the section on porting in the sourceware FAQ for more
>details, http://sourceware.cygnus.com/ecos/faq.html
>
>Bart Veer // eCos net maintainer
>


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

* Re: [ECOS] probably a FAQ, but: how many x86 ports are in motionout there?
  1999-10-07  9:29 [ECOS] probably a FAQ, but: how many x86 ports are in motion out there? Roland Schwarz
@ 1999-10-07  9:53 ` Patrick O'Grady
  1999-10-08  1:45   ` [ECOS] probably a FAQ, but: how many x86 ports are in motion out there? Jesper Skov
  0 siblings, 1 reply; 8+ messages in thread
From: Patrick O'Grady @ 1999-10-07  9:53 UTC (permalink / raw)
  To: ecos-discuss, Roland Schwarz

On Thu, 7 Oct 1999, Roland Schwarz wrote:

> >>>>>> "John" == The Utz Family <utz@serv.net> writes:
> >
> >    John> whats the status on x86? x86/pc103/4? amd-sc400?
> >
> >Currently there is no port of eCos to embedded x86 platforms, but such
> >a port by Cygnus is now under consideration. This would target
> >processors from the 386 upwards - support for earlier processors would
> >be difficult because of compiler issues.
> >


Hi, all--

I've been working on this port over the past couple of weeks...  I've
added a 'pc' platform, which supports 'floppy' and 'ram' startups.  Here's
a quick status report:

- I have a prototype 'floppy' startup which allows an application to be
written on a 3.5" diskette.  This is how I've been running the GDB stub.

- The GDB stub is about 75% in place.  It doesn't know anything about
threads yet, and some of the exceptions aren't supported properly.
However, the breakpoint exception, is working great.

- I've just yesterday been able to get the clock ISR to work, so the 
threading support is next on the list.

- 'make tests' works fine, but only the hal tests (intr, context,
and cache) have been ran.  I'm sure that context still needs some work.

I'm hoping to have the threading stuff figured out by the end of next
week--I'll post it as soon as I feel like it's usable!  Stay tuned...

-patrick


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

* Re: [ECOS] probably a FAQ, but: how many x86 ports are in motion  out there?
  1999-10-07  9:53 ` [ECOS] probably a FAQ, but: how many x86 ports are in motionout there? Patrick O'Grady
@ 1999-10-08  1:45   ` Jesper Skov
  1999-10-11 13:03     ` [ECOS] hal/i386/pc Patrick O'Grady
  0 siblings, 1 reply; 8+ messages in thread
From: Jesper Skov @ 1999-10-08  1:45 UTC (permalink / raw)
  To: Patrick O'Grady; +Cc: ecos-discuss, Roland Schwarz

>>>>> "Patrick" == Patrick O'Grady <patrick@plasticgrape.com> writes:

[snip]
Patrick> - The GDB stub is about 75% in place.  It doesn't know
Patrick> anything about threads yet, and some of the exceptions aren't
Patrick> supported properly.  However, the breakpoint exception, is
Patrick> working great.

Patrick> - I've just yesterday been able to get the clock ISR to work,
Patrick> so the threading support is next on the list.
[snip]
Patrick> I'm hoping to have the threading stuff figured out by the end
Patrick> of next week--I'll post it as soon as I feel like it's
Patrick> usable!  Stay tuned...


Is it kernel thread support or GDB thread debugging support you want
to implement? The latter should come pretty much free with the
hal/common stub code.

Jesper

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

* [ECOS] hal/i386/pc...
  1999-10-08  1:45   ` [ECOS] probably a FAQ, but: how many x86 ports are in motion out there? Jesper Skov
@ 1999-10-11 13:03     ` Patrick O'Grady
  1999-10-12  1:29       ` [ECOS] hal/i386/pc Jesper Skov
  0 siblings, 1 reply; 8+ messages in thread
From: Patrick O'Grady @ 1999-10-11 13:03 UTC (permalink / raw)
  To: Jesper Skov; +Cc: ecos-discuss

On 8 Oct 1999, Jesper Skov wrote:

> >>>>> "Patrick" == Patrick O'Grady <patrick@plasticgrape.com> writes:
> 
> [snip]
> Patrick> - The GDB stub is about 75% in place.  It doesn't know
> Patrick> anything about threads yet, and some of the exceptions aren't
> Patrick> supported properly.  However, the breakpoint exception, is
> Patrick> working great.
> 
> Patrick> - I've just yesterday been able to get the clock ISR to work,
> Patrick> so the threading support is next on the list.
> [snip]
> Patrick> I'm hoping to have the threading stuff figured out by the end
> Patrick> of next week--I'll post it as soon as I feel like it's
> Patrick> usable!  Stay tuned...
> 
> 
> Is it kernel thread support or GDB thread debugging support you want
> to implement? The latter should come pretty much free with the
> hal/common stub code.
> 
> Jesper
> 

I've been running with CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT turned off;
after I understand more about eCos' thread contexts I'll play with this a
bit--so the current stub is incomplete.  I'm also having a problem updating
the values of the CPU registers:  if I stop a program, and 'print $eip', it
prints the right value; but when I 'print $eip=0x55aa', followed by a 'c',
it resumes from the breakpoint instead of my new address...  so I've got some
kind of register assignment problem.  It's kinda odd that I can read the
current values, but not modify them in a way that sticks.  I'm sure that
it's something simple...  so far it's been easier to just reboot the target
PC after finding bugs than to debug the stub itself!

The next thing I want to look over is the HAL code supporting context
switching:  The linux synthetic HAL_THREAD_SWITCH_CONTEXT macro works great
in the target PC when called as a function; but I'm not exactly sure how an
ISR (specifically the clock ISR) can create a preemptive context switch.  Since
the macro itself doesn't save all the registers (eax, ecx, edx), there seems
to be some other call which will save these registers (and maybe more) too.
It's quite likely that context switching code may be responsible for the
register amnesia noted above.  I also want to learn more about how DSRs are
called.

I've got a question about ISR stacks--what stack should ISRs switch to?  And
where is the proper place to define this--does the kernel reserve a stack, or
should I have the HAL do it transparently?  Is there a standard macro for
configuring it's length?  And finally, do you include any utility functions 
for detecting the actual amount of stack used--this is usually a very simple
routine which fills the stack buffer with some value (VxWorks uses 0xEE), and
later on searches through the buffer for the lowest point where it was
modified...  any clues here would be helpful.

Cheers...
-patrick



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

* [ECOS] Re: hal/i386/pc...
  1999-10-11 13:03     ` [ECOS] hal/i386/pc Patrick O'Grady
@ 1999-10-12  1:29       ` Jesper Skov
  0 siblings, 0 replies; 8+ messages in thread
From: Jesper Skov @ 1999-10-12  1:29 UTC (permalink / raw)
  To: Patrick O'Grady; +Cc: ecos-discuss

>>>>> "Patrick" == Patrick O'Grady <patrick@plasticgrape.com> writes:

Patrick> I've been running with CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
Patrick> turned off; after I understand more about eCos' thread
Patrick> contexts I'll play with this a bit--so the current stub is
Patrick> incomplete.  I'm also having a problem updating the values of

That's what I meant by "comes for free with hal common". There should
be no need for thread related handling in the architecture/platform
stub code.

Patrick> the CPU registers: if I stop a program, and 'print $eip', it
Patrick> prints the right value; but when I 'print $eip=0x55aa',
Patrick> followed by a 'c', it resumes from the breakpoint instead of
Patrick> my new address...  so I've got some kind of register
Patrick> assignment problem.  It's kinda odd that I can read the
Patrick> current values, but not modify them in a way that sticks.
Patrick> I'm sure that it's something simple...  so far it's been
Patrick> easier to just reboot the target PC after finding bugs than
Patrick> to debug the stub itself!

Hard to say what the problem is - but personally, I'd put that high on
the list of things to get fixed. Nothing beats a good debugging
environment when you have to nail those last bugs.

Patrick> The next thing I want to look over is the HAL code supporting
Patrick> context switching: The linux synthetic
Patrick> HAL_THREAD_SWITCH_CONTEXT macro works great in the target PC
Patrick> when called as a function; but I'm not exactly sure how an
Patrick> ISR (specifically the clock ISR) can create a preemptive
Patrick> context switch.  Since the macro itself doesn't save all the
Patrick> registers (eax, ecx, edx), there seems to be some other call
Patrick> which will save these registers (and maybe more) too.  It's
Patrick> quite likely that context switching code may be responsible
Patrick> for the register amnesia noted above.  I also want to learn
Patrick> more about how DSRs are called.

Indeed, the other architectures rely on the interrupt handler to save
part of the register set - the context save/restore functions really
only have to save the callee-save registers; all other registers
should be saved prior to function entry (by virtue of the ABI).

Patrick> I've got a question about ISR stacks--what stack should ISRs
Patrick> switch to?  And where is the proper place to define
Patrick> this--does the kernel reserve a stack, or should I have the
Patrick> HAL do it transparently?  Is there a standard macro for
Patrick> configuring it's length?  And finally, do you include any
Patrick> utility functions for detecting the actual amount of stack
Patrick> used--this is usually a very simple routine which fills the
Patrick> stack buffer with some value (VxWorks uses 0xEE), and later
Patrick> on searches through the buffer for the lowest point where it
Patrick> was modified...  any clues here would be helpful.

If you look in some of the other architectures' arch/../vectors.S
files, you'll see that the HAL defines an interrupt stack - there's
also a configuration variable for defining its size.

There's a simple implementation of a stack monitor in
kernel/.../include/tests, but I don't think it fills the stack
initially.

Jesper

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

* Re: [ECOS] probably a FAQ, but: how many x86 ports are in motion out there?
@ 1999-03-03 14:55 alex
  0 siblings, 0 replies; 8+ messages in thread
From: alex @ 1999-03-03 14:55 UTC (permalink / raw)
  To: ecos-discuss

>hi;
>
>just subscribed, etc
>
>whats the status on x86? x86/pc103/4? amd-sc400?
>
>thankyou!
>
>john utz
>
>utz@serv.net



The status seems to be that questions about the status
are not answered here :-)

I checked the FAQ, but whether status questions are 
answered or not isn't in it <hint>

Alex



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

* Re: [ECOS] probably a FAQ, but: how many x86 ports are in motion out there?
  1999-02-25 13:49 The Utz Family
@ 1999-03-02 13:56 ` Bart Veer
  0 siblings, 0 replies; 8+ messages in thread
From: Bart Veer @ 1999-03-02 13:56 UTC (permalink / raw)
  To: utz; +Cc: ecos-discuss

>>>>> "John" == The Utz Family <utz@serv.net> writes:

    John> whats the status on x86? x86/pc103/4? amd-sc400?

Currently there is no port of eCos to embedded x86 platforms, but such
a port by Cygnus is now under consideration. This would target
processors from the 386 upwards - support for earlier processors would
be difficult because of compiler issues.

Please see the section on porting in the sourceware FAQ for more
details, http://sourceware.cygnus.com/ecos/faq.html

Bart Veer // eCos net maintainer

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

* [ECOS] probably a FAQ, but: how many x86 ports are in motion out there?
@ 1999-02-25 13:49 The Utz Family
  1999-03-02 13:56 ` Bart Veer
  0 siblings, 1 reply; 8+ messages in thread
From: The Utz Family @ 1999-02-25 13:49 UTC (permalink / raw)
  To: ecos-discuss

hi;

just subscribed, etc

whats the status on x86? x86/pc103/4? amd-sc400?

thankyou!

john utz

utz@serv.net

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

end of thread, other threads:[~1999-10-12  1:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-07  9:29 [ECOS] probably a FAQ, but: how many x86 ports are in motion out there? Roland Schwarz
1999-10-07  9:53 ` [ECOS] probably a FAQ, but: how many x86 ports are in motionout there? Patrick O'Grady
1999-10-08  1:45   ` [ECOS] probably a FAQ, but: how many x86 ports are in motion out there? Jesper Skov
1999-10-11 13:03     ` [ECOS] hal/i386/pc Patrick O'Grady
1999-10-12  1:29       ` [ECOS] hal/i386/pc Jesper Skov
  -- strict thread matches above, loose matches on Subject: below --
1999-03-03 14:55 [ECOS] probably a FAQ, but: how many x86 ports are in motion out there? alex
1999-02-25 13:49 The Utz Family
1999-03-02 13:56 ` Bart Veer

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).