
SiS5595 PCI System I/O Chipset
Preliminary V2.0 Nov. 2, 1998 57 Silicon Integrated Systems Corporation
Writing A4h to I/O port 64h directs the SiS5595/KBC to store the successive data written
through I/O port 60h into the password string register until character 00h is input. ‘00h’ is
regarded as the end code of the password. Enabling the password security is done by
programming I/O port 64h with data A6h. Once being initiated in this mode, the KBC won’t
issue IRQ1 to invoke the KB interrupt service routine until the input string matches the
password. Thus, the system can be protected from invading to some degree.
Moreover, a more user friendly interface or higher security service has led to the request of
the password security power up function. A specific power pin, called KBVDD is allocated for
the whole KBC circuitry in the SiS5595 to support the function. A power conversion circuit is
required to forward power to the SiS5595’s KBC, and the keyboard. During the powered-
down state of the power rails (including 3.3V,
±
5V,
±
12V), AUX5V supplies power to the
KBC, and the keyboard. Upon the moment that VDD is gone away, the pattern recognition
circuitry inside KBC is automatically configured to process the input keyboard string. Once
the input string matches the pre-loaded password, the PS_ON# is asserted to turn on the
ATX power supply if the password security power up function is enabled.
The following illustrates a procedure to regulate the password security and hot-key power up
functions in application. It is highly recommended that the BIOS programmers could follow
the sequence in the procedure. For the simplicity and readability, the events that the power
up function is altered in the sequence are not included in our procedure. For example, the
system was powered up by pressing password and the user want to power up the system by
hot-key next time. However, such events are practicable.
3.8.5.1 Procedure Regulating the Password Security and Hot-key Power up Functions
If (!CMOS_Valid)
Initialize( );
/* Initialize all CMOS setting */
else { if PSUP_SET
/* User has enabled KB password security
power up function */
/* User has enabled KB hot-key power up
function */
/* PSUP_SET and HK_SET are software
Password_Check( );
else if HKUP_SET
Hotkey_Check( );
else
Password_or_Hotkey_Setting( ); variable used to regulate the functions */
}
Continue BIOS Posting;
Initialize( )
{Clear PSUP_SET;
Clear HKUP_SET;
Password_or_Hotkey_Setting( );
}
Password_Check( )
{If KBP_LST
{Clear KPR_LST;
Request the user to enter the password string [*1] and identify it;
Reload password string into KBC;
Enable PSUP_EN ;
Disable BTNUP_EN; [*2]
}
else Reload password string into KBC ; /* Keyboard power is not lost and the
}
/* Keyboard power had ever lost */
/* Enter second level security protection */
system is powered up by KBC */