baseport/src/cedar/generic/base/syborg/specific/interrupts.cpp
changeset 2 d55eb581a87c
parent 1 2fb8b9db1c86
child 3 c2946f91d81f
--- a/baseport/src/cedar/generic/base/syborg/specific/interrupts.cpp	Fri Jul 31 15:01:17 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Syborg interrupt control and dispatch
-*
-*/
-
-#include <syborg_priv.h>
-
-SInterruptHandler SyborgInterrupt::Handlers[KNumSyborgInts];
-
-void SyborgInterrupt::DisableAndClearAll()
-{
-  WriteReg(KHwBaseSic, 3, 0);
-}
-
-void SyborgInterrupt::Init1()
-{
-	__KTRACE_OPT(KBOOT,Kern::Printf("SyborgInterrupt::Init1()"));
-
-	for(TUint i = 0; i < KNumSyborgInts; i++)
-	{
-		Handlers[i].iPtr = (TAny*)i;
-		Handlers[i].iIsr = Spurious;
-	}
-
-	DisableAndClearAll();
-	
-	Arm::SetIrqHandler((TLinAddr)SyborgInterrupt::IrqDispatch);
-	Arm::SetFiqHandler((TLinAddr)SyborgInterrupt::FiqDispatch);
-}
-
-void SyborgInterrupt::Init3()
-{
-	__KTRACE_OPT(KHARDWARE,Kern::Printf("SyborgInterrupt::Init3()"));
-}
-
-void SyborgInterrupt::Spurious(TAny* anId)
-{
-	// Handle an unexpected interrupt
-	Kern::Fault("SpuriousInt", (TInt)anId);
-}
-
-EXPORT_C TInt Interrupt::Bind(TInt anId, TIsr anIsr, TAny* aPtr)
-{
-  __KTRACE_OPT(KHARDWARE,Kern::Printf("Interrupt::Bind(anId=%d anIsr=0x%X aPtr=0x%X)",anId,anIsr,aPtr));
-	if((anId >= 0) && ((TUint)anId < KNumSyborgInts))
-	{
-		SInterruptHandler& h = SyborgInterrupt::Handlers[anId];
-		TInt irq = NKern::DisableAllInterrupts();
-        TInt r;
-		if(h.iIsr != SyborgInterrupt::Spurious)
-		{
-            r = KErrInUse;
-	    }
-		else
-		{
-    	    h.iPtr = aPtr;
-	    	h.iIsr = anIsr;
-            r = KErrNone;
-		}
-		NKern::RestoreInterrupts(irq);
-		return r;
-	}
-	return KErrArgument;
-}
-
-EXPORT_C TInt Interrupt::Unbind(TInt anId)
-{
-	__KTRACE_OPT(KHARDWARE,Kern::Printf("Interrupt::Unbind(%d)",anId));
-	if((anId >= 0) && ((TUint)anId < KNumSyborgInts))
-	{
-		SInterruptHandler& h = SyborgInterrupt::Handlers[anId];
-		TInt irq = NKern::DisableAllInterrupts();
-    	TInt r;
-		if(h.iIsr == SyborgInterrupt::Spurious)
-		{
-			r = KErrGeneral;
-		}
-		else
-		{
-            // Reset pointer to handler back to default
-			h.iPtr = (TAny*)anId;
-			h.iIsr = SyborgInterrupt::Spurious;	
-			// Disable the interrupt
-			TSyborg::DisableInt(anId);
-			r = KErrNone;
-        }
-		NKern::RestoreInterrupts(irq);
-    	return r;
-	}
-	return KErrArgument;
-}
-
-EXPORT_C TInt Interrupt::Enable(TInt anId)
-{
-	__KTRACE_OPT(KHARDWARE,Kern::Printf("Interrupt::Enable(%d)",anId));
-	if((anId >= 0) && ((TUint)anId < KNumSyborgInts))
-	{
-		if(SyborgInterrupt::Handlers[anId].iIsr == SyborgInterrupt::Spurious)
-		{
-	        return KErrNotReady;
-		}
-		else
-		{
-		  TSyborg::EnableInt(anId);
-		  return KErrNone;
-		}
-	}
-	return KErrArgument;
-}
-
-EXPORT_C TInt Interrupt::Disable(TInt anId)
-{
-	__KTRACE_OPT(KHARDWARE,Kern::Printf("Interrupt::Disable(%d)",anId));
-	if((anId >= 0) && ((TUint)anId < KNumSyborgInts))
-	{
-	  TSyborg::DisableInt(anId);
-	  return KErrNone;
-	}
-	return KErrArgument;
-}
-
-EXPORT_C TInt Interrupt::Clear(TInt anId)
-{
-	__KTRACE_OPT(KHARDWARE,Kern::Printf("Interrupt::Clear(%d)",anId));
-	if((anId >= 0) && ((TUint)anId < KNumSyborgInts))
-	{
-        return KErrNone;
-	}
-	return KErrArgument;
-}
-
-EXPORT_C TInt Interrupt::SetPriority(TInt anId, TInt aPriority)
-{
-	__KTRACE_OPT(KHARDWARE,Kern::Printf("Interrupt::SetPriority(anId=%d aPriority=0x%X)",anId,aPriority));
-	return KErrNotSupported;
-}
-