ADC Home > Reference Library > Technical Notes > Legacy Documents > Mac OS 9 & Earlier >
Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.
Current information on this Reference Library topic can be found here:
|
Documentation describing VM/SCSI driver requirementsDate Written: 9/10/91 Last reviewed: 8/1/92 Are there any new rules regarding SCSI driving with virtual memory? My System 6 driver doesn't work with System 7. ___ It's important to remember that VM usually uses a SCSI device for its backing store. As such, if VM needs to use your driver it can't tolerate a driver's page swap in the middle of a page swap. This means if your driver's code is not in the system heap, it needs to be held when called, and your buffers also need to be held if your driver is entered by a Control or Status call. Buffers are automatically held by the system if your driver is entered by a Read or Write call. The following documents provide a good overview of what you need to do to revise a SCSI driver for VM compatibility.
SCSI drivers and virtual memoryDate Written: 8/30/91 Last reviewed: 8/1/92 How can we disable virtual memory (VM) from a SCSI driver, for dequeuing partitions? How can our driver determine which volume the virtual swap file resides upon? ___ The use of virtual memory requires that at boot time the PMMU be programmed with the appropriate memory mapping tables and enabled. The virtual memory is then laid out in the VM Storage file and available "real" RAM begins to be used to implement those portions of the virtual memory that need to be resident. It is not possible to turn this on and off while the machine is running. Specifically, it cannot be disabled / re-enabled from within your SCSI driver. With VM running, you can dismount and remount any disk or partition EXCEPT the unit that contains the VM Storage file. Whenever the system boots with VM on, the Finder makes sure there is only one file of that name mounted anywhere and deletes any "extra" files it encounters. Currently there is no interface for locating the VM Storage file. Since the file name is guaranteed to be unique, it should be sufficient to search each volume for that file name. Macintosh SCSI reselectionDate Written: 5/24/91 Last reviewed: 8/1/92 How should we handle target reselection with the Macintosh SCSI Manager? ___ The Macintosh SCSI Manager does not yet support disconnection and reselection. After arbitration and selection, the target device should perform a SCSIMsgOut to identify the logical unit number and especially to see if disconnection and reselection is allowed (bit 6 of the Identify message). The Macintosh currently always sets bit 6 of the Identify message to 0, meaning disconnection is not allowed. A target device should always assume that disconnection is not allowed unless it is specifically told otherwise by the Identify message. In this way, the target will do the right thing even if it does not follow protocol and issue a Message Out before requesting the Command. Where to get Macintosh SCSI Manager sample codeDate Written: 11/30/90 Last reviewed: 8/1/92 Can you provide some sample code on using the Macintosh SCSI Manager to access a SCSI device? ___ SCSI sample code can be found on Apple's sample code web site. Downloadables
|
|