28
28
# define NULL ((void *) 0)
31
void grub_mm_init_region (void *addr, grub_size_t size, grub_size_t *policies);
31
void grub_mm_init_region (void *addr, grub_size_t size);
32
32
void *EXPORT_FUNC(grub_malloc) (grub_size_t size);
33
33
void *EXPORT_FUNC(grub_zalloc) (grub_size_t size);
34
34
void EXPORT_FUNC(grub_free) (void *ptr);
35
35
void *EXPORT_FUNC(grub_realloc) (void *ptr, grub_size_t size);
36
36
void *EXPORT_FUNC(grub_memalign) (grub_size_t align, grub_size_t size);
38
void *EXPORT_FUNC(grub_memalign_policy) (grub_size_t align, grub_size_t size,
41
void *EXPORT_FUNC(grub_rememalign_policy) (void *ptr, grub_size_t align,
42
grub_size_t size, int policy);
44
#define GRUB_MM_ALLOCATOR_SKIP 0
45
#define GRUB_MM_ALLOCATOR_FIRST 1
46
#define GRUB_MM_ALLOCATOR_SECOND 2
47
#define GRUB_MM_ALLOCATOR_LAST 3
49
#define GRUB_MM_MALLOC_DEFAULT 0
50
#define GRUB_MM_MALLOC_KERNEL 1
52
/* Number of policies. For alignment reasons must be a multiple of 4. */
53
#define GRUB_MM_NPOLICIES 4
38
void grub_mm_check_real (char *file, int line);
39
#define GRUB_MM_CHECK grub_mm_check_real (__FILE__, __LINE__);
55
41
/* For debugging. */
56
#if defined(MM_DEBUG) && !defined(GRUB_UTIL)
42
#if defined(MM_DEBUG) && !defined(GRUB_UTIL) && !defined (GRUB_MACHINE_EMU)
57
43
/* Set this variable to 1 when you want to trace all memory function calls. */
58
44
extern int EXPORT_VAR(grub_mm_debug);
61
47
void grub_mm_dump (unsigned lineno);
63
49
#define grub_malloc(size) \
64
grub_debug_malloc (__FILE__, __LINE__, size)
50
grub_debug_malloc (GRUB_FILE, __LINE__, size)
66
52
#define grub_zalloc(size) \
67
grub_debug_zalloc (__FILE__, __LINE__, size)
53
grub_debug_zalloc (GRUB_FILE, __LINE__, size)
69
55
#define grub_realloc(ptr,size) \
70
grub_debug_realloc (__FILE__, __LINE__, ptr, size)
56
grub_debug_realloc (GRUB_FILE, __LINE__, ptr, size)
72
58
#define grub_memalign(align,size) \
73
grub_debug_memalign (__FILE__, __LINE__, align, size)
59
grub_debug_memalign (GRUB_FILE, __LINE__, align, size)
75
61
#define grub_free(ptr) \
76
grub_debug_free (__FILE__, __LINE__, ptr)
62
grub_debug_free (GRUB_FILE, __LINE__, ptr)
78
64
void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line,