Add comments about the validation.

This commit is contained in:
Xin LI 2011-06-11 01:19:19 +00:00
parent 280e091a99
commit 97ae66672f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222967

View File

@ -1097,6 +1097,15 @@ get_typematic(keyboard_t *kbd)
x86regs_t regs;
uint8_t *p;
/*
* Traditional entry points of int 0x15 and 0x16 are fixed
* and later BIOSes follow them. (U)EFI CSM specification
* also mandate these fixed entry points.
*
* Validate the entry points here before we proceed further.
* It's known that some recent laptops does not have the
* same entry point and hang on boot if we call it.
*/
if (x86bios_get_intr(0x15) != 0xf000f859 ||
x86bios_get_intr(0x16) != 0xf000e82e)
return (ENODEV);