-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 15/06/10 00:07, Andrew Dennison wrote:
[...]
> Arm integrator and i386 both have non-mmu ports. I've run all four
> options (arm integrator and i386 both with and without mmu) using
> qemu.

Thank you for pointing me at that --- I'd seen pc-nommu but couldn't
make it build; I only now discovered the --profile option to ./configure.

I think I've figured out my vfork problem --- I wasn't correctly
updating context->uregs on system calls. There's a bit of very subtle
code to do with the location of context->uregs and the kernel stack
which means that it's not obvious where this happens. My understanding is:

- - context->uregs is located at the top of the kernel stack.

- - when a system call occurs, the stack point is reset to the top of the
kernel stack.

- - the first thing the system call entry code does is to push the
registers onto the kernel stack, so populating the context->uregs
structure with the current values for this thread.

- - now the stack pointer is immediately *below* context->uregs, and we're
ready to run the kernel code.

This explains a number of oddities which I was having trouble figuring out.

I haven't fixed my H8300S port yet, but I intend to comment it copiously...

- -- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "Money is a sign of poverty." --- Iain Banks
│
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFMGAaLf9E0noFvlzgRAuFXAKCcOpnrZ91XnFMzeE1o68fFz38ncQCgjMdV
ZDGfuV2QG7mEwc20oygif4U=
=7nUe
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Prex-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/prex-devel

Reply via email to