RetroArch
Classes | Macros | Typedefs | Functions | Variables
arqmgr.c File Reference
#include <stdlib.h>
#include "asm.h"
#include "processor.h"
#include "arqueue.h"
#include "arqmgr.h"
Include dependency graph for arqmgr.c:

Classes

struct  _arqm_info
 

Macros

#define ARQM_STACKENTRIES   16
 
#define ARQM_ZEROBYTES   256
 
#define ROUNDUP32(x)   (((u32)(x)+0x1f)&~0x1f)
 

Typedefs

typedef struct _arqm_info ARQM_Info
 

Functions

static u8 __ARQMZeroBuffer [ARQM_ZEROBYTESATTRIBUTE_ALIGN (32)
 
static void __ARQMPollCallback (ARQRequest *req)
 
void ARQM_Init (u32 arambase, s32 len)
 Initialize the ARAM queue management system. More...
 
u32 ARQM_PushData (void *buffer, s32 len)
 Push the data onto the ARAM queue. More...
 
void ARQM_Pop ()
 
u32 ARQM_GetZeroBuffer ()
 Returns ARAM address of 'zero buffer'. More...
 
u32 ARQM_GetStackPointer ()
 Return the ARAM address of the next free stack pointer. More...
 
u32 ARQM_GetFreeSize ()
 Return Returns remaining number of bytes on stack. More...
 

Variables

static u32 __ARQMStackLocation
 
static u32 __ARQMFreeBytes
 
static u32 __ARQMStackPointer [ARQM_STACKENTRIES]
 
static ARQM_Info __ARQMInfo [ARQM_STACKENTRIES]
 

Macro Definition Documentation

◆ ARQM_STACKENTRIES

#define ARQM_STACKENTRIES   16

◆ ARQM_ZEROBYTES

#define ARQM_ZEROBYTES   256

◆ ROUNDUP32

#define ROUNDUP32 (   x)    (((u32)(x)+0x1f)&~0x1f)

Typedef Documentation

◆ ARQM_Info

typedef struct _arqm_info ARQM_Info

Function Documentation

◆ __ARQMPollCallback()

static void __ARQMPollCallback ( ARQRequest req)
static
Here is the caller graph for this function:

◆ ARQM_GetFreeSize()

u32 ARQM_GetFreeSize ( )

Return Returns remaining number of bytes on stack.

Returns
See description

◆ ARQM_GetStackPointer()

u32 ARQM_GetStackPointer ( )

Return the ARAM address of the next free stack pointer.

Returns
See description

◆ ARQM_GetZeroBuffer()

u32 ARQM_GetZeroBuffer ( )

Returns ARAM address of 'zero buffer'.

Returns
See description

◆ ARQM_Init()

void ARQM_Init ( u32  arambase,
s32  len 
)

Initialize the ARAM queue management system.

Parameters
[in]arambaseARAM startaddress to take for the queue stack
[in]lenmaximum amount of memory to be reserved from the ARAM for the queue management
Returns
none
Here is the call graph for this function:

◆ ARQM_Pop()

void ARQM_Pop ( )

◆ ARQM_PushData()

u32 ARQM_PushData ( void buffer,
s32  len 
)

Push the data onto the ARAM queue.

Parameters
[in]buffstartaddress of buffer to be pushed onto the queue. NOTE: Must be 32-bytealigned.
[in]lenlength of data to be pushed onto the queue.
Returns
none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ATTRIBUTE_ALIGN()

static u8 __ARQMZeroBuffer [ARQM_ZEROBYTES] ATTRIBUTE_ALIGN ( 32  )
static

Variable Documentation

◆ __ARQMFreeBytes

u32 __ARQMFreeBytes
static

◆ __ARQMInfo

ARQM_Info __ARQMInfo[ARQM_STACKENTRIES]
static

◆ __ARQMStackLocation

u32 __ARQMStackLocation
static

◆ __ARQMStackPointer

u32 __ARQMStackPointer[ARQM_STACKENTRIES]
static