Changeset 60673 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Apr 23, 2016 1:01:49 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-CpuDetect.asm
r60672 r60673 142 142 ; The 286 stores 0xff in the high byte of the SIDT and SGDT base 143 143 ; address (since it only did 24-bit addressing and the top 8-bit was 144 ; reserved for the 386). This test prays for no NMIs while we 145 ; potentially modify the SIDT base (not an issue for bs3kit). 146 ; 147 cli 148 mov ax, 00ffh 144 ; reserved for the 386). ASSUMES low IDT (which is the case for BS3Kit). 145 ; 149 146 sidt [xBP - xCB*4 - 20h] 150 xchg ah, [xBP - xCB*4 - 20h + 2 + 3] 151 cmp ah, al 147 cmp [xBP - xCB*4 - 20h + 2 + 3], 0ffh 152 148 jne .386plus 153 %if 1 154 lidt [xBP - xCB*4 - 20h] 155 sidt [xBP - xCB*4 - 20h] 156 xchg ah, [xBP - xCB*4 - 20h + 2 + 3] 157 lidt [xBP - xCB*4 - 20h] 158 cmp ah, al 159 jne .386plus 160 %else 149 150 %if 0 161 151 ; 162 152 ; Detect 80286 by checking whether the IOPL and NT bits of EFLAGS can be … … 192 182 ; by a flaky POPF implementation, we assume this isn't the case in our 193 183 ; execution environment. 194 %endif184 %endif 195 185 .is_286: 196 186 mov ax, BS3CPU_80286
Note:
See TracChangeset
for help on using the changeset viewer.