/* -*- Mode: C; tab-width: 4; indent-tabs-mode: 't; c-basic-offset: 4 -*- * * Name : $RCSfile: kernmem.h $ * * Copyright : 2001,2002 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, * HomePark Industrial Estate, * Kings Langley, * Hertfordshire, * WD4 8LZ, * UK * * Description : Declares functions providing contiguous kernel memory * allocations under Linux. * * Platform : Linux * * Version : $Revision: 1.2 $ * **************************************************************************/ typedef struct tag_KernelAllocRec { struct tag_KernelAllocRec* pNext; unsigned long pkvPageAlignedContigMem; unsigned long nBytes; unsigned long nOrder; } KERNEL_ALLOC_REC, *PKERNEL_ALLOC_REC; /* Allocate kernel memory and mark it as reserved */ void* kernel_allocate_reserve(unsigned long nBytes); /* Unreserve & deallocate kernel memory */ void kernel_deallocate_unreserve(unsigned long pkvPageAlignedContigMem); /* kernel_memory_cleanup - Frees any remaining memory allocations */ void kernel_memory_cleanup(void);