摘要:
Systems and methods for software licensing enforcement using an ACPI BIOS. A digital license is provided that includes information about both the software and hardware on which it is to be run. The licensing process receives hardware and software information from the end user and binds the license to both. A main BIOS binary contains code and static motherboard specific data. Dynamic state values containing, e.g., machine-specific system management data, such as, a serial number may be stored subsequently on NVRAM or its equivalent. The main BIOS binary allows provides sufficient functionality to test the hardware. Once the software to be loaded on the system is known, a corresponding digital license containing both the software and hardware information is loaded to NVRAM.
摘要:
Programmatically diagnosing the root cause of a problem in a computing system. Events are monitored within an operating system, and at least a subset of the events are logged to a log file. In response to the detection of error condition(s), a diagnostics module is invoked. The diagnostics module queries the log file to correlate events relevant to diagnosis of the problem, and identifies the root cause by evaluating the results of the query. Once the root cause of the problem is diagnosed, a resolution module corresponding to that root cause may be invoked to programmatically resolve the problem. The invocation of the diagnostic and resolution modules may be subject to policy rules. Furthermore, the logging, diagnostics and resolution modules may be automatically updated as needed.
摘要:
A system and method for hardware error reporting and recovery is presented. An operating system provides an error signal handler, a platform-independent error processing module, and a platform-specific error handler. The error signal handler is configured to detect the occurrence of a hardware error and to notify the platform-independent error processing module of the detected hardware error. The platform-independent error processing module is configured to process the hardware error detected by the error signal handler. The platform-specific error handler is configured to perform platform-specific error processing of the hardware error in cooperation with the platform-independent error processing module.
摘要:
Transitioning to a suspend to RAM sleeping state while also protecting against power losses while sleeping is provided. System state context data is saved to non-volatile storage and components in the computer system prepare to transition to a suspend to disc sleeping. A transition to the suspend to RAM sleeping state is then effected. Alternatively, after the system context is saved and the components are prepared to transition, the system may wake to a working state. The components may be directed to prepare for transitioning to a suspend to RAM sleeping state, and then the BIOS may be directed to execute the transition. In either embodiment, if power to the system is lost while the system is in the suspend to RAM system state, then the system may resume to a working state by reading the context file stored to non-volatile storage.
摘要:
A system and method that facilitate detection of direct memory access (DMA) corruption is provided. The system can mitigate DMA memory corruption in computer system(s) employing transaction-based DMA bus system(s) (e.g., PCI Express). DMA transaction(s) cannot normally be traced; however, in accordance with an aspect of the present invention, the system is extended to include an interface to specify “allowed” and/or “disallowed” memory range(s) for a DMA transaction. If a DMA transaction occurs in a disallowed range, then it is rejected and, optionally, an error is raised. Thus, the system of the present invention can facilitate detection of direct memory access transaction(s) that can, if permitted, cause memory corruption. The system includes an access information data store (e.g., access table) and a memory controller. The access information can include, for example, a source identifier, a memory range (e.g., one or more contiguous memory address(es)) and access attribute(s) (e.g., read access, read and write access, write access, no access permitted, etc.).
摘要:
Embodiments of the present invention are directed at identifying an idle state for a processor that minimizes power consumption. In accordance with one embodiment, a method for identifying a target idle state that does not require a linear progression into any intermediate states is provided. More specifically the method includes collecting data from a plurality of data sources that describes activities occurring on the computer and/or attributes of the hardware platform. Then, using the collected data, a target idle state for the processor is calculated. Finally, if the current idle state of the processor is different than the target idle state, the method causes the idle state of the processor to be changed to the target idle state.
摘要:
Processor power management capabilities that enable an operating system kernel to interact with a plurality of ACPI-compliant computing devices to manage processor power using a generic processor description is described. Specifications of power processor management capabilities of processor types are stored in data structures, i.e., objects. Each object contains a control value field and a control mask field and may also contain a status value field and a status mask field. The kernel loads a generic processor driver and objects for each processor type enabling the kernel to respond to power management events such as, but are not limited to, processor utilization and processor operating temperature events. In response to a power management event, the kernel calculates a desired processor performance state; sets bits in the control mask field to describe the desired processor performance state; and passes the control mask to the generic processor driver which controls the processor. Responses to power management events include, but are not limited to, adjusting processor voltage and/or adjusting processor frequency.
摘要:
A system and method for facilitating BIOS integrated encryption is provided. An interface is defined between the operating system and the BIOS. The operating system employs this interface to provide BIOS code information to facilitate decryption of data that is encrypted on the system. In the pre-operating system boot phase, the BIOS employs the decryption information provided from this interface in order to decrypt the data. The decrypted information can be employed to facilitate secure rebooting of a computer system from hibernate mode and/or secure access to device(s).