joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.53k stars 371 forks source link

Invalid TSS #4971

Open awik32 opened 2 months ago

awik32 commented 2 months ago

Describe the bug

DOSBox-X exits with an error message:

LOG: E_Exit: TSS not busy for IRET
E_Exit: TSS not busy for IRET

when trying to IRET to V86 mode with the NT bit set in EFLAGS.

Instead of terminating, it should generate an "Invalid TSS" exception (interrupt 0Ah). At least that's what VMware does.

Steps to reproduce the behaviour

Run a program that: (a) enters protected mode (b) sets the NT bit in EFLAGS (c) uses IRET (from ring 0) to enter V86 mode.

I have a test program -- let me know if you need it.

Expected behavior

I expect an Invalid TSS (interrupt 0Ah) exception to be generated.

What operating system(s) this bug have occurred on?

Linux Mint 21.3

What version(s) of DOSBox-X have this bug?

dosbox-x-linux-x86_64-20240402155044.zip

Used configuration

Nothing relevant AFAIK.

Output log

LOG: E_Exit: TSS not busy for IRET
E_Exit: TSS not busy for IRET

Additional information

No response

Have you checked that no similar bug report(s) exist?

Code of Conduct & Contributing Guidelines