mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-05-22 13:43:46 -05:00
Windows MBR bootloader: reduce CPU usage during password prompt (Credit: Jason Pyeron of CipherShed project https://github.com/CipherShed/CipherShed/commit/00ea00e8e6a23a4243316f860aa07ed59203ab97)
This commit is contained in:
@@ -238,11 +238,32 @@ byte GetKeyboardChar ()
|
||||
return GetKeyboardChar (nullptr);
|
||||
}
|
||||
|
||||
/*
|
||||
inline void Sleep ()
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov al, 0
|
||||
mov ah, 0x86
|
||||
// Sleep for 250 milliseconds = 250 000 microseconds = 0x0003D090
|
||||
mov cx, 0x0003
|
||||
mov dx, 0xD090
|
||||
int 0x15
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
byte GetKeyboardChar (byte *scanCode)
|
||||
{
|
||||
// Work around potential BIOS bugs (Windows boot manager polls the keystroke buffer)
|
||||
while (!IsKeyboardCharAvailable());
|
||||
while (!IsKeyboardCharAvailable())
|
||||
{
|
||||
// reduce CPU usage by halting CPU until the next external interrupt is fired
|
||||
__asm
|
||||
{
|
||||
hlt
|
||||
}
|
||||
}
|
||||
|
||||
byte asciiCode;
|
||||
byte scan;
|
||||
|
||||
Reference in New Issue
Block a user