On Sat, 28 Feb 2004 16:16:34 +0100, Steffen Kaiser wrote:

Well, but because those two are assigned to the terminate address of process0, you must initialize them. Regardless from where you start the Load-Process0 function.

Done now, but obviously your warning below is right.


Um, BTW: process0 must also have a nice ParentPSP, because return_user() takes the SS/SP from there and happily pokes the termination address there. (Well, I did reported this as security hazard years back, e.g. debuggers and TSR might do PSP switching and, hence, destroy there own SS/SP fields - but I never read that you have to preserve these fields).

Indeed, when I checked SS:SP of DOS_PSP (the parent of Process 0), it turned out that it points to the INIT segment! So here's why CS:IP don't restore correctly! But to what value I must initialise SS:SP of DOS_PSP, when I aim Process 0 to go to newShell() in HMA_TEXT on termination with Fn 4C?


Also, You have to deal with a reset INT-24, hence, restoring it to the internal autofail routine is a good idea; same as INT-23.

OK, but let's postpone these after Int 22 starts working (i.e. after we solve the stack problem).


Last not least, I'm now happy to see that you're a kernel expert too (besides Bart and Tom ;-)

Thanks,
Lucho


------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to