aboutsummaryrefslogtreecommitdiffstats
path: root/mbr/adjust.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2014-04-17 20:38:11 -0700
committerH. Peter Anvin <hpa@zytor.com>2014-04-17 20:38:11 -0700
commitfdad168405fd97471f5086dee84b2ebe14e314d3 (patch)
treeb17be9a4e4c8d134b835468fe4b2940f1d46bb88 /mbr/adjust.h
parentde403416f573e2e6f8c88a90b882dd5e071fb7f0 (diff)
downloadsyslinux-fdad168405fd97471f5086dee84b2ebe14e314d3.tar.gz
syslinux-fdad168405fd97471f5086dee84b2ebe14e314d3.tar.xz
syslinux-fdad168405fd97471f5086dee84b2ebe14e314d3.zip
bios: Use int 0x16, ah=0x02 to probe for shift flagssyslinux-6.03-pre10
At least one USB keyboard BIOS has been reported to not properly handle the keyboard flags in memory. See if actually using INT 16h works better. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'mbr/adjust.h')
-rw-r--r--mbr/adjust.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/mbr/adjust.h b/mbr/adjust.h
index 42c12a35..ce8716eb 100644
--- a/mbr/adjust.h
+++ b/mbr/adjust.h
@@ -1,6 +1,6 @@
/* -*- asm -*- -----------------------------------------------------------
*
- * Copyright 2009 Intel Corporation; author: H. Peter Anvin
+ * Copyright 2009-2014 Intel Corporation; author: H. Peter Anvin
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -36,7 +36,11 @@
#ifdef CTRL_80
.macro ADJUST_DRIVE
- testb $0x04, BIOS_kbdflags
+ pusha
+ movb $0x02, %ah
+ int $0x16
+ testb $0x04, %al
+ popa
jz 1f
movb $0x80, %dl
1: