US 9,811,319 B2
Software interface for a hardware device
Yaron Weinsberg, Jerusalem (IL); Jinsong Yu, Bellevue, WA (US); Maxim Grabarnik, Mevaseret Tzion (IL); and Davide Massarenti, Seattle, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jan. 4, 2013, as Appl. No. 13/734,712.
Prior Publication US 2014/0196004 A1, Jul. 10, 2014
Int. Cl. G06F 9/44 (2006.01)
CPC G06F 8/30 (2013.01) [G06F 9/4411 (2013.01)] 20 Claims
OG exemplary drawing
 
1. In a computing environment, a method of automatically generating code used with device drivers for interfacing with hardware, the method comprising:
receiving a machine readable description of a hardware device for which a hardware driver is to be generated, the machine readable description being written in a hardware-software interface language and being reusable to create a hardware device interface for each of a plurality of different possible operating systems;
instantiating a code generation tool which has an operating system context for each of the plurality of different possible operating systems;
determining, from the plurality of different possible operating systems and prior to the hardware driver being generated, a particular operating system for which the hardware driver is to be generated and with which the hardware device is to be used; and
processing the machine readable description, using the code generation tool and an operating system context for the particular operating system, to automatically generate code for the hardware driver for the hardware device, the generated code specific to the determined particular operating system and using operating system interfaces specific to the determined particular operating system.