SSE in DOS under JEMM386 ?? (DOSX)
> Turn off the Emulate Math bit and turn on the Monitor Processor bit
> (something about FPU WAIT or whatever). Then, turn on the OSFXSR bit (if
> available, to tell the cpu that the OS supports SSE).
(quoting Intel's 25366821.PDF, aka "Intel 64 and IA-32 Architectures
Software Developer's Manual Volume 3A: System Programming Guide, Part 1"):
"As on the Intel 286 and Intel386 processors, the MP (monitor coprocessor) flag (bit 1 of register CR0) determines whether the WAIT/FWAIT instructions or waiting-type floating-point instructions trap when the context of the x87 FPU is different from that of the currently-executing task. If the MP and TS flag are set, then a WAIT/FWAIT instruction and waiting instructions will cause a device-not-available exception (interrupt vector 7). The MP flag is used on the Intel 286 and Intel386 processors to support the use of a WAIT/FWAIT instruction to wait on a device other than a math coprocessor. The device reports its status through the BUSY# pin. Since the P6 family, Pentium, and Intel486 processors do not have such a pin, the MP flag has no
relevant use and should be set to 1 for normal operation."
This is in contrast to Causeway/CW402's source:
.586p
mov eax,1
cpuid
and edx,3000000h ; only want SSE and FXSR bit status
cmp edx,3000000h
jne nosse ; both bits required
mov eax,cr0
and al,NOT 6 ; clear EM and MP bits
mov cr0,eax
mov eax,cr4
or ax,200h ; set OSFXFR bit to allow SSE instructions
mov cr4,eax
But Intel also says flags should be set as this for a 486 Sx (which has no FPU): EM (1), MP (0), NE (1).
> Floating-point instructions trap to emulator; WAIT/FWAIT and
> other waiting-type instructions ignore TS.
Okay, a bit out of my league, but I still found it interesting.
---
Know your limits.h
Complete thread:
- SSE in DOS under JEMM386 ?? - Rugxulo, 03.01.2008, 06:54 (DOSX)
- SSE in DOS under JEMM386 ?? - DOS386, 03.01.2008, 08:12
- SSE in DOS under JEMM386 ?? - Rugxulo, 04.01.2008, 01:03
- SSE in DOS under JEMM386 ?? - Japheth, 03.01.2008, 09:19
- SSE in DOS under JEMM386 ?? - Rugxulo, 04.01.2008, 01:05
- SSE in DOS under JEMM386 ?? - Japheth, 04.01.2008, 09:44
- SSE in HDPMI / bug (c/c) - DOS386, 04.01.2008, 10:20
- SSE in HDPMI / bug (c/c) - Japheth, 04.01.2008, 11:12
- SSE in HDPMI / bug (c/c) - Rugxulo, 04.01.2008, 22:39
- SSE in HDPMI / bug (c/c) - Japheth, 04.01.2008, 11:12
- SSE in DOS under JEMM386 ?? - Rugxulo, 07.01.2008, 14:49
- SSE in DOS under JEMM386 ?? - Japheth, 07.01.2008, 17:42
- SSE in DOS under JEMM386 ?? - Rugxulo, 09.01.2008, 01:23
- SSE in DOS under JEMM386 ?? - Rugxulo, 09.01.2008, 10:46
- SSE in DOS -> Illegal Instruction Exception - DOS386, 10.01.2008, 01:22
- SSE in DOS -> Illegal Instruction Exception - Steve, 10.01.2008, 08:46
- SSE in DOS -> alignment issues - Rugxulo, 10.01.2008, 22:21
- SSE in DOS under JEMM386 ?? - Japheth, 10.01.2008, 17:19
- SSE in DOS -> Illegal Instruction Exception - DOS386, 10.01.2008, 01:22
- SSE in DOS under JEMM386 ?? - Rugxulo, 09.01.2008, 10:46
- SSE in DOS under JEMM386 ?? - Rugxulo, 09.01.2008, 01:23
- SSE in DOS under JEMM386 ?? - Japheth, 07.01.2008, 17:42
- SSE in HDPMI / bug (c/c) - DOS386, 04.01.2008, 10:20
- SSE in DOS under JEMM386 ?? - Japheth, 04.01.2008, 09:44
- SSE in DOS under JEMM386 ?? - Rugxulo, 04.01.2008, 01:05
- SSE in pure DOS - Rugxulo, 04.01.2008, 06:09
- Secure Socket Extremism in DOS | You maybe have a Page Foul - DOS386, 04.01.2008, 07:52
- SSE in DOS | Page Fault | JEMM386 / HDPMI32 - Rugxulo, 04.01.2008, 22:47
- SSE in DOS | Page Fault <- YES, your bug | HDPMI32 - DOS386, 05.01.2008, 02:19
- SSE2 in DOS | PAQ8o8z (Jan. 6) - Rugxulo, 06.01.2008, 05:09
- SSE2 in DOS | PAQ8o8z (Jan. 6) - DOS386, 08.01.2008, 02:00
- SSE2 in DOS | PAQ8o8z (Jan. 6) - Rugxulo, 06.01.2008, 05:09
- SSE in DOS | Page Fault <- YES, your bug | HDPMI32 - DOS386, 05.01.2008, 02:19
- SSE in DOS | Page Fault | JEMM386 / HDPMI32 - Rugxulo, 04.01.2008, 22:47
- Secure Socket Extremism in DOS | You maybe have a Page Foul - DOS386, 04.01.2008, 07:52
- MS the "only hope"? - Japheth, 04.01.2008, 12:11
- MS the "only hope"? - RayeR, 04.01.2008, 18:09
- MS the "only hope"? - Japheth, 04.01.2008, 19:16
- MS the "only hope"? - RayeR, 04.01.2008, 22:17
- MS the "only hope"? (Vista DPMI bug: 32 MB max.) - Rugxulo, 04.01.2008, 22:31
- MS the "only hope" ? NOT for me !!! - DOS386, 05.01.2008, 02:22
- MS the "only hope" ? NOT for me !!! - RayeR, 05.01.2008, 18:58
- MS the "only hope" ? NOT for me !!! Multiboot - DOS386, 08.01.2008, 01:47
- NTVDM forever! - Japheth, 08.01.2008, 09:02
- MS the "only hope" ? NOT for me !!! Multiboot - Steve, 08.01.2008, 13:54
- MS the "only hope" ? NOT for me !!! Multiboot - Rugxulo, 09.01.2008, 01:19
- MS the "only hope" ? NOT for me !!! Multiboot - RayeR, 14.01.2008, 21:34
- MS the "only hope" ? NOT for me !!! Multiboot - DOS386, 08.01.2008, 01:47
- MS the "only hope" ? NOT for me !!! - RayeR, 05.01.2008, 18:58
- A TSR worth a try in Vista - Japheth, 05.01.2008, 11:04
- A TSR worth a try in Vista - Rugxulo, 05.01.2008, 21:08
- A TSR worth a try in Vista - Khusraw, 07.01.2008, 11:06
- A TSR worth a try in Vista - Rugxulo, 07.01.2008, 14:44
- A TSR worth a try in Vista - Japheth, 07.01.2008, 17:34
- A TSR worth a try in Vista - Rugxulo, 09.01.2008, 01:09
- A TSR worth a try in Vista - Khusraw, 07.01.2008, 11:06
- A TSR worth a try in Vista - Rugxulo, 05.01.2008, 21:08
- MS the "only hope" ? NOT for me !!! - DOS386, 05.01.2008, 02:22
- MS the "only hope"? - Japheth, 04.01.2008, 19:16
- MS the "only hope"? - RayeR, 04.01.2008, 18:09
- SSE in DOS under JEMM386 ?? - DOS386, 03.01.2008, 08:12