Re: [patch][rfa] Multi core debugging with GDB

Dave Brolley <[email protected]>
Newsgroups gmane.comp.emulators.sid.devel
Message-ID <[email protected]>
Approved by fche and committed with the attached modification to ensure 
that all data gets flushed.

Dave Brolley wrote:

> Hi,
>
> Debugging multiple cores with multiple instances of GDB within a 
> simulation is currently possible by specifying a separate --gdb option 
> after each --board and specifying a different port for each GDB 
> instance. The simulation ends (as it does without GDB) when the first 
> core exits. However, the other GDB instances all report "Watchdog 
> expired.  Target disconnected". This was because of three problems:
>
> 1) The "enabled?", "enable-threshold",  "yield-host-time?" and 
> "yield-host-time-threshold" of the host scheduler were not being set. 
> This caused the host scheduler to yield host time after the first GDB 
> stub exited.
>
> 2) The other GDB stubs were not properly notifying their GDB clients 
> that they were exiting
>
> 3) Even after proper notfication and yielding were implemented, the 
> packets never reached their GDB clients because their socket 
> components were never polled again which was because the host 
> scheduler was never advanced again which was because the whole shut 
> down process was initiated when the first GDB stub drove main's 
> "stop!" pin. This problem is corrected by having the sockets do one 
> final transmit when their "fini" pins are driven by shutdown-sequence.
>
> The result is an orderly shutdown of the GDB stubs and their clients.
>
> OK to commit?
>
> Dave
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.