Skip to main content
Home Documents Macintosh Running Emulated Drivers
Running Emulated Drivers

Running Emulated Drivers

Macintosh · PDF
FilenameRunning_Emulated_Drivers_199303.pdf
Size0.07 MB
Subsection developer / Copland / project_history
Downloads1
Contents
Running Emulated Drivers Wayne Meretsky March 9, 1993 Summary This document describes the problems of running emulated device drivers in the V1 software system. Also discussed are proposed solutions to some of those problems and the costs associated with those solutions. Included is a brief description of hardware support that must be included in any native expansion slot card (PSI, PCI, etc). whose purpose is to allow NuBus cards to be plugged into the system. With this provision, a NuKernel based system should be able to remain compatible with all but the most bizzare device drivers and applications. What software cannot be emulated? In a NuKernel based system, software that is invoked as a result of a hardware interrupt, synchronously to the interruption, and at interrupt level, cannot be emulated. For the purpose of this discussion this classification of software is termed interruptlevel software. Note that in System 7, there is a tremendous amount of interrupt-level software. Applications , for example, that make asynchronous I/O requests have their completion routines run synchronously to the hardware interrupt that signifies the completion of the I/O request. These applications, therefore, contain interrupt level software. In the V1 system, however, NuKernel Software Interrupts are used to get the execution of completion routines out of interrupt level. In a V1 system, interrupt-level software includes the following: • ADB device drivers may be interrupt-level software. This depends upon the amount re-work done to the ADB manager. Techniques for removing ADB device drivers from interrupt level have been demonstrated by the NuKernel team. • Certain system software managers such as the VBL Manager, Time Manager, SCSI Manager, etc. These managers all interact with some hardware at interrupt level. However, in a V1 system, these are all ported by the NuKernel team and execute only native instructions. Therefore, unless there is a need to support third party patches to these managers, they represent no problem. Because of changes to the hardware it is doubtful that these patches would work properly even if they were emulated. • Some DRVRs (Serial, Sound, etc.) have hardware interrupt handlers. The TNT team in MSD will be providing native versions of these drivers for V1. Therefore, unless there is a need to support third party M68000 drivers for these devices, they represent no problem. Because of changes to the hardware in TNT it is doubtful that these third-party drivers will work even if they are emulated. • Most NuBus cards have hardware interrupt handlers. These are the most troublesome because the drivers are contained in ROM on the NuBus cards and cannot be easily replaced. This document outlines a strategy that will be capable of supporting most, but not all, NuBus cards. • Applications that have interrupt handlers. This includes certain strange applications that chose to avoid the Device Manager model for dealing with devices. The…

Showing first 3,000 characters of 16,606 total. Open the full document →

MacTrove — a free archive of classic Macintosh software. Files mirrored from ftp.funet.fi/pub/mac (info-mac + funet legacy). All software provided for historical preservation.