Generic software interface for hardware environments
Abstract
A generic interface layer for providing a generic interface to a hardware environment for a program executing on the hardware environment. The generic interface layer is interrupt-driven. It includes driver code for devices in the hardware environment that is executed in response to software interrupts from the program and interrupt handling code for handling interrupts from the hardware environment. The interrupt handling code responds to an interrupt by calling a callback in the program. The generic interface layer includes a loader for loading the program and a debugger for controlling execution of the program. Execution of code in the generic interface layer may be coordinated by the system timer interrupt code that is executed in response to a system timer interrupt. Code that is executing in the generic interface layer may register itself or other code with the system timer interrupt code, which then executes the code in response to a system timer interrupt. One use of the technique is to permit driver code to register other code and then quickly return to the program and thereby prevent long suspension of the program. Also disclosed is a technique for managing a statically-allocated array of buffers for receiving LAN packets to reduce the frequency of an “out of resource” condition.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A program loader which executes in a hardware environment upon which no operating system is running, the program loader comprising:
file locator code that, when executed, locates executable code for an arbitrary program in a set of files that is accessible via the hardware environment and loader code that, when executed, loads the executable code into the hardware environment and sets up the hardware environment so that the hardware environment begins executing the executable code.
2 . The program loader set forth in claim 1 wherein:
the file locator code further locates the executable code in sets of different kinds of files accessible via the hardware environment.
3 . Apparatus that uses a system clock interrupt to coordinate execution of code, the apparatus comprising:
a register data structure in which executing code registers itself or other code; and system clock interrupt handler code which executes in response to a system clock interrupt, the system clock interrupt handler code operating during execution to execute code registered in the register data structure.Join the waitlist — get patent alerts
Track US2004225864A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.