

	     Notes for Intel's SL Architecture Companion Disks
	Copyright (C) by McGraw-Hill Inc, 1992. All rights reserved.


[I. Introduction]

The program disk contains many programs to assist you in understanding and
applying the features of the SL architecture. Sample programs included on
the disk were written using Microsoft Macro Assembler Version 5.0 and
Microsoft C Compiler 6.0.

All programs on the disk are tested and assumed to be error-free. If you
encountered a problem, please contact the author at:

    Desmond Yuen
    Intel Corporation
    SC9-33
    2250 Mission College Blvd
    Santa Clara, CA 95052-8119
or
    DYUEN@INTEL.COM

[II. Before You Start]

The programs on this disk were developed and tested on the Intel386 (tm) SL
Microprocessor evaluation board. Some of the programs on the disk are
system dependent. Therefore, it is important that you understand the hardware
requirements before you start using any of the programs on your own system.
This is especially true for power management implementation.

Before you proceed, you should make a backup copy of the disk to prevent
accidental alterations of the original files. Keep the original in a safe
place after you made a copy of the disk.

[III. How to use the Companion Disk]

Make files have been included for some programs to make it easy for you to
assemble and link these programs. Comments are provided inside the source
listings to help you understand the flow of the programs.

To help you get started with system management mode (SMM), a simple SMM program
is included.  After you get familiar with using system management mode, a
complete example is provided to demonstrate how to use the power management
features effectively in the SL architecture via SMM. Along with many utility
programs, a register editor is also included to help you with debugging.

[IV. Contents of the Disk]

The organization of the program disk is based on the chapter numbers of the
book. The directory structure of the disk is as follows:

    (ROOT)----+
		     |
		     +-CHAP4
		     +-CHAP6
		     +-CHAP9
		     +-CHAP10
		     +-CHAP12
		     +-CHAP13
		     +-CHAP14
		     +-CHAP15

