mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
libqos: add malloc support
This is a very simple allocator for the PC platform. It should be possible to add backends for other platforms. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-id: 1366123521-4330-5-git-send-email-aliguori@us.ibm.com
This commit is contained in:
parent
234c69c5f9
commit
8a0743cf74
4 changed files with 130 additions and 0 deletions
38
tests/libqos/malloc.h
Normal file
38
tests/libqos/malloc.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* libqos malloc support
|
||||
*
|
||||
* Copyright IBM, Corp. 2012-2013
|
||||
*
|
||||
* Authors:
|
||||
* Anthony Liguori <aliguori@us.ibm.com>
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*/
|
||||
|
||||
#ifndef LIBQOS_MALLOC_H
|
||||
#define LIBQOS_MALLOC_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
typedef struct QGuestAllocator QGuestAllocator;
|
||||
|
||||
struct QGuestAllocator
|
||||
{
|
||||
uint64_t (*alloc)(QGuestAllocator *allocator, size_t size);
|
||||
void (*free)(QGuestAllocator *allocator, uint64_t addr);
|
||||
};
|
||||
|
||||
/* Always returns page aligned values */
|
||||
static inline uint64_t guest_alloc(QGuestAllocator *allocator, size_t size)
|
||||
{
|
||||
return allocator->alloc(allocator, size);
|
||||
}
|
||||
|
||||
static inline void guest_free(QGuestAllocator *allocator, uint64_t addr)
|
||||
{
|
||||
allocator->alloc(allocator, addr);
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue