Abstract:
A technique to verify firmware. One embodiment of the invention uses a processor's micro-code to verify a system's firmware, such that the firmware can be included in a trusted chain of code along with the operating system.
Abstract:
Methods and architectures for performing hardware error handling using coordinated operating system (OS) and firmware services. In one aspect, a firmware interface is provided to enable an OS to access firmware error-handling services. Such services enable the OS to access error data concerning platform hardware errors that may not be directed accessed via a platform processor or through other conventional approaches. Techniques are also disclosed for intercepting the processing of hardware error events and directing control to firmware error-handling services prior to attempting to service the error using OS-based services. The firmware services may correct hardware errors and/or log error data that may be later accessed by the OS or provided to a remote management server using an out-of-band communication channel. In accordance with another aspect, the firmware intercept and services may be performed in a manner that is transparent to the OS.
Abstract:
Training of a link is performed, wherein the link is an interconnect between two devices of a computer system. A built-in self-test (BIST) of the link is performed. A result from the link training is compared to a result from the BIST. A link status of the link is posted, wherein the link status is based at least in part on the result from the link training and the result from the BIST.
Abstract:
Patterns are processed minimizing resources such as memory and/or processing power. According to one aspect, when a pattern object is received with the same identifier as that of an earlier received pattern, a count is maintained reflecting a number of times the earlier pattern is to be used in rendering. When the earlier pattern is used as many times as the count in the rendering operations, the earlier pattern is deleted from the memory. According to another aspect, when two patterns are defined based on the same pattern data, the pattern is stored in a common storage area, and a pointer is maintained to the storage area from both the patterns. According to another aspect, even if a pattern is to be used only in the expanded form while rendering, the pattern is stored in non-expanded form until the time of rendering to minimize memory consumption.
Abstract:
A system that may optionally be partitioned into multiple domains is disclosed. Each domain is capable of independently powering on, executing a firmware program, and loading an operating system, including a legacy operating system, as well as running an application program that is distinct from programs running on another domain. Interrupts, including boot interrupts, reset handlers, and inter-chassis communications are initialized differently, depending on whether the system is to be partitioned or not. The cost of redundant hardware and/or firmware is substantially avoided, yet the system fully supports multiple domains.