Message-Id: <199912151206.NAA05912@cerbere.u-strasbg.fr> X-Sender: muller AT ics DOT u-strasbg DOT fr X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0.2 Date: Wed, 15 Dec 1999 12:55:44 +0100 To: Eli Zaretskii , Pierre Muller From: Pierre Muller Subject: Comment on NT4 DPMI BUG (303h, Allocate Real-Mode Callback) Cc: Peter Johnson , djgpp AT delorie DOT com References: <199912131743 DOT SAA15432 AT cerbere DOT u-strasbg DOT fr> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Reply-To: djgpp AT delorie DOT com About using a new selector to overcome WinNT bug about call 0x303 in DPMI int. I now remember that there is a problem hidden in the fact that we use another selector : So code might rely on the fact that the ES selector is a vaild selector for the normal DJGPP data space because they used %ds value or more likely __djgpp_ds_alias (the one that never gets invalidated !) (I agree that you can reload %ds using mov %cs:__djgpp_ds_alias,%ax;movw %ax,%ds nevertheless, I am pretty sure I saw somewhere code making this assumption that the entry ES selector is the one given when calling the 0x303 function !) So for code that assume such equalities the workaround of using a new selector with a different base could lead to big problems ! This is one more reason to only use a different selector if its REALLY needed ! Pierre Muller Institut Charles Sadron 6,rue Boussingault F 67083 STRASBOURG CEDEX (France) mailto:muller AT ics DOT u-strasbg DOT fr Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99