From: eyal AT fir DOT canberra DOT edu DOT au (Eyal Lebedinsky) Subject: SVGA page fault risk. To: djgpp AT sun DOT soe DOT clarkson DOT edu Date: Sat, 14 Aug 93 15:20:28 EST Hello everyone, Writing some higher performance graphics for djgpp I came across a machine lockup situation. After much testing it turned out to be a simple design 'feature' gone astray. If one moves data into video memory, the extender will trap page faults and swap the pages. This is a nice feature; However, if one writes using a word or long instruction and the page is crossed during the instruction then an infinit loop of page faults and page swap will happen. Every time that the instruction is restarted it will fault on either the first bytes or on the last bytes. It will never have both pages active. Actualy, this showed me a bug in my program since I was trying to alighn the VGA access, but there you have it. Here is a program to use for locking your machine: #include int main () { printf ("before fffc\n"); fflush (stdout); *(long *)0xd000fffc = 0x01010101; printf ("after fffc\n"); fflush (stdout); printf ("before fffd\n"); fflush (stdout); *(long *)0xd000fffd = 0x01010101; printf ("after fffd\n"); fflush (stdout); return (0); } -- Regards Eyal Lebedinsky eyal AT ise DOT canberra DOT edu DOT au