delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/12/15/09:16:20

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 <eliz AT is DOT elta DOT co DOT il>,
Pierre Muller <muller AT cerbere DOT u-strasbg DOT fr>
From: Pierre Muller <muller AT cerbere DOT u-strasbg DOT fr>
Subject: Comment on NT4 DPMI BUG (303h, Allocate Real-Mode Callback)
Cc: Peter Johnson <locke AT mcs DOT net>, djgpp AT delorie DOT com
References: <199912131743 DOT SAA15432 AT cerbere DOT u-strasbg DOT fr>
Mime-Version: 1.0
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019