On Sat, 11 Feb 2012, Andreas F?rber wrote:
> Am 10.02.2012 11:26, schrieb ???:
> > On Fri, Feb 10, 2012 at 08:14:41AM +0000, Stefan Hajnoczi wrote:
> >> On Thu, Feb 09, 2012 at 06:33:16PM +0800, ??? wrote:
> >>> I am running a tiny OS on QEMU and debugging it with gdbstub. The tiny OS
> >>> will
> >>> fork process 1, 2, ... and so on. I want to follow the child process,
> >>> [...]
> >>>
> >>> Is there a way to do what I'm trying to do? Thanks!
>
> > ----------------- Tiny OS code -----------------------------
> > void main(void) /* This really IS void, no error here. */
> > {
> > /* initialize enviroment */
> >
> > sti();
> > move_to_user_mode();
> > if (!fork()) { /* we count on this going ok */
> > init(); // task 1
> > }
> >
> > for(;;) pause(); // task 0
> > }
> > ------------------------------------------------------------
> >
> > I am running this tiny OS on QEMU then using GDB to connect it.
> > I want to follow task 1 after the forking, [...]
>
> Since this seems to be your code, if this were PowerPC I'd simply try to
> place via inline assembler a trap instruction first thing inside the
Being hardcore are we? __builtin_trap () is there for a reason.
> init() function. That can easily be caught in gdbstub.
>
> Depending on what you really want to do, you could always try some
> printf-style output to serial. ;)
>
> Andreas
>
>
--
mailto:[email protected]