Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • 7c8c5e3
  • /
  • arch
  • /
  • metag
  • /
  • tbx
  • /
  • tbidspram.S
Raw File Download
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:2f27c037221243ef484e8de8f80ddcacbc534391
directory badge Iframe embedding
swh:1:dir:32dfc6ba6b1c1865ff63980d6c9f3b1f1aee6138
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
tbidspram.S
/*
 * tbidspram.S
 *
 * Copyright (C) 2009, 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.
 *
 * Explicit state save and restore routines forming part of the thread binary
 * interface for META processors
 */

	.file	"tbidspram.S"

/* These aren't generally useful to a user so for now, they arent publically available */
#define _TBIECH_DSPRAM_DUA_S    8
#define _TBIECH_DSPRAM_DUA_BITS 0x7f00
#define _TBIECH_DSPRAM_DUB_S    0
#define _TBIECH_DSPRAM_DUB_BITS 0x007f

/*
 * void *__TBIDspramSaveA( short DspramSizes, void *pExt )
 */
	.text
	.balign	4
	.global	___TBIDspramSaveA
	.type	___TBIDspramSaveA,function
___TBIDspramSaveA:

	SETL	[A0StP++], D0.5, D1.5
	MOV	A0.3, D0Ar2

	/* D1Ar1 - Dspram Sizes
	 * A0.4  - Pointer to buffer
	 */

	/* Save the specified amount of dspram DUA */
DL	MOV	D0AR.0, #0
	LSR	D1Ar1, D1Ar1, #_TBIECH_DSPRAM_DUA_S
	AND	D1Ar1, D1Ar1, #(_TBIECH_DSPRAM_DUA_BITS >> _TBIECH_DSPRAM_DUA_S)
	SUB	TXRPT, D1Ar1, #1
$L1:
DL	MOV	D0Re0, [D0AR.0++]
DL	MOV	D0Ar6, [D0AR.0++]
DL	MOV	D0Ar4, [D0AR.0++]
DL	MOV	D0.5,  [D0AR.0++]
	MSETL	[A0.3++], D0Re0, D0Ar6, D0Ar4, D0.5

	BR	$L1

	GETL	D0.5, D1.5, [--A0StP]
	MOV	PC, D1RtP

	.size	___TBIDspramSaveA,.-___TBIDspramSaveA

/*
 * void *__TBIDspramSaveB( short DspramSizes, void *pExt )
 */
	.balign	4
	.global	___TBIDspramSaveB
	.type	___TBIDspramSaveB,function
___TBIDspramSaveB:

	SETL	[A0StP++], D0.5, D1.5
	MOV	A0.3, D0Ar2

	/* D1Ar1 - Dspram Sizes
	 * A0.3  - Pointer to buffer
	 */

	/* Save the specified amount of dspram DUA */
DL	MOV	D0BR.0, #0
	LSR	D1Ar1, D1Ar1, #_TBIECH_DSPRAM_DUB_S
	AND	D1Ar1, D1Ar1, #(_TBIECH_DSPRAM_DUB_BITS >> _TBIECH_DSPRAM_DUB_S)
	SUB	TXRPT, D1Ar1, #1
$L2:
DL	MOV	D0Re0, [D0BR.0++]
DL	MOV	D0Ar6, [D0BR.0++]
DL	MOV	D0Ar4, [D0BR.0++]
DL	MOV	D0.5,  [D0BR.0++]
	MSETL	[A0.3++], D0Re0, D0Ar6, D0Ar4, D0.5

	BR	$L2

	GETL	D0.5, D1.5, [--A0StP]
	MOV	PC, D1RtP

	.size	___TBIDspramSaveB,.-___TBIDspramSaveB

/*
 * void *__TBIDspramRestoreA( short DspramSizes, void *pExt )
 */
	.balign	4
	.global	___TBIDspramRestoreA
	.type	___TBIDspramRestoreA,function
___TBIDspramRestoreA:

	SETL	[A0StP++], D0.5, D1.5
	MOV	A0.3, D0Ar2

	/* D1Ar1 - Dspram Sizes
	 * A0.3 - Pointer to buffer
	 */

	/* Restore the specified amount of dspram DUA */
DL	MOV	D0AW.0, #0
	LSR	D1Ar1, D1Ar1, #_TBIECH_DSPRAM_DUA_S
	AND	D1Ar1, D1Ar1, #(_TBIECH_DSPRAM_DUA_BITS >> _TBIECH_DSPRAM_DUA_S)
	SUB	TXRPT, D1Ar1, #1
$L3:
	MGETL	D0Re0, D0Ar6, D0Ar4, D0.5, [A0.3++]
DL	MOV	[D0AW.0++], D0Re0
DL	MOV	[D0AW.0++], D0Ar6
DL	MOV	[D0AW.0++], D0Ar4
DL	MOV	[D0AW.0++], D0.5

	BR	$L3

	GETL	D0.5, D1.5, [--A0StP]
	MOV	PC, D1RtP

	.size	___TBIDspramRestoreA,.-___TBIDspramRestoreA

/*
 * void *__TBIDspramRestoreB( short DspramSizes, void *pExt )
 */
	.balign	4
	.global	___TBIDspramRestoreB
	.type	___TBIDspramRestoreB,function
___TBIDspramRestoreB:

	SETL	[A0StP++], D0.5, D1.5
	MOV	A0.3, D0Ar2

	/* D1Ar1 - Dspram Sizes
	 * A0.3 - Pointer to buffer
	 */

	/* Restore the specified amount of dspram DUA */
DL	MOV	D0BW.0, #0
	LSR	D1Ar1, D1Ar1, #_TBIECH_DSPRAM_DUB_S
	AND	D1Ar1, D1Ar1, #(_TBIECH_DSPRAM_DUB_BITS >> _TBIECH_DSPRAM_DUB_S)
	SUB	TXRPT, D1Ar1, #1
$L4:
	MGETL	D0Re0, D0Ar6, D0Ar4, D0.5, [A0.3++]
DL	MOV	[D0BW.0++], D0Re0
DL	MOV	[D0BW.0++], D0Ar6
DL	MOV	[D0BW.0++], D0Ar4
DL	MOV	[D0BW.0++], D0.5

	BR	$L4

	GETL	D0.5, D1.5, [--A0StP]
	MOV	PC, D1RtP

	.size	___TBIDspramRestoreB,.-___TBIDspramRestoreB

/*
 * End of tbidspram.S
 */

back to top

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API