summaryrefslogtreecommitdiffstats
path: root/arch/metag/tbx/tbiroot.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/metag/tbx/tbiroot.S')
-rw-r--r--arch/metag/tbx/tbiroot.S87
1 files changed, 0 insertions, 87 deletions
diff --git a/arch/metag/tbx/tbiroot.S b/arch/metag/tbx/tbiroot.S
deleted file mode 100644
index 7d84daf..0000000
--- a/arch/metag/tbx/tbiroot.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * tbiroot.S
- *
- * Copyright (C) 2001, 2002, 2012 Imagination Technologies.
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License version 2 as published by the
- * Free Software Foundation.
- *
- * Module that creates and via ___TBI function returns a TBI Root Block for
- * interrupt and background processing on the current thread.
- */
-
- .file "tbiroot.S"
-#include <asm/metag_regs.h>
-
-/*
- * Get data structures and defines from the TBI C header
- */
-#include <asm/tbx.h>
-
-
-/* If signals need to be exchanged we must create a TBI Root Block */
-
- .data
- .balign 8
- .global ___pTBIs
- .type ___pTBIs,object
-___pTBIs:
- .long 0 /* Bgnd+Int root block ptrs */
- .long 0
- .size ___pTBIs,.-___pTBIs
-
-
-/*
- * Return ___pTBIs value specific to execution level with promotion/demotion
- *
- * Register Usage: D1Ar1 is Id, D0Re0 is the primary result
- * D1Re0 is secondary result (___pTBIs for other exec level)
- */
- .text
- .balign 4
- .global ___TBI
- .type ___TBI,function
-___TBI:
- TSTT D1Ar1,#HI(TBID_ISTAT_BIT) /* Bgnd or Int level? */
- MOVT A1LbP,#HI(___pTBIs)
- ADD A1LbP,A1LbP,#LO(___pTBIs)
- GETL D0Re0,D1Re0,[A1LbP] /* Base of root block table */
- SWAPNZ D0Re0,D1Re0 /* Swap if asked */
- MOV PC,D1RtP
- .size ___TBI,.-___TBI
-
-
-/*
- * Return identifier of the current thread in TBI segment or signal format with
- * secondary mask to indicate privilege and interrupt level of thread
- */
- .text
- .balign 4
- .global ___TBIThrdPrivId
- .type ___TBIThrdPrivId,function
-___TBIThrdPrivId:
- .global ___TBIThreadId
- .type ___TBIThreadId,function
-___TBIThreadId:
-#ifndef METAC_0_1
- MOV D1Re0,TXSTATUS /* Are we privileged or int? */
- MOV D0Re0,TXENABLE /* Which thread are we? */
-/* Disable privilege adaption for now */
- ANDT D1Re0,D1Re0,#HI(TXSTATUS_ISTAT_BIT) /* +TXSTATUS_PSTAT_BIT) */
- LSL D1Re0,D1Re0,#TBID_ISTAT_S-TXSTATUS_ISTAT_S
- AND D0Re0,D0Re0,#TXENABLE_THREAD_BITS
- LSL D0Re0,D0Re0,#TBID_THREAD_S-TXENABLE_THREAD_S
-#else
-/* Thread 0 only */
- XOR D0Re0,D0Re0,D0Re0
- XOR D1Re0,D1Re0,D1Re0
-#endif
- MOV PC,D1RtP /* Return */
- .size ___TBIThrdPrivId,.-___TBIThrdPrivId
- .size ___TBIThreadId,.-___TBIThreadId
-
-
-/*
- * End of tbiroot.S
- */
OpenPOWER on IntegriCloud