[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bochs-dev
Subject:    Another bochs bug (CPU identification stuff)
From:       "Kevin P. Lawton" <kevin () bochs ! com>
Date:       1999-09-29 8:58:21
[Download RAW message or body]

This one fixes software which detects the CPU level.
After I patched it, the NT setup prog stopped
complaining, Win'95 reports 486, checkit reports
486 and another old program SI.EXE reports 486.

In cpu/flag_ctrl_pro.cc, function ::read_eflags()
comment out or delete the following section:

  if (real_mode()) {
    eflags_raw &= 0x7FFF;  /* 80386 in real mode nature */
    }

Actually, you can get rid of the same in ::read_flags()
as well.  This was a relic from the past, and it doesn't
let the EFLAGS.AC bit pass through (bit18), for the
32bit case.  The code above doesn't do anything useful
for the 16bit case either since I always leave bit15==0.

Most CPU detection progs diddle the EFLAGS.AC bit first.
If it can be changed, then you have at least 486.  Then
they go on to play with the EFLAGS.ID bit to see if the
CPUID instruction can be run.

-Kevin


-- 
         To unsubscribe: mail bochs-developers-request@redhat.com with 
                       "unsubscribe" as the Subject.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic