windows-nt/Source/XPSP1/NT/base/ntos/ke/alpha/genalpha.m4

1439 lines
41 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1990 Microsoft Corporation
Copyright (c) 1992, 1993 Digital Equipment Corporation
Module Name:
genalpha.c
Abstract:
This module implements a program which generates ALPHA machine dependent
structure offset definitions for kernel structures that are accessed in
assembly code.
Author:
David N. Cutler (davec) 27-Mar-1990
Joe Notarangelo 26-Mar-1992
Revision History:
Thomas Van Baak (tvb) 10-Jul-1992
Modified CONTEXT, TRAP, and EXCEPTION frames according to the new
Alpha calling standard.
Forrest Foltz (forrestf) 24-Jan-1998
Modified format to use new obj-based procedure.
--*/
#include "ki.h"
#pragma hdrstop
#define HEADER_FILE
#include "excpt.h"
#include "ntdef.h"
#include "ntkeapi.h"
#include "ntalpha.h"
#include "ntimage.h"
#include "ntseapi.h"
#include "ntobapi.h"
#include "ntlpcapi.h"
#include "ntioapi.h"
#include "ntmmapi.h"
#include "ntldr.h"
#include "ntpsapi.h"
#include "ntpoapi.h"
#include "ntexapi.h"
#include "ntnls.h"
#include "nturtl.h"
#include "ntcsrmsg.h"
#include "ntcsrsrv.h"
#include "ntxcapi.h"
#include "arc.h"
#include "ntstatus.h"
#include "kxalpha.h"
#include "stdarg.h"
#include "setjmp.h"
#include "alphaops.h"
#include "fwcallbk.h"
include(`..\genxx.h')
#define KSALPHA SEF_KERNEL
#define HALALPHA SEF_HAL
//
// Helper macro for call pal functions
//
#define genPal(CALLPAL) \
genStr("#define "CALLPAL##_STR" 0x%lx\n", CALLPAL)
//
// Bitmask definitions here
//
#if defined(_AXP64_)
startBitStruc( HARDWARE_PTE, KSALPHA )
genBitField( Valid, PTE_VALID )
genBitField( Reserved1 )
genBitField( FaultOnWrite, PTE_FOW )
genBitField( Reserved2 )
genBitField( Global, PTE_GLOBAL )
genBitField( GranularityHint, PTE_GH )
genBitField( Reserved3 )
genBitField( KernelReadAccess, PTE_KRE )
genBitField( UserReadAccess, PTE_URE )
genBitField( Reserved4 )
genBitField( KernelWriteAccess, PTE_KWE )
genBitField( UserWriteAccess, PTE_UWE )
genBitField( Reserved5 )
genBitField( Write , PTE_WRITE )
genBitField( CopyOnWrite, PTE_COPY_ON_WRITE )
genBitField( Software, PTE_SOFTWARE )
genBitField( PageFrameNumber, PTE_PFN )
#else
startBitStruc(HARDWARE_PTE, KSALPHA)
genBitField(Valid, PTE_VALID)
genBitField(Owner, PTE_OWNER)
genBitField(Dirty, PTE_DIRTY)
genBitField(reserved)
genBitField(Global, PTE_GLOBAL)
genBitField(GranularityHint)
genBitField(Write, PTE_WRITE)
genBitField(CopyOnWrite, PTE_COPYONWRITE)
genBitField(PageFrameNumber, PTE_PFN)
#endif
startBitStruc(PSR, KSALPHA)
genBitField(MODE, PSR_MODE)
genBitAlias(PSR_USER_MODE)
genBitField(INTERRUPT_ENABLE, PSR_IE)
genBitField(IRQL, PSR_IRQL)
startBitStruc(IE, KSALPHA)
genBitField(SoftwareInterruptEnables, IE_SFW)
genBitField(HardwareInterruptEnables, IE_HDW)
startBitStruc(MCHK_STATUS, KSALPHA | HALALPHA)
genBitField(Correctable, MCHK_CORRECTABLE)
genBitField(Retryable, MCHK_RETRYABLE)
startBitStruc(MCES, KSALPHA | HALALPHA)
genBitField(MachineCheck, MCES_MCK)
genBitField(SystemCorrectable, MCES_SCE)
genBitField(ProcessorCorrectable, MCES_PCE)
genBitField(DisableProcessorCorrectable, MCES_DPC)
genBitField(DisableSystemCorrectable, MCES_DSC)
genBitField(DisableMachineChecks, MCES_DMCK)
startBitStruc(EXC_SUM, KSALPHA)
genBitField(SoftwareCompletion, EXCSUM_SWC)
genBitField(InvalidOperation, EXCSUM_INV)
genBitField(DivisionByZero, EXCSUM_DZE)
genBitField(Overflow, EXCSUM_OVF)
genBitField(Underflow, EXCSUM_UNF)
genBitField(InexactResult, EXCSUM_INE)
genBitField(IntegerOverflow, EXCSUM_IOV)
//
// Element description array is here
//
STRUC_ELEMENT ElementList[] = {
START_LIST
//
// Output include statement for ALPHA architecture static definitions.
//
EnableInc(KSALPHA | HALALPHA)
genTxt("#include \"kxalpha.h\"\n")
DisableInc(HALALPHA)
//
// Include architecture independent definitions.
//
#include "..\genxx.inc"
//
// Generate architecture dependent definitions.
//
// Processor control register structure definitions.
//
EnableInc(HAL)
genCom("Processor Control Registers Structure Offset Definitions")
genNam(PCR_MINOR_VERSION)
genNam(PCR_MAJOR_VERSION)
genDef(Pc, KPCR, MinorVersion)
genDef(Pc, KPCR, MajorVersion)
genDef(Pc, KPCR, PalBaseAddress)
genDef(Pc, KPCR, PalMajorVersion)
genDef(Pc, KPCR, PalMinorVersion)
genDef(Pc, KPCR, PalSequenceVersion)
genDef(Pc, KPCR, PalMajorSpecification)
genDef(Pc, KPCR, PalMinorSpecification)
genDef(Pc, KPCR, FirmwareRestartAddress)
genDef(Pc, KPCR, RestartBlock)
genDef(Pc, KPCR, PalReserved)
genDef(Pc, KPCR, PalAlignmentFixupCount)
genDef(Pc, KPCR, PanicStack)
genDef(Pc, KPCR, ProcessorType)
genDef(Pc, KPCR, ProcessorRevision)
genDef(Pc, KPCR, PhysicalAddressBits)
genDef(Pc, KPCR, MaximumAddressSpaceNumber)
genDef(Pc, KPCR, PageSize)
genDef(Pc, KPCR, FirstLevelDcacheSize)
genDef(Pc, KPCR, FirstLevelDcacheFillSize)
genDef(Pc, KPCR, FirstLevelIcacheSize)
genDef(Pc, KPCR, FirstLevelIcacheFillSize)
genDef(Pc, KPCR, FirmwareRevisionId)
genDef(Pc, KPCR, SystemType)
genDef(Pc, KPCR, SystemVariant)
genDef(Pc, KPCR, SystemRevision)
genDef(Pc, KPCR, SystemSerialNumber)
genDef(Pc, KPCR, CycleClockPeriod)
genDef(Pc, KPCR, SecondLevelCacheSize)
genDef(Pc, KPCR, SecondLevelCacheFillSize)
genDef(Pc, KPCR, ThirdLevelCacheSize)
genDef(Pc, KPCR, ThirdLevelCacheFillSize)
genDef(Pc, KPCR, FourthLevelCacheSize)
genDef(Pc, KPCR, FourthLevelCacheFillSize)
genDef(Pc, KPCR, Prcb)
genDef(Pc, KPCR, Number)
genDef(Pc, KPCR, SetMember)
genDef(Pc, KPCR, HalReserved)
genDef(Pc, KPCR, IrqlTable)
genDef(Pc, KPCR, IrqlMask)
genDef(Pc, KPCR, InterruptRoutine)
genDef(Pc, KPCR, ReservedVectors)
genDef(Pc, KPCR, MachineCheckError)
genDef(Pc, KPCR, DpcStack)
genDef(Pc, KPCR, NotMember)
genDef(Pc, KPCR, CurrentPid)
genDef(Pc, KPCR, SystemServiceDispatchStart)
genDef(Pc, KPCR, SystemServiceDispatchEnd)
genDef(Pc, KPCR, IdleThread)
genVal(ProcessorControlRegisterLength, ROUND_UP(sizeof(KPCR), 16))
genNamUint(SharedUserData)
genDef(Us, KUSER_SHARED_DATA, TickCountLow)
genDef(Us, KUSER_SHARED_DATA, TickCountMultiplier)
genDef(Us, KUSER_SHARED_DATA, InterruptTime)
genDef(Us, KUSER_SHARED_DATA, SystemTime)
//
// Processor block structure definitions.
//
genCom("Processor Block Structure Offset Definitions")
genNam(PRCB_MINOR_VERSION)
genNam(PRCB_MAJOR_VERSION)
genDef(Pb, KPRCB, MinorVersion)
genDef(Pb, KPRCB, MajorVersion)
genDef(Pb, KPRCB, CurrentThread)
genDef(Pb, KPRCB, NextThread)
genDef(Pb, KPRCB, IdleThread)
genDef(Pb, KPRCB, Number)
genDef(Pb, KPRCB, BuildType)
genDef(Pb, KPRCB, SetMember)
genDef(Pb, KPRCB, RestartBlock)
DisableInc(HALALPHA)
genDef(Pb, KPRCB, InterruptCount)
genDef(Pb, KPRCB, DpcTime)
genDef(Pb, KPRCB, InterruptTime)
genDef(Pb, KPRCB, KernelTime)
genDef(Pb, KPRCB, UserTime)
genDef(Pb, KPRCB, QuantumEndDpc)
genDef(Pb, KPRCB, IpiFrozen)
genDef(Pb, KPRCB, IpiCounts)
genDef(Pb, KPRCB, ProcessorState)
genAlt(PbAlignmentFixupCount, KPRCB, KeAlignmentFixupCount)
genAlt(PbContextSwitches, KPRCB, KeContextSwitches)
genAlt(PbDcacheFlushCount, KPRCB, KeDcacheFlushCount)
genAlt(PbExceptionDispatchCount, KPRCB, KeExceptionDispatchCount)
genAlt(PbFirstLevelTbFills, KPRCB, KeFirstLevelTbFills)
genAlt(PbFloatingEmulationCount, KPRCB, KeFloatingEmulationCount)
genAlt(PbIcacheFlushCount, KPRCB, KeIcacheFlushCount)
genAlt(PbSecondLevelTbFills, KPRCB, KeSecondLevelTbFills)
genAlt(PbSystemCalls, KPRCB, KeSystemCalls)
genDef(Pb, KPRCB, LockQueue)
genDef(Pb, KPRCB, PacketBarrier)
genDef(Pb, KPRCB, CurrentPacket)
genDef(Pb, KPRCB, TargetSet)
genDef(Pb, KPRCB, WorkerRoutine)
genDef(Pb, KPRCB, RequestSummary)
genDef(Pb, KPRCB, DpcListHead)
genDef(Pb, KPRCB, DpcLock)
genDef(Pb, KPRCB, DpcCount)
genDef(Pb, KPRCB, LastDpcCount)
genDef(Pb, KPRCB, QuantumEnd)
genDef(Pb, KPRCB, StartCount)
genDef(Pb, KPRCB, SoftwareInterrupts)
genDef(Pb, KPRCB, InterruptTrapFrame)
genDef(Pb, KPRCB, DpcRoutineActive)
genDef(Pb, KPRCB, DpcQueueDepth)
genDef(Pb, KPRCB, DpcRequestRate)
genDef(Pb, KPRCB, DpcBypassCount)
genDef(Pb, KPRCB, ApcBypassCount)
genDef(Pb, KPRCB, DispatchInterruptCount)
genDef(Pb, KPRCB, DebugDpcTime)
genDef(Pb, KPRCB, DpcInterruptRequested)
genDef(Pb, KPRCB, MaximumDpcQueueDepth)
genDef(Pb, KPRCB, MinimumDpcRate)
genDef(Pb, KPRCB, AdjustDpcThreshold)
EnableInc(HALALPHA)
genDef(Pb, KPRCB, PowerState)
genVal(ProcessorBlockLength, ROUND_UP(sizeof(KPRCB), 16))
//
// Prcb power state
//
genCom("Processor Power State Offset Definitions")
genDef(Pp, PROCESSOR_POWER_STATE, IdleFunction)
DisableInc(HALALPHA)
//
// Immediate interprocessor command definitions.
//
genCom("Immediate Interprocessor Command Definitions")
genNam(IPI_APC)
genNam(IPI_DPC)
genNam(IPI_FREEZE)
genNam(IPI_PACKET_READY)
//
// Interprocessor interrupt count structure offset definitions.
//
genCom("Interprocessor Interrupt Count Structure Offset Definitions")
genDef(Ic, KIPI_COUNTS, Freeze)
genDef(Ic, KIPI_COUNTS, Packet)
genDef(Ic, KIPI_COUNTS, DPC)
genDef(Ic, KIPI_COUNTS, APC)
genDef(Ic, KIPI_COUNTS, FlushSingleTb)
genDef(Ic, KIPI_COUNTS, FlushEntireTb)
genDef(Ic, KIPI_COUNTS, ChangeColor)
genDef(Ic, KIPI_COUNTS, SweepDcache)
genDef(Ic, KIPI_COUNTS, SweepIcache)
genDef(Ic, KIPI_COUNTS, SweepIcacheRange)
genDef(Ic, KIPI_COUNTS, FlushIoBuffers)
//
// LPC structure offset definitions
//
genCom("LPC Structure Offset Definitions")
genAlt(PmLength, PORT_MESSAGE, u1.Length)
genAlt(PmClientId, PORT_MESSAGE, ClientId)
genAlt(PmProcess, PORT_MESSAGE, ClientId.UniqueProcess)
genAlt(PmThread, PORT_MESSAGE, ClientId.UniqueThread)
genAlt(PmMessageId, PORT_MESSAGE, MessageId)
genAlt(PmClientViewSize, PORT_MESSAGE, ClientViewSize)
genVal(PortMessageLength, sizeof(PORT_MESSAGE))
//
// Client ID structure offset definitions
//
genCom("Client Id Structure Offset Definitions")
genDef(Cid, CLIENT_ID, UniqueProcess)
genDef(Cid, CLIENT_ID, UniqueThread)
//
// Context frame offset definitions and flag definitions.
//
EnableInc(HALALPHA)
genCom("Context Frame Offset and Flag Definitions")
genNam(CONTEXT_FULL)
genNam(CONTEXT_CONTROL)
genNam(CONTEXT_FLOATING_POINT)
genNam(CONTEXT_INTEGER)
genSpc()
genDef(Cx, CONTEXT, FltF0)
genDef(Cx, CONTEXT, FltF1)
genDef(Cx, CONTEXT, FltF2)
genDef(Cx, CONTEXT, FltF3)
genDef(Cx, CONTEXT, FltF4)
genDef(Cx, CONTEXT, FltF5)
genDef(Cx, CONTEXT, FltF6)
genDef(Cx, CONTEXT, FltF7)
genDef(Cx, CONTEXT, FltF8)
genDef(Cx, CONTEXT, FltF9)
genDef(Cx, CONTEXT, FltF10)
genDef(Cx, CONTEXT, FltF11)
genDef(Cx, CONTEXT, FltF12)
genDef(Cx, CONTEXT, FltF13)
genDef(Cx, CONTEXT, FltF14)
genDef(Cx, CONTEXT, FltF15)
genDef(Cx, CONTEXT, FltF16)
genDef(Cx, CONTEXT, FltF17)
genDef(Cx, CONTEXT, FltF18)
genDef(Cx, CONTEXT, FltF19)
genDef(Cx, CONTEXT, FltF20)
genDef(Cx, CONTEXT, FltF21)
genDef(Cx, CONTEXT, FltF22)
genDef(Cx, CONTEXT, FltF23)
genDef(Cx, CONTEXT, FltF24)
genDef(Cx, CONTEXT, FltF25)
genDef(Cx, CONTEXT, FltF26)
genDef(Cx, CONTEXT, FltF27)
genDef(Cx, CONTEXT, FltF28)
genDef(Cx, CONTEXT, FltF29)
genDef(Cx, CONTEXT, FltF30)
genDef(Cx, CONTEXT, FltF31)
genDef(Cx, CONTEXT, IntV0)
genDef(Cx, CONTEXT, IntT0)
genDef(Cx, CONTEXT, IntT1)
genDef(Cx, CONTEXT, IntT2)
genDef(Cx, CONTEXT, IntT3)
genDef(Cx, CONTEXT, IntT4)
genDef(Cx, CONTEXT, IntT5)
genDef(Cx, CONTEXT, IntT6)
genDef(Cx, CONTEXT, IntT7)
genDef(Cx, CONTEXT, IntS0)
genDef(Cx, CONTEXT, IntS1)
genDef(Cx, CONTEXT, IntS2)
genDef(Cx, CONTEXT, IntS3)
genDef(Cx, CONTEXT, IntS4)
genDef(Cx, CONTEXT, IntS5)
genDef(Cx, CONTEXT, IntFp)
genDef(Cx, CONTEXT, IntA0)
genDef(Cx, CONTEXT, IntA1)
genDef(Cx, CONTEXT, IntA2)
genDef(Cx, CONTEXT, IntA3)
genDef(Cx, CONTEXT, IntA4)
genDef(Cx, CONTEXT, IntA5)
genDef(Cx, CONTEXT, IntT8)
genDef(Cx, CONTEXT, IntT9)
genDef(Cx, CONTEXT, IntT10)
genDef(Cx, CONTEXT, IntT11)
genDef(Cx, CONTEXT, IntRa)
genDef(Cx, CONTEXT, IntT12)
genDef(Cx, CONTEXT, IntAt)
genDef(Cx, CONTEXT, IntGp)
genDef(Cx, CONTEXT, IntSp)
genDef(Cx, CONTEXT, IntZero)
genDef(Cx, CONTEXT, Fpcr)
genDef(Cx, CONTEXT, SoftFpcr)
genDef(Cx, CONTEXT, Fir)
genDef(Cx, CONTEXT, Psr)
genDef(Cx, CONTEXT, ContextFlags)
genVal(ContextFrameLength, ROUND_UP(sizeof(CONTEXT), 16))
//
// Exception frame offset definitions.
//
genCom("Exception Frame Offset Definitions and Length")
genDef(Ex, KEXCEPTION_FRAME, FltF2)
genDef(Ex, KEXCEPTION_FRAME, FltF3)
genDef(Ex, KEXCEPTION_FRAME, FltF4)
genDef(Ex, KEXCEPTION_FRAME, FltF5)
genDef(Ex, KEXCEPTION_FRAME, FltF6)
genDef(Ex, KEXCEPTION_FRAME, FltF7)
genDef(Ex, KEXCEPTION_FRAME, FltF8)
genDef(Ex, KEXCEPTION_FRAME, FltF9)
genDef(Ex, KEXCEPTION_FRAME, IntS0)
genDef(Ex, KEXCEPTION_FRAME, IntS1)
genDef(Ex, KEXCEPTION_FRAME, IntS2)
genDef(Ex, KEXCEPTION_FRAME, IntS3)
genDef(Ex, KEXCEPTION_FRAME, IntS4)
genDef(Ex, KEXCEPTION_FRAME, IntS5)
genDef(Ex, KEXCEPTION_FRAME, IntFp)
genDef(Ex, KEXCEPTION_FRAME, Psr)
genDef(Ex, KEXCEPTION_FRAME, SwapReturn)
genDef(Ex, KEXCEPTION_FRAME, IntRa)
genVal(ExceptionFrameLength, ROUND_UP(sizeof(KEXCEPTION_FRAME), 16))
//
// Jump buffer offset definitions.
//
genCom("Jump Offset Definitions and Length")
genDef(Jb, _JUMP_BUFFER, Fp)
genDef(Jb, _JUMP_BUFFER, Pc)
genDef(Jb, _JUMP_BUFFER, Seb)
genDef(Jb, _JUMP_BUFFER, Type)
genDef(Jb, _JUMP_BUFFER, FltF2)
genDef(Jb, _JUMP_BUFFER, FltF3)
genDef(Jb, _JUMP_BUFFER, FltF4)
genDef(Jb, _JUMP_BUFFER, FltF5)
genDef(Jb, _JUMP_BUFFER, FltF6)
genDef(Jb, _JUMP_BUFFER, FltF7)
genDef(Jb, _JUMP_BUFFER, FltF8)
genDef(Jb, _JUMP_BUFFER, FltF9)
genDef(Jb, _JUMP_BUFFER, IntS0)
genDef(Jb, _JUMP_BUFFER, IntS1)
genDef(Jb, _JUMP_BUFFER, IntS2)
genDef(Jb, _JUMP_BUFFER, IntS3)
genDef(Jb, _JUMP_BUFFER, IntS4)
genDef(Jb, _JUMP_BUFFER, IntS5)
genDef(Jb, _JUMP_BUFFER, IntS6)
genDef(Jb, _JUMP_BUFFER, IntSp)
genDef(Jb, _JUMP_BUFFER, Fir)
//
// Trap frame offset definitions.
//
genCom("Trap Frame Offset Definitions and Length")
genDef(Tr, KTRAP_FRAME, FltF0)
genDef(Tr, KTRAP_FRAME, FltF1)
genDef(Tr, KTRAP_FRAME, FltF10)
genDef(Tr, KTRAP_FRAME, FltF11)
genDef(Tr, KTRAP_FRAME, FltF12)
genDef(Tr, KTRAP_FRAME, FltF13)
genDef(Tr, KTRAP_FRAME, FltF14)
genDef(Tr, KTRAP_FRAME, FltF15)
genDef(Tr, KTRAP_FRAME, FltF16)
genDef(Tr, KTRAP_FRAME, FltF17)
genDef(Tr, KTRAP_FRAME, FltF18)
genDef(Tr, KTRAP_FRAME, FltF19)
genDef(Tr, KTRAP_FRAME, FltF20)
genDef(Tr, KTRAP_FRAME, FltF21)
genDef(Tr, KTRAP_FRAME, FltF22)
genDef(Tr, KTRAP_FRAME, FltF23)
genDef(Tr, KTRAP_FRAME, FltF24)
genDef(Tr, KTRAP_FRAME, FltF25)
genDef(Tr, KTRAP_FRAME, FltF26)
genDef(Tr, KTRAP_FRAME, FltF27)
genDef(Tr, KTRAP_FRAME, FltF28)
genDef(Tr, KTRAP_FRAME, FltF29)
genDef(Tr, KTRAP_FRAME, FltF30)
genDef(Tr, KTRAP_FRAME, IntV0)
genDef(Tr, KTRAP_FRAME, IntT0)
genDef(Tr, KTRAP_FRAME, IntT1)
genDef(Tr, KTRAP_FRAME, IntT2)
genDef(Tr, KTRAP_FRAME, IntT3)
genDef(Tr, KTRAP_FRAME, IntT4)
genDef(Tr, KTRAP_FRAME, IntT5)
genDef(Tr, KTRAP_FRAME, IntT6)
genDef(Tr, KTRAP_FRAME, IntT7)
genDef(Tr, KTRAP_FRAME, IntFp)
genDef(Tr, KTRAP_FRAME, IntA0)
genDef(Tr, KTRAP_FRAME, IntA1)
genDef(Tr, KTRAP_FRAME, IntA2)
genDef(Tr, KTRAP_FRAME, IntA3)
genDef(Tr, KTRAP_FRAME, IntA4)
genDef(Tr, KTRAP_FRAME, IntA5)
genDef(Tr, KTRAP_FRAME, IntT8)
genDef(Tr, KTRAP_FRAME, IntT9)
genDef(Tr, KTRAP_FRAME, IntT10)
genDef(Tr, KTRAP_FRAME, IntT11)
genDef(Tr, KTRAP_FRAME, IntT12)
genDef(Tr, KTRAP_FRAME, IntAt)
genDef(Tr, KTRAP_FRAME, IntGp)
genDef(Tr, KTRAP_FRAME, IntSp)
genDef(Tr, KTRAP_FRAME, Fpcr)
genDef(Tr, KTRAP_FRAME, Psr)
genDef(Tr, KTRAP_FRAME, Fir)
genAlt(TrExceptionRecord, KTRAP_FRAME, ExceptionRecord[0])
genDef(Tr, KTRAP_FRAME, OldIrql)
genDef(Tr, KTRAP_FRAME, PreviousMode)
genDef(Tr, KTRAP_FRAME, IntRa)
genDef(Tr, KTRAP_FRAME, TrapFrame)
genVal(TrapFrameLength, ROUND_UP(sizeof(KTRAP_FRAME), 16))
//
// Firmware frame offset defintions and length.
//
DisableInc(HALALPHA)
genCom("Firmware frame offset defintions and length")
genNam(FW_EXC_MCHK)
genNam(FW_EXC_ARITH)
genNam(FW_EXC_INTERRUPT)
genNam(FW_EXC_DFAULT)
genNam(FW_EXC_ITBMISS)
genNam(FW_EXC_ITBACV)
genNam(FW_EXC_NDTBMISS)
genNam(FW_EXC_PDTBMISS)
genNam(FW_EXC_UNALIGNED)
genNam(FW_EXC_OPCDEC)
genNam(FW_EXC_FEN)
genNam(FW_EXC_HALT)
genNam(FW_EXC_BPT)
genNam(FW_EXC_GENTRAP)
genNam(FW_EXC_HALT_INTERRUPT)
genDef(Fw, FIRMWARE_FRAME, Type)
genDef(Fw, FIRMWARE_FRAME, Param1)
genDef(Fw, FIRMWARE_FRAME, Param2)
genDef(Fw, FIRMWARE_FRAME, Param3)
genDef(Fw, FIRMWARE_FRAME, Param4)
genDef(Fw, FIRMWARE_FRAME, Param5)
genDef(Fw, FIRMWARE_FRAME, Psr)
genDef(Fw, FIRMWARE_FRAME, Mmcsr)
genDef(Fw, FIRMWARE_FRAME, Va)
genDef(Fw, FIRMWARE_FRAME, Fir)
genDef(Fw, FIRMWARE_FRAME, IntV0)
genDef(Fw, FIRMWARE_FRAME, IntT0)
genDef(Fw, FIRMWARE_FRAME, IntT1)
genDef(Fw, FIRMWARE_FRAME, IntT2)
genDef(Fw, FIRMWARE_FRAME, IntT3)
genDef(Fw, FIRMWARE_FRAME, IntT4)
genDef(Fw, FIRMWARE_FRAME, IntT5)
genDef(Fw, FIRMWARE_FRAME, IntT6)
genDef(Fw, FIRMWARE_FRAME, IntT7)
genDef(Fw, FIRMWARE_FRAME, IntS0)
genDef(Fw, FIRMWARE_FRAME, IntS1)
genDef(Fw, FIRMWARE_FRAME, IntS2)
genDef(Fw, FIRMWARE_FRAME, IntS3)
genDef(Fw, FIRMWARE_FRAME, IntS4)
genDef(Fw, FIRMWARE_FRAME, IntS5)
genDef(Fw, FIRMWARE_FRAME, IntFp)
genDef(Fw, FIRMWARE_FRAME, IntA0)
genDef(Fw, FIRMWARE_FRAME, IntA1)
genDef(Fw, FIRMWARE_FRAME, IntA2)
genDef(Fw, FIRMWARE_FRAME, IntA3)
genDef(Fw, FIRMWARE_FRAME, IntA4)
genDef(Fw, FIRMWARE_FRAME, IntA5)
genDef(Fw, FIRMWARE_FRAME, IntT8)
genDef(Fw, FIRMWARE_FRAME, IntT9)
genDef(Fw, FIRMWARE_FRAME, IntT10)
genDef(Fw, FIRMWARE_FRAME, IntT11)
genDef(Fw, FIRMWARE_FRAME, IntRa)
genDef(Fw, FIRMWARE_FRAME, IntT12)
genDef(Fw, FIRMWARE_FRAME, IntAt)
genDef(Fw, FIRMWARE_FRAME, IntGp)
genDef(Fw, FIRMWARE_FRAME, IntSp)
genDef(Fw, FIRMWARE_FRAME, IntZero)
genDef(Fw, FIRMWARE_FRAME, FltF0)
genDef(Fw, FIRMWARE_FRAME, FltF1)
genDef(Fw, FIRMWARE_FRAME, FltF2)
genDef(Fw, FIRMWARE_FRAME, FltF3)
genDef(Fw, FIRMWARE_FRAME, FltF4)
genDef(Fw, FIRMWARE_FRAME, FltF5)
genDef(Fw, FIRMWARE_FRAME, FltF6)
genDef(Fw, FIRMWARE_FRAME, FltF7)
genDef(Fw, FIRMWARE_FRAME, FltF8)
genDef(Fw, FIRMWARE_FRAME, FltF9)
genDef(Fw, FIRMWARE_FRAME, FltF10)
genDef(Fw, FIRMWARE_FRAME, FltF11)
genDef(Fw, FIRMWARE_FRAME, FltF12)
genDef(Fw, FIRMWARE_FRAME, FltF13)
genDef(Fw, FIRMWARE_FRAME, FltF14)
genDef(Fw, FIRMWARE_FRAME, FltF15)
genDef(Fw, FIRMWARE_FRAME, FltF16)
genDef(Fw, FIRMWARE_FRAME, FltF17)
genDef(Fw, FIRMWARE_FRAME, FltF18)
genDef(Fw, FIRMWARE_FRAME, FltF19)
genDef(Fw, FIRMWARE_FRAME, FltF20)
genDef(Fw, FIRMWARE_FRAME, FltF21)
genDef(Fw, FIRMWARE_FRAME, FltF22)
genDef(Fw, FIRMWARE_FRAME, FltF23)
genDef(Fw, FIRMWARE_FRAME, FltF24)
genDef(Fw, FIRMWARE_FRAME, FltF25)
genDef(Fw, FIRMWARE_FRAME, FltF26)
genDef(Fw, FIRMWARE_FRAME, FltF27)
genDef(Fw, FIRMWARE_FRAME, FltF28)
genDef(Fw, FIRMWARE_FRAME, FltF29)
genDef(Fw, FIRMWARE_FRAME, FltF30)
genDef(Fw, FIRMWARE_FRAME, FltF31)
genVal(FirmwareFrameLength, FIRMWARE_FRAME_LENGTH)
//
// Usermode lout frame definitions
//
genCom("Usermode callout frame definitions")
genDef(Cu, KCALLOUT_FRAME, F2)
genDef(Cu, KCALLOUT_FRAME, F3)
genDef(Cu, KCALLOUT_FRAME, F4)
genDef(Cu, KCALLOUT_FRAME, F5)
genDef(Cu, KCALLOUT_FRAME, F6)
genDef(Cu, KCALLOUT_FRAME, F7)
genDef(Cu, KCALLOUT_FRAME, F8)
genDef(Cu, KCALLOUT_FRAME, F9)
genDef(Cu, KCALLOUT_FRAME, S0)
genDef(Cu, KCALLOUT_FRAME, S1)
genDef(Cu, KCALLOUT_FRAME, S2)
genDef(Cu, KCALLOUT_FRAME, S3)
genDef(Cu, KCALLOUT_FRAME, S4)
genDef(Cu, KCALLOUT_FRAME, S5)
genDef(Cu, KCALLOUT_FRAME, FP)
genDef(Cu, KCALLOUT_FRAME, CbStk)
genDef(Cu, KCALLOUT_FRAME, InStk)
genDef(Cu, KCALLOUT_FRAME, TrFr)
genDef(Cu, KCALLOUT_FRAME, TrFir)
genDef(Cu, KCALLOUT_FRAME, Ra)
genDef(Cu, KCALLOUT_FRAME, A0)
genDef(Cu, KCALLOUT_FRAME, A1)
genVal(CuFrameLength, sizeof(KCALLOUT_FRAME))
//
// Usermode callout user frame definitions.
//
genCom("Usermode callout user frame definitions")
genDef(Ck, UCALLOUT_FRAME, Buffer)
genDef(Ck, UCALLOUT_FRAME, Length)
genDef(Ck, UCALLOUT_FRAME, ApiNumber)
genDef(Ck, UCALLOUT_FRAME, Sp)
genDef(Ck, UCALLOUT_FRAME, Ra)
//
// KFLOATING_SAVE definition
//
genCom("KFLOATING_SAVE definitions")
genDef(Kfs, KFLOATING_SAVE, Fpcr)
genDef(Kfs, KFLOATING_SAVE, SoftFpcr)
genDef(Kfs, KFLOATING_SAVE, Reserved1)
genDef(Kfs, KFLOATING_SAVE, Reserved2)
genDef(Kfs, KFLOATING_SAVE, Reserved3)
genDef(Kfs, KFLOATING_SAVE, Reserved4)
EnableInc(HALALPHA)
//
// Loader Paeter Block offset definitions.
//
genCom("Loader Parameter Block Offset Definitions")
genDef(Lpb, LOADER_PARAMETER_BLOCK, LoadOrderListHead)
genDef(Lpb, LOADER_PARAMETER_BLOCK, MemoryDescriptorListHead)
genDef(Lpb, LOADER_PARAMETER_BLOCK, KernelStack)
genDef(Lpb, LOADER_PARAMETER_BLOCK, Prcb)
genDef(Lpb, LOADER_PARAMETER_BLOCK, Process)
genDef(Lpb, LOADER_PARAMETER_BLOCK, Thread)
genDef(Lpb, LOADER_PARAMETER_BLOCK, RegistryLength)
genDef(Lpb, LOADER_PARAMETER_BLOCK, RegistryBase)
genAlt(LpbDpcStack,
LOADER_PARAMETER_BLOCK, u.Alpha.DpcStack)
genAlt(LpbFirstLevelDcacheSize,
LOADER_PARAMETER_BLOCK, u.Alpha.FirstLevelDcacheSize)
genAlt(LpbFirstLevelDcacheFillSize,
LOADER_PARAMETER_BLOCK, u.Alpha.FirstLevelDcacheFillSize)
genAlt(LpbFirstLevelIcacheSize,
LOADER_PARAMETER_BLOCK, u.Alpha.FirstLevelIcacheSize)
genAlt(LpbFirstLevelIcacheFillSize,
LOADER_PARAMETER_BLOCK, u.Alpha.FirstLevelIcacheFillSize)
genAlt(LpbGpBase,
LOADER_PARAMETER_BLOCK, u.Alpha.GpBase)
genAlt(LpbPanicStack,
LOADER_PARAMETER_BLOCK, u.Alpha.PanicStack)
genAlt(LpbPcrPage,
LOADER_PARAMETER_BLOCK, u.Alpha.PcrPage)
genAlt(LpbPdrPage,
LOADER_PARAMETER_BLOCK, u.Alpha.PdrPage)
genAlt(LpbSecondLevelDcacheSize,
LOADER_PARAMETER_BLOCK, u.Alpha.SecondLevelDcacheSize)
genAlt(LpbSecondLevelDcacheFillSize,
LOADER_PARAMETER_BLOCK, u.Alpha.SecondLevelDcacheFillSize)
genAlt(LpbSecondLevelIcacheSize,
LOADER_PARAMETER_BLOCK, u.Alpha.SecondLevelIcacheSize)
genAlt(LpbSecondLevelIcacheFillSize,
LOADER_PARAMETER_BLOCK, u.Alpha.SecondLevelIcacheFillSize)
genAlt(LpbPhysicalAddressBits,
LOADER_PARAMETER_BLOCK, u.Alpha.PhysicalAddressBits)
genAlt(LpbMaximumAddressSpaceNumber,
LOADER_PARAMETER_BLOCK, u.Alpha.MaximumAddressSpaceNumber)
genAlt(LpbSystemSerialNumber,
LOADER_PARAMETER_BLOCK, u.Alpha.SystemSerialNumber[0])
genAlt(LpbSystemType,
LOADER_PARAMETER_BLOCK, u.Alpha.SystemType[0])
genAlt(LpbSystemVariant,
LOADER_PARAMETER_BLOCK, u.Alpha.SystemVariant)
genAlt(LpbSystemRevision,
LOADER_PARAMETER_BLOCK, u.Alpha.SystemRevision)
genAlt(LpbProcessorType,
LOADER_PARAMETER_BLOCK, u.Alpha.ProcessorType)
genAlt(LpbProcessorRevision,
LOADER_PARAMETER_BLOCK, u.Alpha.ProcessorRevision)
genAlt(LpbCycleClockPeriod,
LOADER_PARAMETER_BLOCK, u.Alpha.CycleClockPeriod)
genAlt(LpbPageSize,
LOADER_PARAMETER_BLOCK, u.Alpha.PageSize)
genAlt(LpbRestartBlock,
LOADER_PARAMETER_BLOCK, u.Alpha.RestartBlock)
genAlt(LpbFirmwareRestartAddress,
LOADER_PARAMETER_BLOCK, u.Alpha.FirmwareRestartAddress)
genAlt(LpbFirmwareRevisionId,
LOADER_PARAMETER_BLOCK, u.Alpha.FirmwareRevisionId)
genAlt(LpbPalBaseAddress,
LOADER_PARAMETER_BLOCK, u.Alpha.PalBaseAddress)
DisableInc(HALALPHA)
//
// Restart Block Structure and Alpha Save Area Structure.
//
// N.B. - The Alpha Save Area Structure Offsets are written as though
// they were offsets from the beginning of the Restart block.
//
EnableInc(HALALPHA)
genCom("Restart Block Structure Definitions")
genDef(Rb, RESTART_BLOCK, Signature)
genDef(Rb, RESTART_BLOCK, Length)
genDef(Rb, RESTART_BLOCK, Version)
genDef(Rb, RESTART_BLOCK, Revision)
genDef(Rb, RESTART_BLOCK, NextRestartBlock)
genDef(Rb, RESTART_BLOCK, RestartAddress)
genDef(Rb, RESTART_BLOCK, BootMasterId)
genDef(Rb, RESTART_BLOCK, ProcessorId)
genDef(Rb, RESTART_BLOCK, BootStatus)
genDef(Rb, RESTART_BLOCK, CheckSum)
genDef(Rb, RESTART_BLOCK, SaveAreaLength)
genAlt(RbSaveArea, RESTART_BLOCK, u.SaveArea)
genVal(RbHaltReason,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, HaltReason))
genVal(RbLogoutFrame,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, LogoutFrame))
genVal(RbPalBase,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, PalBase))
genVal(RbIntV0,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntV0))
genVal(RbIntT0,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT0))
genVal(RbIntT1,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT1))
genVal(RbIntT2,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT2))
genVal(RbIntT3,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT3))
genVal(RbIntT4,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT4))
genVal(RbIntT5,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT5))
genVal(RbIntT6,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT6))
genVal(RbIntT7,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT7))
genVal(RbIntS0,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntS0))
genVal(RbIntS1,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntS1))
genVal(RbIntS2,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntS2))
genVal(RbIntS3,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntS3))
genVal(RbIntS4,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntS4))
genVal(RbIntS5,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntS5))
genVal(RbIntFp,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntFp))
genVal(RbIntA0,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntA0))
genVal(RbIntA1,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntA1))
genVal(RbIntA2,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntA2))
genVal(RbIntA3,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntA3))
genVal(RbIntA4,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntA4))
genVal(RbIntA5,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntA5))
genVal(RbIntT8,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT8))
genVal(RbIntT9,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT9))
genVal(RbIntT10,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT10))
genVal(RbIntT11,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT11))
genVal(RbIntRa,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntRa))
genVal(RbIntT12,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntT12))
genVal(RbIntAT,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntAT))
genVal(RbIntGp,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntGp))
genVal(RbIntSp,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntSp))
genVal(RbIntZero,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, IntZero))
genVal(RbFpcr,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Fpcr))
genVal(RbFltF0,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF0))
genVal(RbFltF1,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF1))
genVal(RbFltF2,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF2))
genVal(RbFltF3,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF3))
genVal(RbFltF4,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF4))
genVal(RbFltF5,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF5))
genVal(RbFltF6,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF6))
genVal(RbFltF7,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF7))
genVal(RbFltF8,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF8))
genVal(RbFltF9,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF9))
genVal(RbFltF10,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF10))
genVal(RbFltF11,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF11))
genVal(RbFltF12,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF12))
genVal(RbFltF13,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF13))
genVal(RbFltF14,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF14))
genVal(RbFltF15,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF15))
genVal(RbFltF16,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF16))
genVal(RbFltF17,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF17))
genVal(RbFltF18,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF18))
genVal(RbFltF19,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF19))
genVal(RbFltF20,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF20))
genVal(RbFltF21,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF21))
genVal(RbFltF22,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF22))
genVal(RbFltF23,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF23))
genVal(RbFltF24,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF24))
genVal(RbFltF25,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF25))
genVal(RbFltF26,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF26))
genVal(RbFltF27,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF27))
genVal(RbFltF28,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF28))
genVal(RbFltF29,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF29))
genVal(RbFltF30,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF30))
genVal(RbFltF31,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, FltF31))
genVal(RbAsn,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Asn))
genVal(RbGeneralEntry,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, GeneralEntry))
genVal(RbIksp,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Iksp))
genVal(RbInterruptEntry,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, InterruptEntry))
genVal(RbKgp,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Kgp))
genVal(RbMces,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Mces))
genVal(RbMemMgmtEntry,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, MemMgmtEntry))
genVal(RbPanicEntry,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, PanicEntry))
genVal(RbPcr,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Pcr))
genVal(RbPdr,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Pdr))
genVal(RbPsr,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Psr))
genVal(RbReiRestartAddress,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, ReiRestartAddress))
genVal(RbSirr,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Sirr))
genVal(RbSyscallEntry,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, SyscallEntry))
genVal(RbTeb,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Teb))
genVal(RbThread,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, Thread))
genVal(RbPerProcessorState,
OFFSET(RESTART_BLOCK, u.SaveArea) +
OFFSET(ALPHA_RESTART_STATE, PerProcessorState))
//
// Address space layout definitions
//
genCom("Address Space Layout Definitions")
genNamUint(KSEG0_BASE)
genNamUint(KSEG2_BASE)
DisableInc(HALALPHA)
genNamUint(SYSTEM_BASE)
genNamUint(PDE_BASE)
genNamUint(PTE_BASE)
genNamUint(PDE64_BASE)
genNamUint(PTE64_BASE)
//
// Page table and page directory entry definitions
//
EnableInc(HALALPHA)
genCom("Page Table and Directory Entry Definitions")
genNam(PAGE_SIZE)
genNam(PAGE_SHIFT)
genNam(PDI_SHIFT)
genNam(PTI_SHIFT)
DisableInc(HALALPHA)
//
// Breakpoint instruction definitions
//
EnableInc(HALALPHA)
genCom("Breakpoint Definitions")
genNam(USER_BREAKPOINT)
genNam(KERNEL_BREAKPOINT)
genNam(BREAKIN_BREAKPOINT)
genNam(DEBUG_PRINT_BREAKPOINT)
genNam(DEBUG_PROMPT_BREAKPOINT)
genNam(DEBUG_STOP_BREAKPOINT)
genNam(DEBUG_LOAD_SYMBOLS_BREAKPOINT)
genNam(DEBUG_UNLOAD_SYMBOLS_BREAKPOINT)
DisableInc(HALALPHA)
//
//
// Trap code definitions
//
genCom("Trap Code Definitions")
genNam(GENTRAP_INTEGER_OVERFLOW)
genNam(GENTRAP_INTEGER_DIVIDE_BY_ZERO)
genNam(GENTRAP_FLOATING_OVERFLOW)
genNam(GENTRAP_FLOATING_DIVIDE_BY_ZERO)
genNam(GENTRAP_FLOATING_UNDERFLOW)
genNam(GENTRAP_FLOATING_INVALID_OPERAND)
genNam(GENTRAP_FLOATING_INEXACT_RESULT)
//
// Miscellaneous definitions
//
EnableInc(HALALPHA)
genCom("Miscellaneous Definitions")
genNam(Executive)
genNam(KernelMode)
genNam(FALSE)
genNam(TRUE)
DisableInc(HALALPHA)
genNam(BASE_PRIORITY_THRESHOLD)
genNam(EVENT_PAIR_INCREMENT)
genNam(LOW_REALTIME_PRIORITY)
genNamUint(MM_USER_PROBE_ADDRESS)
genNam(KERNEL_STACK_SIZE)
genNam(KERNEL_LARGE_STACK_COMMIT)
genNam(SET_LOW_WAIT_HIGH)
genNam(SET_HIGH_WAIT_LOW)
genNam(CLOCK_QUANTUM_DECREMENT)
genNam(READY_SKIP_QUANTUM)
genNam(THREAD_QUANTUM)
genNam(WAIT_QUANTUM_DECREMENT)
genNam(ROUND_TRIP_DECREMENT_COUNT)
//
// Generate processor type definitions.
//
EnableInc(HALALPHA)
genNam(PROCESSOR_ALPHA_21064)
genNam(PROCESSOR_ALPHA_21164)
genNam(PROCESSOR_ALPHA_21066)
genNam(PROCESSOR_ALPHA_21068)
genNam(PROCESSOR_ALPHA_21164PC)
genNam(PROCESSOR_ALPHA_21264)
//
// Insert any bitfield definitions that have been generated
//
DUMP_BITFIELDS
//
// Generate the call pal mnemonic to opcode definitions.
//
genCom("Call PAL Mnemonics")
genTxt("// begin callpal\n")
genSpc()
//
// N.B. any new call pal functions must be added to both alphaops.h
// and to the call pal entry table below.
//
// Unprivileged Call Pals
genPal(BPT_FUNC)
genPal(CALLSYS_FUNC)
genPal(IMB_FUNC)
genPal(GENTRAP_FUNC)
genPal(RDTEB_FUNC)
genPal(KBPT_FUNC)
genPal(CALLKD_FUNC)
#if defined(_AXP64_)
genPal(RDTEB64_FUNC)
#endif
// Privileged Call Pals
genPal(HALT_FUNC)
genPal(RESTART_FUNC)
genPal(DRAINA_FUNC)
genPal(REBOOT_FUNC)
genPal(INITPAL_FUNC)
genPal(WRENTRY_FUNC)
genPal(SWPIRQL_FUNC)
genPal(RDIRQL_FUNC)
genPal(DI_FUNC)
genPal(EI_FUNC)
genPal(SWPPAL_FUNC)
genPal(SSIR_FUNC)
genPal(CSIR_FUNC)
genPal(RFE_FUNC)
genPal(RETSYS_FUNC)
genPal(SWPCTX_FUNC)
genPal(SWPPROCESS_FUNC)
genPal(RDMCES_FUNC)
genPal(WRMCES_FUNC)
genPal(TBIA_FUNC)
genPal(TBIS_FUNC)
genPal(TBISASN_FUNC)
genPal(DTBIS_FUNC)
genPal(RDKSP_FUNC)
genPal(SWPKSP_FUNC)
genPal(RDPSR_FUNC)
genPal(RDPCR_FUNC)
genPal(RDTHREAD_FUNC)
genPal(TBIM_FUNC)
genPal(TBIMASN_FUNC)
genPal(TBIM64_FUNC)
genPal(TBIS64_FUNC)
genPal(EALNFIX_FUNC)
genPal(DALNFIX_FUNC)
genPal(RDCOUNTERS_FUNC)
genPal(RDSTATE_FUNC)
genPal(WRPERFMON_FUNC)
genPal(CP_SLEEP_FUNC)
// 21064 (EV4) - specific functions
genPal(INITPCR_FUNC)
genSpc()
genTxt("// end callpal\n")
genSpc()
//
// Define Bios Argument structure definitions.
//
genCom("Bios Argument Structure Definitions")
genDef(Ba, X86_BIOS_ARGUMENTS, Eax)
genDef(Ba, X86_BIOS_ARGUMENTS, Ebx)
genDef(Ba, X86_BIOS_ARGUMENTS, Ecx)
genDef(Ba, X86_BIOS_ARGUMENTS, Edx)
genDef(Ba, X86_BIOS_ARGUMENTS, Esi)
genDef(Ba, X86_BIOS_ARGUMENTS, Edi)
genDef(Ba, X86_BIOS_ARGUMENTS, Ebp)
genVal(BiosArgumentLength, sizeof(X86_BIOS_ARGUMENTS))
genCom("Define Vendor Callback Read/Write Error Frame Operation Types")
genVal(ReadFrame, ReadFrame)
genVal(WriteFrame, WriteFrame)
genCom("Define Vendor Callback Vector Base Address")
genValUint(SYSTEM_VECTOR_BASE,
(ULONG_PTR)SYSTEM_BLOCK + OFFSET(SYSTEM_PARAMETER_BLOCK, VendorVector))
genCom("Define Vendor Callback Offsets")
genVal(VnCallBiosRoutine, CallBiosRoutine * 4)
genVal(VnReadWriteErrorFrameRoutine, ReadWriteErrorFrameRoutine * 4)
genVal(VnVideoDisplayInitializeRoutine, VideoDisplayInitializeRoutine * 4)
genCom("Define Firmware Callback Vector Base Address")
genValUint(FIRMWARE_VECTOR_BASE,
(ULONG_PTR)SYSTEM_BLOCK + OFFSET(SYSTEM_PARAMETER_BLOCK, FirmwareVector))
genCom("Define Firmware Callback Offsets")
genVal(FwGetEnvironmentRoutine, GetEnvironmentRoutine * 4)
genVal(FwSetEnvironmentRoutine, SetEnvironmentRoutine * 4)
//
// Close out conditional statement.
//
EnableInc(KSALPHA | HALALPHA)
END_LIST
};