Commit 26d61086 authored by Kevin Bracey's avatar Kevin Bracey
Browse files

First attempt at a Kernel that handles ReassignedIOMDInterrupts.

If reassigned, ReadSysInfo3 returns &00x22200 in R0, to indicate that the
serial and parallel ports aren't compatible, and IDE and floppy are
unavailable.

Version 5.01. Tagged as 'Kernel-5_01'
parent 6142809f
......@@ -6,9 +6,9 @@
GBLS Module_MinorVersion
GBLS Module_Date
GBLS Module_FullVersion
Module_MajorVersion SETS "5.00"
Module_Version SETA 500
Module_MajorVersion SETS "5.01"
Module_Version SETA 501
Module_MinorVersion SETS ""
Module_Date SETS "19 Oct 1999"
Module_FullVersion SETS "5.00"
Module_Date SETS "25 Oct 1999"
Module_FullVersion SETS "5.01"
END
/* (5.00)
/* (5.01)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 5.00
#define Module_MajorVersion_CMHG 5.01
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 19 Oct 1999
#define Module_Date_CMHG 25 Oct 1999
#define Module_MajorVersion "5.00"
#define Module_Version 500
#define Module_MajorVersion "5.01"
#define Module_Version 501
#define Module_MinorVersion ""
#define Module_Date "19 Oct 1999"
#define Module_Date "25 Oct 1999"
#define Module_FullVersion "5.00"
#define Module_FullVersion "5.01"
......@@ -134,7 +134,7 @@ SetUpKbd
STRB R0, UART_MCR
MOV R0, #IOMD_Base
MOV R1, #serial_bit
MOV R1, #IOMD_serial_IRQ_bit
STRB R1, [R0, #IOCIRQMSKB]
MOV R0, #InitKbdWs
......
......@@ -1246,7 +1246,13 @@ IOST_BATMAN * 64 ;Stork keyboard/battery controller seems to be present
LDREQ r0, =&00211111
MOVEQ r1, #0
CMP r1, #IOST_37C665
[ ReassignedIOMDInterrupts
; If the device numbers have been reassigned, we can't really call the devices compatible.
; Also, we've lost the floppy and hard disc interrupts, so mark as not present.
LDRHS r0, =&00022200
|
LDRHS r0, =&00011111
]
ORRHS r0, r0, r1, LSL #20
LDRHS r1, =&00011100
MOV r2, #0
......
......@@ -548,9 +548,6 @@ DTabC SETA DTabC+1
IrqReqAPrio0 * por_bit
IrqReqADev0 * PowerOn_DevNo
IrqReqAPrio2 * pbusy_bit
IrqReqADev2 * PrinterBusy_DevNo
IrqReqAPrio4 * timer1_bit
IrqReqADev4 * Timer1_DevNo
......@@ -563,12 +560,15 @@ IrqReqADev6 * Timer0_DevNo
IrqReqAPrio7 * force_bit
IrqReqADev7 * FIQDowngrade_DevNo
; Machine specific IRQB bits
; Machine specific IRQB bits (devices 0-2)
[ IO_Type = "IOC-A1" :LOR: IO_Type = "IOC-A500"
IrqReqAPrio1 * ring_bit
IrqReqADev1 * Ringing_DevNo
IrqReqAPrio2 * pbusy_bit
IrqReqADev2 * PrinterBusy_DevNo
IrqReqAPrio3 * pack_bit
IrqReqADev3 * PrinterAck_DevNo
]
......@@ -577,16 +577,30 @@ IrqReqADev3 * PrinterAck_DevNo
IrqReqAPrio1 * IOEB_battery_low_bit
IrqReqADev1 * Ringing_DevNo
IrqReqAPrio2 * pbusy_bit
IrqReqADev2 * PrinterBusy_DevNo
IrqReqAPrio3 * IOEB_floppy_index_bit
IrqReqADev3 * PrinterAck_DevNo
]
[ IO_Type = "IOMD"
IrqReqAPrio1 * 1:SHL:1 ; not used
IrqReqADev1 * Ringing_DevNo
IrqReqADev1 * 1
IrqReqAPrio2 * IOMD_printer_IRQ_bit
IrqReqADev2 * IOMD_PrinterIRQ_DevNo
[ ReassignedIOMDInterrupts
ASSERT IOMD_PrinterIRQ_DevNo = 2
IrqReqAPrio3 * 1:SHL:0 ; not used
IrqReqADev3 * 0
|
ASSERT IOMD_PrinterIRQ_DevNo = 0
ASSERT IOMD_FloppyIndex_DevNo = 2
IrqReqAPrio3 * IOMD_floppy_index_bit
IrqReqADev3 * PrinterAck_DevNo
IrqReqADev3 * IOMD_FloppyIndex_DevNo
]
]
......@@ -643,9 +657,6 @@ IrqReqBDev4 * SerialRx_DevNo
IrqReqBPrio5 * podule_IRQ_bit
IrqReqBDev5 * Podule_DevNo
IrqReqBPrio7 * serial_bit
IrqReqBDev7 * Serial_DevNo
; Machine specific IRQB bits
[ IO_Type = "IOC-A500"
......@@ -657,6 +668,9 @@ IrqReqBDev1 * Sound_DevNo
IrqReqBPrio6 * winnie_IRQ_bit :OR: winnie_DRQ_bit
IrqReqBDev6 * WinnieIRQ_DevNo
IrqReqBPrio7 * serial_bit
IrqReqBDev7 * Serial_DevNo
]
[ IO_Type = "IOC-A1"
......@@ -668,6 +682,9 @@ IrqReqBDev1 * Sound_DevNo
IrqReqBPrio6 * winnie_IRQ_bit
IrqReqBDev6 * WinnieIRQ_DevNo
IrqReqBPrio7 * serial_bit
IrqReqBDev7 * Serial_DevNo
]
[ IO_Type = "IOEB"
......@@ -679,9 +696,25 @@ IrqReqBDev1 * Sound_DevNo
IrqReqBPrio6 * IOEB_floppy_IRQ_bit
IrqReqBDev6 * WinnieIRQ_DevNo
IrqReqBPrio7 * serial_bit
IrqReqBDev7 * Serial_DevNo
]
[ IO_Type = "IOMD"
[ ReassignedIOMDInterrupts
IrqReqBPrio0 * IOMD_MPEGAudio_IRQ_bit
IrqReqBDev0 * IOMD_MPEGAudio_DevNo
IrqReqBPrio1 * IOMD_MPEGVideo_IRQ_bit
IrqReqBDev1 * IOMD_MPEGVideo_DevNo
IrqReqBPrio6 * IOMD_Network_IRQ_bit
IrqReqBDev6 * IOMD_Network_DevNo
IrqReqBPrio7 * IOMD_serial_IRQ_bit
IrqReqBDev7 * IOMD_Serial_DevNo
|
IrqReqBPrio0 * IOMD_floppy_IRQ_bit
IrqReqBDev0 * DiscChanged_DevNo
......@@ -690,6 +723,10 @@ IrqReqBDev1 * Sound_DevNo
IrqReqBPrio6 * IOMD_Network_IRQ_bit
IrqReqBDev6 * WinnieIRQ_DevNo
IrqReqBPrio7 * IOMD_serial_IRQ_bit
IrqReqBDev7 * IOMD_Serial_DevNo
]
]
......
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