; Copyright 2000 Pace Micro Technology plc ; ; Licensed under the Apache License, Version 2.0 (the "License"); ; you may not use this file except in compliance with the License. ; You may obtain a copy of the License at ; ; http://www.apache.org/licenses/LICENSE-2.0 ; ; Unless required by applicable law or agreed to in writing, software ; distributed under the License is distributed on an "AS IS" BASIS, ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ; See the License for the specific language governing permissions and ; limitations under the License. ; ; Entries to the OS from the HAL ^ 0 OS_InitARM # 1 OS_AddRAM # 1 OS_Start # 1 OS_MapInIO # 1 OS_AddDevice # 1 OS_LogToPhys # 1 OS_IICOpV # 1 OS_MapInIO64 # 1 HighestOSEntry * :INDEX: @ - 1 ; The layout of the OS header ^ 0 OSHdr_Magic # 4 ; = "OSIm" OSHdr_Flags # 4 OSHdr_ImageSize # 4 ; Size of image after decompression OSHdr_Entries # 4 ; Offset from header start to entry point table OSHdr_NumEntries # 4 OSHdr_CompressedSize # 4 ; Same as OSHdr_ImageSize if not compressed OSHdr_DecompressHdr # 4 ; Offset from header start to decompression header. 0 if not compressed. OSHdr_CompressOffset # 4 ; Offset at which compression should be performed OSHdr_size # 0 OSHdrFlag_SupportsCompression * 1 ; OS supports compressed images OSHdr_ValidFlags * 1 ; Mask of all valid flags ; Parameters/flag for various calls OSStartFlag_POR * 1:SHL:0 ; Power-On Reset OSStartFlag_NoCMOSReset * 1:SHL:1 ; CMOS reset inhibited (protection link etc) OSStartFlag_CMOSReset * 1:SHL:2 ; CMOS reset (if POR and not inhibited) OSStartFlag_NoCMOS * 1:SHL:3 ; There's no real NVRAM, only cache OSStartFlag_RAMCleared * 1:SHL:4 ; RAM has been cleared to zero ; Decompression header block ^ 0 OSDecompHdr_WSSize # 4 ; Required workspace size (multiple of 4K) OSDecompHdr_Code # 4 ; Offset from header start to decompression code OSDecompHdr_size # 0 ; OS_AddRAM flags OSAddRAM_IsVRAM * 1:SHL:0 OSAddRAM_VRAMNotForGeneralUse * 1:SHL:1 OSAddRAM_NoDMA * 1:SHL:7 ; Don't allow any DMA here OSAddRAM_Speed * 1:SHL:8 ; 4 bit value, higher = faster OSAddRAM_LargeAddresses * 1:SHL:12 ; start, end, sigbits are all shifted right 12 bits END