Comments (7)
I can confirm that if I manually enter the RDTSC opcode in DOS DEBUG and try to single-step it, that the system hangs in the same way.
from doslib.
Because of this issue, the CPU library now has a flag to indicate not to use the RDTSC instruction. For now, that flag is set if the build is 16-bit and virtual 8086 mode is active.
from doslib.
I will update that code to not set the flag if it can recognize whether or not the v86 monitor permits RDTSC. Perhaps FreeDOS has a better implementation. Perhaps MS-DOS 6.22 and earlier don't have this issue, or perhaps Microsoft fixed this in Windows 98 DOS mode. I'll need to test this.
from doslib.
This was observed on an old Pentium 133MHz test system with Windows 95 DOS mode on a CF card.
from doslib.
TODO: Which MSR controls whether user-space can access RDTSC, by the way? I understand there's another one for whether or not user-space can use CPUID.
from doslib.
A-ha:
https://en.wikipedia.org/wiki/Control_register#CR4
from doslib.
The P133 does not support rdtsc in v86 mode: http://www.os2museum.com/wp/undocumented-rdtsc/
from doslib.
Related Issues (20)
- Ouch! Watcom C int86/int86x() function ultimately adds 780 bytes to your MS-DOS executable! HOT 1
- 8254 library: Figure out how to detect what mode the PIT is running in
- 16-bit builds of DOSAMP hang on "old" 486 test unit with Pro Audio Spectrum
- DOSAMP needs debug spew
- PC-98 validation tasks
- hw/dos himemsys.c functions assume 32-bit registers, cannot run on 286 processors HOT 1
- TMODESET.EXE VGA planar capture not compatible with IBM PS/2 model 30 VGA hardware HOT 3
- VGA: Tandy detection assumes Tandy graphics HOT 1
- tool/linker/lnkdos16.c need to forbid symbols in STACK segment unless EXE
- REMSRV vs PC-9821Lt2: Get PIT 2 (RS-232C baud rate clock) to cycle HOT 3
- DOSLIB shell scripts don't work on ubuntu 18.04 HOT 3
- Cleanup Watcom compilation, setup, as recommended by @jmalak, and remove old sarcastic remarks that have outlived their usefulness. HOT 66
- Utility to read and print PC-98 IPL1 partition tables
- HW/ADLIB test program to drive OPL3 to generate high frequencies to detect later chips that resample to 44.1KHz HOT 1
- TASK: Write hw/cpu test case to show LMSW behavior
- Build system usage is really unclear
- VGA240 and not enough memory
- DSXMENU feature request: Can we have a plain text line? HOT 1
- cant compile on debian 11 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from doslib.