Browse Prior Art Database

Mouse Critical Region Resolution

IP.com Disclosure Number: IPCOM000035984D
Original Publication Date: 1989-Aug-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 4 page(s) / 130K

Publishing Venue

IBM

Related People

Bealkowski, R: AUTHOR [+3]

Abstract

This article describes a technique which allows interrupts from a personal computer (PC) keyboard to occur but still guards the mouse basic input-output system (BIOS) critical section.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 63% of the total text.

Page 1 of 4

Mouse Critical Region Resolution

This article describes a technique which allows interrupts from a personal computer (PC) keyboard to occur but still guards the mouse basic input-output system (BIOS) critical section.

In some PC systems the keyboard and mouse are controlled by a single peripheral chip. This chip is a universal peripheral interface (UPI) which acts as a micro-computer. The UPI accepts commands as well as performing the serial interface protocol to the keyboard and the mouse.

To preserve a level of compatibility with existing PCs, the UPI directs single data bytes written to its data port to the keyboard. In order to send data/commands to the mouse a two-byte sequence is required. The first byte, written to the UPI's command port, informs the UPI that the host wishes to transmit to the mouse. Upon acceptance of this command, the UPI waits for the next host write to its data port. When this occurs it takes that byte and transmits it to the mouse. This two-byte sequence is a critical section. The data/ command byte sent to the UPI and intended for the mouse must be immediately preceded by the command to the UPI to do so. Hence, the mouse BIOS guards its critical section by disabling interrupts from the time of the command output up till and including the data output. However, since keyboard inputs are asynchronous to the command output, there exists a window of time where an interrupt may be pending from this device that does not get serviced properl...