Below is a list of files in each directory:

    \(ROOT)
	README.TXT

    \CHAP4
	CFGSPACE ASM	- program to access the SL configuration spaces
	CFGSPACE OBJ	- object file for CFGSPACE.ASM
	INIT	 COM	- COM file for INIT.ASM
	INIT		- make file for INIT.ASM
	INIT	 MAP
	INIT	 OBJ	- object file for INIT.ASM
	INIT	 ASM	- program to load the kernel into SMRAM and
			  initialize the system management hardware
	KERNEL	 BIN	- binary file for KERNEL.ASM
	KERNEL	 OBJ	- object file for KERNEL.ASM
	KERNEL	 ASM	- SMM demo program
	KERNEL	 MAP
	KERNEL		- make file for KERNEL.ASM
	SUPERSET INC	- include file contains addresses of all the SL
			  extension registers

    \CHAP6
	CFGSPACE ASM	- program to access the SL configuration spaces
	CFGSPACE OBJ	- object file for CFGSPACE.ASM
	CLOCK	 ASM	- program to control the clocks on the 82360SL
	CLOCK	 OBJ	- object file for CLOCK.ASM
	DEVICE	 ASM	- program to manage power to different devices
	DEVICE	 OBJ	- object file for DEVICE.ASM
	INIT	 ASM	- program to load the power management program into
			  SMRAM and initialize the power management hardware
	INIT	 COM	- executable file for INIT.ASM
	INIT		- make file for INIT.ASM
	INIT	 OBJ	- object file for INIT.ASM
	INIT	 MAP
	KERNEL	 OBJ	- object file for KERNEL.ASM
	KERNEL		- make file for KERNEL.ASM
	KERNEL	 ASM	- program to demonstrate power management
	KERNEL	 MAP
	KERNEL	 BIN	- binary file for the power management demo program
	LSTDBY	 OBJ	- object file for LSTDBY.ASM
	LSTDBY	 ASM	- program to service the local standby requests
	LTRP	 OBJ	- object file for LTRP.ASM
	LTRP	 ASM	- program to service local trap requests
	SUPERSET INC	- include file contains addresses of all the SL
			  SL extension registers
	SUSPEND  ASM	- program to put the system in suspend and resume
	SUSPEND  OBJ	- object file for SUSPEND.ASM

    \CHAP9
	CPUSPEED ASM	- program to change the CPU clock speed
	MCPSPEED ASM	- program to change the MCP clock speed when MCP
			  is idle

    \CHAP10
	CACHE	 ASM	- program to enable and disable the cache controller on
			  the Intel386 SL CPU.
	CACHE64  COM	- executable program to set cache size to 64 Kbytes
	CACHEOFF COM	- executable program to disable cache
	CACHEON  COM	- executable program to enable cache
	CFGSPACE ASM	- program to access the SL configuration spaces
	CFGSPACE OBJ	- object file for CFGSPACE.ASM
	EXAMPLE  ASM	- program to demonstrate cache auto-sizing
	EXAMPLE 	- make file for EXAMPLE.ASM
	EXAMPLE  OBJ	- object file for EXAMPLE.ASM
	EXAMPLE  COM	- executable file for EXAMPLE.ASM
	EXAMPLE  MAP
	FASTMODE COM	- executable program to set DRAM page mode to fast page
			  on the Intel386 SL CPU
	HSMODE	 COM	- executable program to set DRAM page mode to high
			  speed page mode on the Intel386 SL CPU
	PAGEMODE COM	- executable program to set DRAM page mode to normal
			  page mode on the Intel386 SL CPU
	REFRESH  ASM	- program to change the refresh rate for the DRAM
			  controller on the Intel386 SL CPU
	SUPERSET INC	- include file contains addresses of all the SL
			  extension registers
    \CHAP12
	FLASH.ASM	- program to enable the flash disk interface

    \CHAP13
        FPP             - make file for FPP.ASM
        SFS	 ASM    - program to enable Special Feature Set
        FPP	 MAP    
        FPP	 COM    - executable file for FPP.ASM
        CFGSPACE ASM    - program to access the SL configuration space
        FPP	 ASM    - program to enable the enhanced parallel port
        SUPERSET INC    - include file contains addresses of all the SL
                          extension registers

    \CHAP14
	CFGSPACE ASM	- program to access the SL configuration spaces
	CFGSPACE OBJ	- object file for CFGSPACE.ASM
	EXE2BIN  INP	- file for creating the RESET.BIN file
	FLASHVPP ASM	- program to enable and disable flash VPP
	ID	 ASM	- program to identify the SL CPU
	RESET	 MAP
	RESET	 OBJ	- object file for RESET.ASM
	RESET	 ASM	- special BIOS to disable suspend refresh and generates
			  a software SMI to resume the system
	RESET	 BIN	- binary file for RESET.ASM
	RESET		- make file for RESET.ASM
	SHADOW	 ASM	- program to demonstrate BIOS shadowing
	SUPERSET INC	- include file contains addresses of all the SL
			  extension registers

    \CHAP15
	INTEL386SL.REG	- register configuration file for the Intel386 SL CPU
	INTEL486SL.REG	- register configuration file for the Intel486 SL CPU
	REGEDIT.EXE	- full screen register editor for modifying SL
			  extension registers plus other debug utilities
	REGEDIT.TXT	- contains information about the REGEDIT program


[V. References]

The "Intel's SL Architecture" do not include descriptions for all the SL
extension registers. For detail programming information, please refer to
the Intel486 SL Microprocessor Programmer's Reference Manual the Intel386 SL
Microprocessor Programmer's Reference Manual.

[V. Acknowledgments]

The programs contained in this disk have been tested and verified independently
by my friend, Dennis Chang (formerly VP of Engineering at Award Software Inc.).
I am also indebted to Dennis for finding the bug in the power management demo
program and his professional opinion on how I can make my files more readable.

[VI. LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY]

The author and publisher have exercised care in preparing this book and the
programs contained in it. They make no representation, however, that the
programs are error-free or suitable for every application to which a reader may
attempt to apply them. The author and publisher make no warranty of any kind,
expressed or implied, including the warranties of merchantability or fitness
for a particular purpose, with regard to these programs or the documentation or
theory contained in this book, all of which are provided "as is." The author
and publisher shall not be liable for damages in an amount greater than the
purchase price of this book, or in any event for incidental or consequential
damages in connection with, or arising out of the furnishing, performance, or
use of these programs or the associated descriptions or discussions.

	Readers should test any program on their own systems and compare
results with those presented in this book. They should then construct their own
test programs to verify that they fully understand the requisites calling
conventions and data formats for each of the programs. Then they should test
the specific application thoroughly.
