Method for supporting USB input devices via BIOS
AssigneeInventec Corporation
InventorAn Pang Hsieh
Life of this patent
Estimating the term…
Abstract
A method for supporting USB input devices via BIOS, which allows BIOS to support USB input devices when the motherboard does not have the keyboard controller (KBC). This method is especially applied to the operating systems that do not support the drivers for USB keyboard and mouse input devices, and BIOS can still support existing USB keyboard and mouse input devices. It is implemented by connecting two general purpose output pins of a south bridge (SB) on the hardware to an 8259 programmable interrupt controller (PIC) chip on the SB and revising some part of the internal program in BIOS to simulate and create hardware interruption requests IRQ1 and IRQ12. This can achieve the object of backward compatibility. and support usual chipsets on the market by merely revising the firmware.
Claims7
A method for supporting USB input devices via BIOS for the operating system to be able to use the USB input devices when the motherboard does not have a keyboard controller (KBC), which method comprises the steps of:
- creating a system management interrupt and entering system management memory when the user uses the USB input devices;
- getting input data from the USB input devices and judging the input data source;
- translating the input data into legacy data according to the input data source so that the service routine or OS driver can correctly read the legacy data;
- connecting a general purpose output pin on a south bridge to an 8259 programmable interrupt controller (PIC) chip on the SB so as to create a corresponding hardware interruption request (IRQ), and entering the interrupt service routine when the SMI finishes;
- getting the legacy data through the address 60h, creating the SMI and entering the SMM;
- de-asserting the GPO pin and thus IRQ from the USB service routine, and placing the translated legacy data into an al register stack in the CPU state saved area in the SMM;
- and
- determining if there is any data pending, and going to the step of creating a corresponding hardware interruption request if there is or ending if there is not.
Dependencies are inferred from the claim text.