diff --git a/sys/i386/isa/pcvt/pcvt_hdr.h b/sys/i386/isa/pcvt/pcvt_hdr.h index e58520abfd1..2078f5f2ac7 100644 --- a/sys/i386/isa/pcvt/pcvt_hdr.h +++ b/sys/i386/isa/pcvt/pcvt_hdr.h @@ -59,6 +59,7 @@ #include #include #include +#include #include #include #include diff --git a/sys/i386/isa/pcvt/pcvt_kbd.c b/sys/i386/isa/pcvt/pcvt_kbd.c index f7f946d697d..d1041964390 100644 --- a/sys/i386/isa/pcvt/pcvt_kbd.c +++ b/sys/i386/isa/pcvt/pcvt_kbd.c @@ -751,6 +751,8 @@ loop: { keybuf[0] = dt; + random_harvest(keybuf, sizeof(keybuf), 1, 0, RANDOM_KEYBOARD); + return ((u_char *)keybuf); } @@ -825,6 +827,8 @@ loop: /* got a normal scan key */ regular: + random_harvest(&dt, sizeof(dt), 1, 0, RANDOM_KEYBOARD); + #if PCVT_SCANSET == 1 kbd_status.breakseen = dt & 0x80 ? 1 : 0; dt &= 0x7f;