; 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. ; ; The layout of the HAL descriptor ^ 0 HALDesc_Flags # 4 HALDesc_Start # 4 HALDesc_Size # 4 HALDesc_Entries # 4 HALDesc_NumEntries # 4 HALDesc_Workspace # 4 HALDesc_VideoRAMSize # 4 HALDesc_size # 4 HALFlag_NCNBWorkspace * 1:SHL:0 HALFlag_LimitVideoRAM * 1:SHL:1 ; Entries to the HAL from the OS ^ 0 EntryNo_HAL_Init # 1 EntryNo_HAL_IRQEnable # 1 EntryNo_HAL_IRQDisable # 1 EntryNo_HAL_IRQClear # 1 EntryNo_HAL_IRQSource # 1 EntryNo_HAL_IRQStatus # 1 EntryNo_HAL_FIQEnable # 1 EntryNo_HAL_FIQDisable # 1 EntryNo_HAL_FIQDisableAll # 1 EntryNo_HAL_FIQClear # 1 EntryNo_HAL_FIQSource # 1 EntryNo_HAL_FIQStatus # 1 EntryNo_HAL_Timers # 1 EntryNo_HAL_TimerDevice # 1 EntryNo_HAL_TimerGranularity # 1 EntryNo_HAL_TimerMaxPeriod # 1 EntryNo_HAL_TimerSetPeriod # 1 EntryNo_HAL_TimerPeriod # 1 EntryNo_HAL_TimerReadCountdown # 1 EntryNo_HAL_CounterRate # 1 EntryNo_HAL_CounterPeriod # 1 EntryNo_HAL_CounterRead # 1 EntryNo_HAL_CounterDelay # 1 EntryNo_HAL_NVMemoryType # 1 EntryNo_HAL_NVMemorySize # 1 EntryNo_HAL_NVMemoryPageSize # 1 EntryNo_HAL_NVMemoryProtectedSize # 1 EntryNo_HAL_NVMemoryProtection # 1 EntryNo_HAL_NVMemoryIICAddress # 1 EntryNo_HAL_NVMemoryRead # 1 EntryNo_HAL_NVMemoryWrite # 1 EntryNo_HAL_IICBuses # 1 EntryNo_HAL_IICType # 1 EntryNo_HAL_IICSetLines # 1 EntryNo_HAL_IICReadLines # 1 EntryNo_HAL_IICDevice # 1 EntryNo_HAL_IICTransfer # 1 EntryNo_HAL_IICMonitorTransfer # 1 EntryNo_HAL_VideoFlybackDevice # 1 EntryNo_HAL_Video_SetMode # 1 EntryNo_HAL_Video_WritePaletteEntry # 1 EntryNo_HAL_Video_WritePaletteEntries # 1 EntryNo_HAL_Video_ReadPaletteEntry # 1 EntryNo_HAL_Video_SetInterlace # 1 EntryNo_HAL_Video_SetBlank # 1 EntryNo_HAL_Video_SetPowerSave # 1 EntryNo_HAL_Video_UpdatePointer # 1 EntryNo_HAL_Video_SetDAG # 1 EntryNo_HAL_Video_VetMode # 1 EntryNo_HAL_Video_PixelFormats # 1 EntryNo_HAL_Video_Features # 1 EntryNo_HAL_Video_BufferAlignment # 1 EntryNo_HAL_Video_OutputFormat # 1 EntryNo_HAL_MatrixColumns # 1 EntryNo_HAL_MatrixScan # 1 EntryNo_HAL_TouchscreenType # 1 EntryNo_HAL_TouchscreenRead # 1 EntryNo_HAL_TouchscreenMode # 1 EntryNo_HAL_TouchscreenMeasure # 1 EntryNo_HAL_MachineID # 1 ; ReadSysInfo 2 EntryNo_HAL_ControllerAddress # 1 ; Memory 9 EntryNo_HAL_HardwareInfo # 1 ; ReadSysInfo 2 EntryNo_HAL_SuperIOInfo # 1 ; ReadSysInfo 3 EntryNo_HAL_PlatformInfo # 1 ; ReadSysInfo 8 EntryNo_HAL_CleanerSpace # 1 EntryNo_HAL_UARTPorts # 1 EntryNo_HAL_UARTStartUp # 1 EntryNo_HAL_UARTShutdown # 1 EntryNo_HAL_UARTFeatures # 1 EntryNo_HAL_UARTReceiveByte # 1 EntryNo_HAL_UARTTransmitByte # 1 EntryNo_HAL_UARTLineStatus # 1 EntryNo_HAL_UARTInterruptEnable # 1 EntryNo_HAL_UARTRate # 1 EntryNo_HAL_UARTFormat # 1 EntryNo_HAL_UARTFIFOSize # 1 EntryNo_HAL_UARTFIFOClear # 1 EntryNo_HAL_UARTFIFOEnable # 1 EntryNo_HAL_UARTFIFOThreshold # 1 EntryNo_HAL_UARTInterruptID # 1 EntryNo_HAL_UARTBreak # 1 EntryNo_HAL_UARTModemControl # 1 EntryNo_HAL_UARTModemStatus # 1 EntryNo_HAL_UARTDevice # 1 EntryNo_HAL_Reset # 1 EntryNo_HAL_DebugRX # 1 EntryNo_HAL_DebugTX # 1 EntryNo_HAL_PCIFeatures # 1 EntryNo_HAL_PCIReadConfigByte # 1 EntryNo_HAL_PCIReadConfigHalfword # 1 EntryNo_HAL_PCIReadConfigWord # 1 EntryNo_HAL_PCIWriteConfigByte # 1 EntryNo_HAL_PCIWriteConfigHalfword # 1 EntryNo_HAL_PCIWriteConfigWord # 1 EntryNo_HAL_PCISpecialCycle # 1 EntryNo_HAL_PCISlotTable # 1 EntryNo_HAL_PCIAddresses # 1 EntryNo_HAL_ATAControllerInfo # 1 EntryNo_HAL_ATASetModes # 1 EntryNo_HAL_ATACableID # 1 EntryNo_HAL_InitDevices # 1 EntryNo_HAL_KbdScanSetup # 1 EntryNo_HAL_KbdScan # 1 EntryNo_HAL_KbdScanFinish # 1 EntryNo_HAL_KbdScanInterrupt # 1 EntryNo_HAL_PhysInfo # 1 EntryNo_HAL_USBControllerInfo # 1 EntryNo_HAL_MonitorLeadID # 1 EntryNo_HAL_Video_Render # 1 EntryNo_HAL_USBPortPower # 1 EntryNo_HAL_USBPortStatus # 1 EntryNo_HAL_USBPortIRQ # 1 EntryNo_HAL_Video_IICOp # 1 EntryNo_HAL_TimerIRQClear # 1 EntryNo_HAL_TimerIRQStatus # 1 EntryNo_HAL_ExtMachineID # 1 ; ReadSysInfo 10 KnownHALEntries # 0 ; Used inside Kernel ; Various flags and constants ; NVMemory NVMemoryFlag_None * 0 NVMemoryFlag_MaybeIIC * 1 NVMemoryFlag_IIC * 2 NVMemoryFlag_HAL * 3 NVMemoryFlag_Provision * &FF ; mask for provision NVMemoryFlag_ProtectAtEnd * 1:SHL:8 ; Protected region at end NVMemoryFlag_Deprotectable * 1:SHL:9 NVMemoryFlag_LowRead * 1:SHL:10 ; locations 0-15 are readable NVMemoryFlag_LowWrite * 1:SHL:11 ; locations 0-15 are writeable ; IIC IICFlag_LowLevel * 1:SHL:0 IICFlag_HighLevel * 1:SHL:1 IICFlag_Background * 1:SHL:4 IICFlag_Fast * 1:SHL:16 IICFlag_HighSpeed * 1:SHL:17 END