📄 mmu_flush.h
字号:
/* -*- c-file-style: "img" -*-
<module>
* Name : mmu_flush.h
* Title : MMU Management
* Author : Marcus Shawcroft
* Created : 3 Jun 2003
*
* Copyright : 2003, 2004 by Imagination Technologies Limited.
* All rights reserved. No part of this software, either
* material or conceptual may be copied or distributed,
* transmitted, transcribed, stored in a retrieval system
* or translated into any human or computer language in any
* form by any means, electronic, mechanical, manual or
* other-wise, or disclosed to third parties without the
* express written permission of Imagination Technologies
* Limited, Unit 8, HomePark Industrial Estate,
* King's Langley, Hertfordshire, WD4 8LZ, U.K.
*
* Description :
*
* Implements an MMU flush mechanism via the 2D core.
*
* Platform : ALL
*
</module>
*/
#ifndef _MMU_FLUSH_H_
#define _MMU_FLUSH_H_
#include "img_types.h"
#include "hw.h"
#include "hostfunc.h"
#include "mmu.h"
struct _MMU_FLUSH_
{
IMG_CPU_VIRTADDR CpuVAddr;
IMG_CPU_PHYADDR CpuPAddr;
IMG_DEV_VIRTADDR DstSurfaceDevVAddr;
};
typedef struct _MMU_FLUSH_ MMU_FLUSH;
/*---------------------------------------------------------------------------
<function>
FUNCTION: MMUFLUSH_Create
PURPOSE: Create an mmu flush manager.
PARAMETERS: In: pMMU - The mmu to manage flushes on.
In: pFlush - Filled in by flush manager.
In: pPager - Dual page pager for working space allocations.
RETURNS: IMG_TRUE - Success.
IMG_FALSE - Failure.
</function>
-----------------------------------------------------------------------------*/
IMG_BOOL
MMUFLUSH_Create (MMU *pMMU,
MMU_FLUSH *pFlush,
DP_PAGER *pPager);
/*---------------------------------------------------------------------------
<function>
FUNCTION: MMUFLUSH_Delete
PURPOSE: Delete an mmu flush manager.
PARAMETERS: In: pMMU - The mmu to manage flushes on.
In: pFlush - Filled in by flush manager.
In: pPager - Dual page pager for working space deallocations.
RETURNS: None.
</function>
-----------------------------------------------------------------------------*/
void
MMUFLUSH_Delete (MMU *pMMU, MMU_FLUSH *pFlush, DP_PAGER *pPager);
/*----------------------------------------------------------------------------
<function>
FUNCTION: MMUFLUSH_Range
PURPOSE: Flush a device virtual address range from the MMU cache.
PARAMETERS: In: pDev -
In: BaseDevVAddr -
In: uSize -
In: pFlush -
RETURNS: None.
</function>
-----------------------------------------------------------------------------*/
void
MMUFLUSH_Range (struct device_tag *pDev,
IMG_DEV_VIRTADDR BaseDevVAddr,
IMG_SIZE_T uSize,
MMU_FLUSH *pFlush);
/* todo: boilerplate */
void
MMUFLUSH_TLBReload (struct device_tag *pDev,
IMG_DEV_VIRTADDR DevVAddr,
IMG_DEV_PHYADDR DevPAddr);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -