|
|
Seize: Linux Device DriverThe Seize device driver is written as a dynamic kernel module, easily loaded and unloaded from the kernel. This driver was developed with kernel 2.2.5, but should work correctly with the entire 2.2.x series and beyond. A CIO-DIO24 digital I/O board made by Computer Boards, Inc. was used as the halting device. The device and device driver are configured to access ports at address 0x300-0x307 and use interrupt 7.
Once the module is compiled (' In order for halting to be enabled, the seize device must be opened. The following application illustrates how this can be done.
The processor's cache can be turned on or off programmatically by sending the device the appropriate ioctl, as illustrated by the following applications:
In order for the applications to work, a node named "seize" must exist in
Once the module is loaded and opened, the machine can be halted by sending the appropriate interrupt to the board. To bring the machine out of seizure, pin 2 of port A is asserted high. You can test it manually by asserting pin 2 of port A (pin 36 on our board) high to low, then assert the IR (pin 1 on our board) high to low. To bring it out of seizure, assert pin 2 of port A high again. The I/O board is connected to a Tektronix Logic Analyzer, model TLA 720 as shown in the following diagram:
state machine not yet available © 1996, Performance Evaluation Laboratory, Brigham Young University. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use provided that this copyright notice is included in any copy. Send comments to webmaster@pel.cs.byu.edu. |