Browse Prior Art Database

Method to provide a generalized external interrupt model in the EFI framework

IP.com Disclosure Number: IPCOM000016690D
Publication Date: 2003-Jul-09
Document File: 4 page(s) / 51K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to provide a generalized external interrupt model in the extensible firmware interface (EFI) framework. Benefits include improved performance, improved support for future technologies, and improved ease of implementation.

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

Method to provide a generalized external interrupt model in the EFI framework

Disclosed is a method to provide a generalized external interrupt model in the extensible firmware interface (EFI) framework. Benefits include improved performance, improved support for future technologies, and improved ease of implementation.

Background

        � � � � � EFI services conventionally provide only a single timer-tick for use by the EFI core (see Figure 1). Any devices that service periodic phenomena or device interactions can poll the device in a blocking fashion or poll the hardware in a timer-callback. To provide a more timely response, the EFI timer-tick must be of a sufficiently high frequency. Users have complained about the poor network performance. The only tunable parameter has been the EFI timer tick to poll the network interface in a more timely fashion, which limits scalability.

        � � � � � Platform developers are conventionally encouraged to use polling for device support. For a large server that has several devices, polling the hardware wastes computation time.

Description

        � � � � � The disclosed method is a generalized device-interrupt model for the extensible firmware interface (EFI). The method includes a task priority level (TPL) structure, which prioritizes interrupt requests and enables boot-service agents to register for a device interrupt (see Figures 2 and 3).

        � � � � � The disclosed method results in device performance that can reach the theoretical maxima of the device. EFI runs in physical mode with no table look-aside buffer (TLB) translations or page faults. As a result, the EFI performance with respect to the I/O device can exceed that of the performance drivers in the conventional operating system space.

        � � � � � The steps to implement the disclosed method are described in a flow chart (see Figure 4).

Advantages

        � � � � � The disclosed method provides advantages, including:
•        � � � � Improved performance due to running in physical mode

•        � � � � Improved performance due to improving boot time via local and remote means
•        � � � � Improved performance due to improving device responsiveness and scale for 10/100/1000 Ethernet devices
•        � � � � Improved support for future technologies due to a clean abstraction so that interrupt/driver migration can occur seamlessly in the platform.

•        � � � � Improved ease of implementation due to a clean abstraction that coexists with the� conventional priority model

Task Priority Level

Usage

TPL_APPLICATION

This is the lowest priority level. It is the level of execution that occurs when no event notifications are pending and that interacts with the user. User I/O (and blocking on user I/O) can be performed at this level. The boot manager executes at this level and passes control to other EFI applications at this level.

TPL_CALLBACK

Interrupts code executing below TPL_CALLBACK level. Long term operations (such as file system operations and disk I/O) can occur at this level.

TPL_NOTIFY

Interru...