Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

alr.inc

Go to the documentation of this file.
00001 ;++ 00002 ; 00003 ; Copyright (c) 1989 Microsoft Corporation 00004 ; 00005 ; Module Name: 00006 ; 00007 ; alr.inc 00008 ; 00009 ; Abstract: 00010 ; 00011 ; This inlcude file defines all the equates and macros specifically 00012 ; used for ALR Multiprocessor system implementation. 00013 ; 00014 ; Author: 00015 ; 00016 ; Shie-Lin Tzong (shielint) 29-Oct-1990 00017 ; 00018 ; Environment: 00019 ; 00020 ; Kernel mode only. 00021 ; 00022 ; Revision History: 00023 ; 00024 ;-- 00025 00026 ; 00027 ; Virtual address map for ALR CBUS IO and address space 00028 ; CBUS memory address space starting from 64MB to (128MB - 1) 00029 ; CBUS IO space starting from 128MB to (192MB - 1). We are interested 00030 ; in the first 4MB only (at least for now). 00031 ; 00032 00033 CBUS_ADDR_START_PHYS equ 4000000h 00034 00035 CBUS_IO_SPACE_START equ 90000000h 00036 CBUS_IO_SPACE_START_PHYS equ 8000000h 00037 CBUS_IO_SPACE_SIZE equ 400000h 00038 00039 ; 00040 ;CPU ID for CBUS PEs and common functions for PEs 00041 ; 00042 00043 ALLCPUID equ 0Fh ; ID to address all the slaves 00044 BASECPUID equ 0Eh ; Base CPU ID 00045 00046 PE_CRESET equ 0 ; Clear Reset 00047 PE_SRESET equ 1 ; Set Reset 00048 PE_CONTEND equ 2 ; Contend (Place slot number on ARB0-3 00049 ; lines) 00050 PE_SETIDA equ 3 ; Set ID value on winning processor 00051 PE_CSWI equ 4 ; Clear software interrupt 00052 PE_SSWI equ 5 ; Set software interrupt 00053 PE_CNMI equ 6 ; Clear NMI 00054 PE_SNMI equ 7 ; Set NMI 00055 PE_SLED equ 8 ; Set LED 00056 PE_CLED equ 9 ; Clear LED 00057 00058 ; 00059 ; Miscs CBUS definitions 00060 ; 00061 00062 ArbitrateRegister equ 0F1h 00063 ArbitrateMask equ 0Fh ; Lower 4 bits of Arbitrate Register 00064 00065 00066 ; 00067 ; Macros to access CBUS I/O space 00068 ; 00069 ; CBUS_IO_ACCESS func, cpuid 00070 ; func - the function which will be applied to PEs 00071 ; cpuid - the desired PE. If not specified, the cpuid is in AL register. 00072 ; 00073 00074 CBUS_IO_ACCESS macro func, cpuid 00075 00076 ifnb <cpuid> 00077 mov eax, (cpuid SHL 18) + CBUS_IO_SPACE_START + (func SHL 4) 00078 else 00079 movzx eax, al 00080 shl eax, 18 00081 add eax, CBUS_IO_SPACE_START + (func SHL 4) 00082 endif 00083 or byte ptr [eax], 0ffh 00084 00085 endm 00086 00087

Generated on Sat May 15 19:39:15 2004 for test by doxygen 1.3.7