3 ms·
Note that INT1 was originally called ICEBP before Intel finally documented it publicly (very recently).
by userbinator 10d ago
Note that INT1 was originally called ICEBP before Intel finally documented it publicly (very recently).
- rep_lodsb 9d agoYes, and it's not quite the same as a normal "INT 01h". It causes a debug exception, which may enter ICE mode if it is enabled (undocumented bit in DR7, or PMCR on Pentium), otherwise it invokes interrupt 1, but without checking the privilege level on the IDT entry, or the interrupt redirection bitmap in V86 mode. https://www.rcollins.org/secrets/opcodes/ICEBP.html https://www.rcollins.org/secrets/opcodes/ICEBP.html IIRC, older versions of the Linux kernel had a security bug because they didn't expect this to happen. ICE mode was sort of a precursor to SMM, but both also coexisted for a time with slightly different behaviour. It was introduced in the 286, where instead of ICEBP there was "STOREALL" (opcode 0F04). F1 on that processor was a prefix instead, with the same function as UMOV on 386+. If you use them together - something Intel probably didn't intend - you can dump the internal CPU state to memory on a regular non-bond-out chip. https://rep-lodsb.mataroa.blog/blog/intel-286-secrets-ice-mode-and-f1-0f-04/ https://rep-lodsb.mataroa.blog/blog/intel-286-secrets-ice-mo...