From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: Re: Using Linux+dosemu to install Windows Date: Sun, 28 Jul 2002 11:09:10 +0400 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <3D439896.7080105@yahoo.com> Reply-To: stas.orel@mailcity.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060603090302050507040104" Return-path: List-Id: To: linux-msdos@vger.kernel.org Cc: Bart Oldeman This is a multi-part message in MIME format. --------------060603090302050507040104 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Hello. Bart Oldeman wrote: >> functionality. Then you can safely >> remove the "BUG" stuff I think. > Yes, that looks like the proper fix to me. We probably have to contact Alberto to find out if his tests are passed with that patches because my testcase for the "BUG" includes only FoxPro... >> > Would you accept such a patch? > That would be me. Well together with Stas' patch I would accept it. But that was: > But I do have time to > create a patch to allow people to enable the BUG: code from > dosemu.conf. and this patch we don't need anymore. The attached patch removes the "BUG" stuff leaving it only for the dosemu flags. It is always a good idea to have dosemu flags protected I think. How they got infected is still unclear however this doesn't seem to happen with my patches. --------------060603090302050507040104 Content-Type: text/plain; name="remove_bug.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="remove_bug.diff" --- src/arch/linux/async/sigsegv.c Sun Jul 28 10:51:57 2002 +++ src/arch/linux/async/sigsegv.c Sun Jul 28 10:52:23 2002 @@ -99,8 +99,10 @@ pushl %%eax\n \ popfl" \ : : "i"(~(AC|ID)) : "%eax"); +#if 0 _eflags &= ~(AC|ID); REG(eflags) &= ~(AC|ID); +#endif if (in_vm86) { in_vm86 = 0; --- src/dosext/dpmi/dpmi.c Sun Jul 28 10:51:02 2002 +++ src/dosext/dpmi/dpmi.c Sun Jul 28 10:51:30 2002 @@ -2172,12 +2172,14 @@ retval=DO_VM86(&vm86s); in_vm86=0; +#if 0 /* This will let foxpro run with cpu>=486 */ if (_EFLAGS & (AC|ID)) { _EFLAGS &= ~(AC|ID); if (debug_level('M')>3) D_printf("BUG: AC,ID set; flags changed to %08x\n",_EFLAGS); } +#endif if ( #ifdef TRACE_DPMI --- src/emu-i386/do_vm86.c Sun Jul 28 10:49:48 2002 +++ src/emu-i386/do_vm86.c Sun Jul 28 10:50:23 2002 @@ -474,12 +474,15 @@ } #endif /* USE_NEW_INT */ +#if 0 /* This will protect us from Mr.Norton's bugs */ if (_EFLAGS & (AC|ID)) { _EFLAGS &= ~(AC|ID); if (debug_level('g')>3) dbug_printf("BUG: AC,ID set; flags changed to %08x\n",_EFLAGS); } +#endif + if ( #ifdef X86_EMULATOR (debug_level('e')>1)|| --------------060603090302050507040104--