Commit ea837302 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Add OS_ReadSysInfo 9,6 and 9,7

Subreason 7 returns a string naming the HAL platform. Use HAL entry 97 to get this, and obsolete 97/98/99 in favour of using a HAL device. Line up the HAL video entries to match the others.
Subreason 6 is just back filling one ROL added, testing this on RISC OS Select just returned the OS name so we do the same now (same as subreason 0, not sure what ROL's distinction was for).
Allocate a HAL device for PATA IDE controllers, and the 2 known ones to date - Tungsten and IOMD systems.

Version 5.35, 4.79.2.301. Tagged as 'Kernel-5_35-4_79_2_301'
parent 4639dcc3
......@@ -13,11 +13,11 @@
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.300"
Module_Date SETS "01 Dec 2015"
Module_ApplicationDate SETS "01-Dec-15"
Module_MinorVersion SETS "4.79.2.301"
Module_Date SETS "05 Jan 2016"
Module_ApplicationDate SETS "05-Jan-16"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.300)"
Module_HelpVersion SETS "5.35 (01 Dec 2015) 4.79.2.300"
Module_FullVersion SETS "5.35 (4.79.2.301)"
Module_HelpVersion SETS "5.35 (05 Jan 2016) 4.79.2.301"
END
......@@ -5,19 +5,19 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.300
#define Module_Date_CMHG 01 Dec 2015
#define Module_MinorVersion_CMHG 4.79.2.301
#define Module_Date_CMHG 05 Jan 2016
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.300"
#define Module_Date "01 Dec 2015"
#define Module_MinorVersion "4.79.2.301"
#define Module_Date "05 Jan 2016"
#define Module_ApplicationDate "01-Dec-15"
#define Module_ApplicationDate "05-Jan-16"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.300)"
#define Module_HelpVersion "5.35 (01 Dec 2015) 4.79.2.300"
#define Module_FullVersion "5.35 (4.79.2.301)"
#define Module_HelpVersion "5.35 (05 Jan 2016) 4.79.2.301"
#define Module_LibraryVersionInfo "5:35"
......@@ -75,6 +75,7 @@ HALDeviceType_ExpCtl * 5 :SHL: 8
^ 1
HALDeviceExpCtl_SDIO # 1 ; SD/SDIO host controller
HALDeviceExpCtl_AHCI # 1 ; AHCI SATA bus interface
HALDeviceExpCtl_IDE # 1 ; IDE PATA bus interface
; things like USB, FireWire, SAS controllers might go here
HALDeviceType_HID * 6 :SHL: 8
......@@ -229,6 +230,10 @@ HALDeviceID_Touchscreen_FT5406 # 1
HALDeviceID_AHCI_IMX6 # 1
HALDeviceID_AHCI_SynopsisDWC # 1
^ 0
HALDeviceID_IDE_SMC37C66x # 1 ; SMSC super IO '665/'669
HALDeviceID_IDE_M5229 # 1 ; ALi super IO
^ 0
HALDeviceID_CacheC_PL310 # 1
......
......@@ -74,21 +74,21 @@ EntryNo_HAL_IICDevice # 1 ; 35
EntryNo_HAL_IICTransfer # 1 ; 36
EntryNo_HAL_IICMonitorTransfer # 1 ; 37
EntryNo_HAL_VideoFlybackDevice # 1 ; 38
EntryNo_HAL_VideoSetMode # 1 ; 39
EntryNo_HAL_VideoWritePaletteEntry # 1 ; 40
EntryNo_HAL_VideoWritePaletteEntries # 1 ; 41
EntryNo_HAL_VideoReadPaletteEntry # 1 ; 42
EntryNo_HAL_VideoSetInterlace # 1 ; 43
EntryNo_HAL_VideoSetBlank # 1 ; 44
EntryNo_HAL_VideoSetPowerSave # 1 ; 45
EntryNo_HAL_VideoUpdatePointer # 1 ; 46
EntryNo_HAL_VideoSetDAG # 1 ; 47
EntryNo_HAL_VideoVetMode # 1 ; 48
EntryNo_HAL_VideoPixelFormats # 1 ; 49
EntryNo_HAL_VideoFeatures # 1 ; 50
EntryNo_HAL_VideoBufferAlignment # 1 ; 51
EntryNo_HAL_VideoOutputFormat # 1 ; 52
EntryNo_HAL_VideoFlybackDevice # 1 ; 38
EntryNo_HAL_VideoSetMode # 1 ; 39
EntryNo_HAL_VideoWritePaletteEntry # 1 ; 40
EntryNo_HAL_VideoWritePaletteEntries # 1 ; 41
EntryNo_HAL_VideoReadPaletteEntry # 1 ; 42
EntryNo_HAL_VideoSetInterlace # 1 ; 43
EntryNo_HAL_VideoSetBlank # 1 ; 44
EntryNo_HAL_VideoSetPowerSave # 1 ; 45
EntryNo_HAL_VideoUpdatePointer # 1 ; 46
EntryNo_HAL_VideoSetDAG # 1 ; 47
EntryNo_HAL_VideoVetMode # 1 ; 48
EntryNo_HAL_VideoPixelFormats # 1 ; 49
EntryNo_HAL_VideoFeatures # 1 ; 50
EntryNo_HAL_VideoBufferAlignment # 1 ; 51
EntryNo_HAL_VideoOutputFormat # 1 ; 52
EntryNo_HAL_MatrixColumns # 1 ; 53
EntryNo_HAL_MatrixScan # 1 ; 54
......@@ -140,9 +140,9 @@ EntryNo_HAL_PCISpecialCycle # 1 ; 94
EntryNo_HAL_PCISlotTable # 1 ; 95
EntryNo_HAL_PCIAddresses # 1 ; 96
EntryNo_HAL_ATAControllerInfo # 1 ; 97
EntryNo_HAL_ATASetModes # 1 ; 98
EntryNo_HAL_ATACableID # 1 ; 99
EntryNo_HAL_PlatformName # 1 ; 97, ReadSysInfo 9 subreason 7 (was HAL_ATAControllerInfo)
# 1 ; 98 (was HAL_ATASetModes)
# 1 ; 99 (was HAL_ATACableID)
EntryNo_HAL_InitDevices # 1 ; 100
......
......@@ -2000,20 +2000,34 @@ osri6_maxvalue * (.-4-osri6_table) :SHR: 2
; 3 = Dealer name
; 4 = User name
; 5 = User address
; 6 = Printable OS description
; 7 = Hardware platform
90
CMP R1, #0
ADREQ R0, RSI9_OSname ; The OS name
CMPNE R1, #6
ADREQ R0, RSI9_OSname ; The OS name or description
BEQ %FT95
CMP R1, #2 ; The build date (dynamically generated)
BEQ %FT92
CMP R1, #7 ; The hardware platform
MOVNE R0, #0 ; Other ones are unimplemented
BNE %FT95
Push "r1-r3,r9,lr"
AddressHAL
MOV a1,#0 ; Return NULL if HAL doesn't implement it
CallHAL HAL_PlatformName
Pull "r1-r3,r9,lr"
B %FT95
92
LDR R0, =ROMBuildDate
LDRB R1, [R0]
CMP R1, #0
BNE %FT94
MOVNE R1, #2 ; Restore R1
BNE %FT95
; Build date string hasn't been generated yet. Generate it.
Push "r0,r2-r3,lr"
Push "r0-r3,lr"
MOV R0, #0
BL ExtendedROMFooter_FindTag
CMP R0, #0 ; Found it?
......@@ -2029,9 +2043,7 @@ osri6_maxvalue * (.-4-osri6_table) :SHR: 2
MOVVS R0, #0
STRVS R0, [R13]
93
Pull "r0,r2-r3,lr"
94
MOV R1, #2
Pull "r0-r3,lr"
95
ExitSWIHandler
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment