-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
weird disk issue in vmware #22
Comments
I'm getting a stroke debugging this. At first I thought it might have been hypercall related, so I swaddled the hypercalls with saving the extended registers (in case it's the high word getting clobbered). No dice. Save ESI/EDI (maybe EBP) too. No dice. Swaddle in CLI/STI in case it's interrupts. No dice. Start to rip out the hypercalls. No dice. Completely disconnect What the hell is going on here? At this point I'm suspecting it's invalid and an issue with my VM, but why does it not do it w/ the stock mouse driver and only my driver? |
OK, I pared it back to basically:
And it still has an issue. Not sure what's going on at this point - VMware, or my VM? There's basically nothing to fault on anymore. |
FWIW I can reproduce the VMware disk issue without the driver (it seems to be CD?) but I can also reproduce it in another VM where the only real variable seems to be this driver. Eeep! |
This has been escalated to VMware a while ago. We'll see what they think. |
Mentioned before in #21 (where pics/gist are) but tl;dr is weird disk request when loading Windows. - With a fresh 3.11+DOS 6.2 (my main VM is WfW/DOS 5.0, seen it there sometimes but unsure why) seems to happen when not loading any CD drives/not setting last drive. Doesn't seem to occur under the debugger. It doesn't happen in standard (286) mode.
My guess is:
Thus, I think the hypercalls mangling extended registers is probably putting some future call by a disk subsystem at play. Problem is, where (which subsystem?) and why (I thought most Windows 3.x 386 stuff would be in the VMM isolated from this or know extended registers are mangled.). The fact it's 3.11 means there's no 32-bit disk/file access, but might be something like smartdrive?
Mitigation might be to save EAX-EDX anywhere we do hypercalls.
The text was updated successfully, but these errors were encountered: