I have some problem with switching to x86 mode in my driver.
I use command iretq to jump to another segment. Right after jump I get needed value fo CS and SS registers, but next instruction reverts back my segments to x64 mode (0x10 and 0x18).
Hello Tim, thank you for the response. Why do you think so? CPU can be switched into Compatibility mode and so 32 bit code can be executed in this mode.
Last time I looked, segments 0x08 and 0x38 were unused, and there was no GDT entry for a code segment in compat mode in ring 0. Have you written your own entries to the GDT?
Maybe, but not necessarily. I remember 100 years ago in Windows 3.1, our display drivers often shifted the chip into 32-bit mode for better performance.