;####################################################### ;# ;# Linux Interace Stub ;# ;####################################################### INCLUDE 'MakeFunction.s' INCLUDE 'LinuxOSIDefs.s' ;####################################################### ; int OSI_IRQTest( int cmd, int param ) ;####################################################### MakeFunction OSI_IRQTest mr r6,r3 mr r7,r4 osi_call OSI_IRQTEST blr ;####################################################### ; void OSI_PutC( char ch ) ;####################################################### MakeFunction OSI_PutC mr r6,r3 OSI_CALL( OSI_LOG_PUTC ) blr ;####################################################### ; void OSI_Debugger( int debugnum ) ;####################################################### MakeFunction OSI_Debugger mr r6,r3 osi_call OSI_DEBUGGER blr ;####################################################### ; ulong OSI_GetTime( void ) ;####################################################### MakeFunction OSI_GetTime osi_call OSI_GET_DATE blr ;####################################################### ; void OSI_CMountDrvVol( void ) ;####################################################### MakeFunction OSI_CMountDrvVol osi_call OSI_CMOUNT_DRV_VOL blr ;####################################################### ; int OSI_ABlkDiskInfo( int channel, int unit, ablk_disk_info_t *ret ) ; int OSI_ABlkRingSetup( int channel, ulong mphys, int num_el ) ; int OSI_ABlkCntrl( int channel, int cmd ) ; int OSI_ABlkCntrl( int channel, int cmd, int param ) ; int OSI_ABlkKick( int channel ) ; int OSI_ABlkIRQAck( int channel, int *req_count, int *active, int *event ) ; int OSI_ABlkSyncRead( int channel, int unit, int blk, ulong mphys, int size ) ; int OSI_ABlkSyncWrite( int channel, int unit, int blk, ulong mphys, int size ) ;####################################################### MakeFunction OSI_ABlkDiskInfo mr r6,r3 mr r7,r4 mr r10,r5 ; save pointer in r10 osi_call OSI_ABLK_DISK_INFO stw r4,0(r10) ; 16 byte return info stw r5,4(r10) stw r6,8(r10) stw r7,12(r10) blr MakeFunction OSI_ABlkRingSetup mr r6,r3 mr r7,r4 mr r8,r5 osi_call OSI_ABLK_RING_SETUP blr MakeFunction OSI_ABlkCntrl mr r6,r3 mr r7,r4 osi_call OSI_ABLK_CNTRL blr MakeFunction OSI_ABlkCntrl1 mr r6,r3 mr r7,r4 mr r8,r5 osi_call OSI_ABLK_CNTRL blr MakeFunction OSI_ABlkKick mr r6,r3 osi_call OSI_ABLK_KICK blr MakeFunction OSI_ABlkIRQAck mr r8,r4 ; save r4 in r8 mr r9,r5 ; save r5 in r9 mr r10,r6 ; save r6 in r10 mr r6,r3 osi_call OSI_ABLK_IRQ_ACK stw r4,0(r8) ; return req_count stw r5,0(r9) ; return active stw r6,0(r10) ; return event blr MakeFunction OSI_ABlkSyncRead mr r10,r7 mr r9,r6 mr r8,r5 mr r7,r4 mr r6,r3 osi_call OSI_ABLK_SYNC_READ blr MakeFunction OSI_ABlkSyncWrite mr r10,r7 mr r9,r6 mr r8,r5 mr r7,r4 mr r6,r3 osi_call OSI_ABLK_SYNC_WRITE blr ;####################################################### ; int OSI_MouseAckIRQ( void ) ; int OSI_GetMouse( osi_mouse_t *pb ) ; int OSI_MouseCntrl( int cmd ) ; int OSI_MouseCntrl1( int cmd, int param ) ;####################################################### MakeFunction OSI_MouseAckIRQ osi_call OSI_MOUSE_ACK_IRQ blr MakeFunction OSI_GetMouse mr r10,r3 osi_call OSI_GET_MOUSE stw r4,0(r10) stw r5,4(r10) stw r6,8(r10) stw r7,12(r10) stw r8,16(r10) blr MakeFunction OSI_MouseCntrl mr r6,r3 osi_call OSI_MOUSE_CNTRL blr MakeFunction OSI_MouseCntrl1 mr r6,r3 mr r7,r4 osi_call OSI_MOUSE_CNTRL blr ;####################################################### ; int OSI_SetVMode_( int modeID, int depthMode ) ; int OSI_GetVModeInfo_( int modeID, int depthMode, osi_get_vmode_info_t *ret ) ; int OSI_SetVPowerState( int powerState ) ; int OSI_GetColor( int index ) ; int OSI_SetColor( int index, int color ) ; int OSI_VideoAckIRQ( int *events ) ; int OSI_VideoCntrl( int cmd ) ; int OSI_VideoCntrl1( int cmd, int param ) ;####################################################### MakeFunction OSI_SetVMode_ mr r6,r3 mr r7,r4 osi_call OSI_SET_VMODE blr MakeFunction OSI_GetVModeInfo_ mr r6,r3 mr r7,r4 mr r10,r5 osi_call OSI_GET_VMODE_INFO stw r4,0(r10) stw r5,4(r10) stw r6,8(r10) stw r7,12(r10) stw r8,16(r10) stw r9,20(r10) blr MakeFunction OSI_SetVPowerState mr r6,r3 osi_call OSI_SET_VIDEO_POWER blr MakeFunction OSI_GetColor mr r6,r3 osi_call OSI_GET_COLOR blr MakeFunction OSI_SetColor mr r6,r3 mr r7,r4 osi_call OSI_SET_COLOR blr MakeFunction OSI_VideoAckIRQ mr r10,r3 ; save pointer in r10 osi_call OSI_VIDEO_ACK_IRQ stw r4,0(r10) ; events return in r4 blr MakeFunction OSI_VideoCntrl mr r6,r3 osi_call OSI_VIDEO_CNTRL blr MakeFunction OSI_VideoCntrl1 mr r6,r3 mr r7,r4 osi_call OSI_VIDEO_CNTRL blr ;####################################################### ; void OSI_EnetClose( UInt32 id ) ; UInt32 OSI_EnetOpen( UInt32 interruptNumber ) ; UInt32 OSI_EnetGetEthAddress( UInt32 id, UInt32 eth_address_phys_ptr ) ; UInt32 OSI_EnetGetStatus( UInt32 id ) ; UInt32 OSI_EnetControl1( UInt32 id, UInt32 command, int param ) ; UInt32 OSI_EnetControl( UInt32 id, UInt32 command ) ; int OSI_EnetGetPacket( UInt32 id, UInt32 packet ) ; int OSI_EnetSendPacket( UInt32 id, UInt32 packet, UInt32 size ) ; UInt32 OSI_EnetAddMulticast( UInt32 id, UInt32 eth_address_phys_ptr ) ; UInt32 OSI_EnetDelMulticast( UInt32 id, UInt32 eth_address_phys_ptr ) ;####################################################### MakeFunction OSI_EnetOpen mr r6,r3 osi_call OSI_ENET_OPEN blr MakeFunction OSI_EnetClose mr r6,r3 osi_call OSI_ENET_CLOSE blr MakeFunction OSI_EnetGetEthAddress mr r6,r3 mr r7,r4 osi_call OSI_ENET_GET_ADDR blr MakeFunction OSI_EnetGetStatus mr r6,r3 osi_call OSI_ENET_GET_STATUS blr MakeFunction OSI_EnetControl mr r6,r3 mr r7,r4 osi_call OSI_ENET_CONTROL blr MakeFunction OSI_EnetControl1 mr r6,r3 mr r7,r4 mr r8,r5 osi_call OSI_ENET_CONTROL blr MakeFunction OSI_EnetGetPacket mr r6,r3 mr r7,r4 osi_call OSI_ENET_GET_PACKET blr MakeFunction OSI_EnetSendPacket mr r6,r3 mr r7,r4 mr r8,r5 osi_call OSI_ENET_SEND_PACKET blr MakeFunction OSI_EnetAddMulticast mr r6,r3 mr r7,r4 osi_call OSI_ENET_ADD_MULTI blr MakeFunction OSI_EnetDelMulticast mr r6,r3 mr r7,r4 osi_call OSI_ENET_DEL_MULTI blr ;####################################################### ; int OSI_SoundWrite( UInt32 phys_buf, int size, int restart ) ; int OSI_SoundCntl2( int cmd, int param, int param2 ) ; int OSI_SoundCntl1( int cmd, int param ) ; int OSI_SoundCntl( int cmd ) ; int OSI_SoundSetVolume( int hwVol, int speakerVol, int hwMute ) ; int OSI_SoundIrqAck( void ) ;####################################################### MakeFunction OSI_SoundWrite mr r6,r3 mr r7,r4 mr r8,r5 OSI_CALL( OSI_SOUND_WRITE ) blr MakeFunction OSI_SoundCntl2 mr r8,r5 mr r7,r4 mr r6,r3 OSI_CALL( OSI_SOUND_CNTL ) blr MakeFunction OSI_SoundCntl1 mr r7,r4 mr r6,r3 OSI_CALL( OSI_SOUND_CNTL ) blr MakeFunction OSI_SoundCntl mr r6,r3 OSI_CALL( OSI_SOUND_CNTL ) blr MakeFunction OSI_SoundSetVolume mr r6,r3 mr r7,r4 mr r8,r5 OSI_CALL( OSI_SOUND_SET_VOLUME ) blr MakeFunction OSI_SoundIrqAck OSI_CALL( OSI_SOUND_IRQ_ACK ) blr ;####################################################### ; int OSI_SCSIControl( int sel, int param ) ; int OSI_SCSISubmit( int req_mphys ) ; int OSI_SCSIAck( void ) ;####################################################### MakeFunction OSI_SCSIControl mr r7,r4 mr r6,r3 OSI_CALL( OSI_SCSI_CNTRL ) blr MakeFunction OSI_SCSISubmit mr r6,r3 OSI_CALL( OSI_SCSI_SUBMIT ) blr MakeFunction OSI_SCSIAck OSI_CALL( OSI_SCSI_ACK ) blr