This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: Multi thread Debugging


Fabrice Gautier <Fabrice_Gautier@sdesigns.com> writes:

> > -----Original Message-----
> > From: Nick Garnett [mailto:nickg@cygnus.co.uk]
> > Subject: Re: [ECOS] Multi thread Debugging
> > 
> > All your observations are correct. The main problem is that thread
> > saved contexts and interrupt saved contexts are different. In all
> > other HALs they are the same. I suspect that the simplest fix for now
> > is to change the format of the HAL_SavedRegisters structure to echo
> > that pushed by "pusha" and replace the "movl"s in context.S with
> > "pusha" and "popa". Then most references to this structure will work
> > as intended (give or take a few fixes elsewhere).
> 
> I fear this is not so simple.
> 
> There is a problem too with exception handling. This is critical because of
> the handling of the INT3 debug exception.
> 
> It seems that in the current design (refering to plf_stub.c) the register
> are saved to a structure when an INT3 occurs. And this structure does not
> match any other of our context structures...
> 
> Exception handling in the stub is not handled in the way the Interrupts
> are...(The exceptions are not handled by the kernel, only by the stub it
> seems)
> 

This is because the code in the stubs is derived from non-eCos sources
for supporting GDB, and is not fully integrated. It's not very clean
and we need to sort it out, but at present we don't have the resources
here to do it. 

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


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