Line data Source code
1 : // SPDX-License-Identifier: GPL-2.0
2 : /*
3 : * Copyright (c) 2008 Silicon Graphics, Inc.
4 : * All Rights Reserved.
5 : */
6 : #ifndef __KMEM_H__
7 : #define __KMEM_H__
8 :
9 : #include <stdlib.h>
10 :
11 : typedef unsigned int gfp_t;
12 :
13 : #define GFP_KERNEL 0
14 : #define GFP_NOFS 0
15 : #define __GFP_NOWARN 0
16 : #define __GFP_ZERO 1
17 :
18 : #define vmalloc(size) malloc(size)
19 : #define vfree(ptr) free(ptr)
20 :
21 : extern void *kmalloc(size_t, gfp_t);
22 : extern void *krealloc(void *, size_t, __attribute__((unused)) gfp_t);
23 : extern void *kmalloc_array(size_t, size_t, gfp_t);
24 : extern void *kmemdup(const void *src, size_t len, gfp_t gfp);
25 :
26 : static inline void kfree(const void *ptr)
27 : {
28 19743244731 : free((void *)ptr);
29 : }
30 :
31 : static inline void kvfree(const void *ptr)
32 : {
33 : kfree(ptr);
34 : }
35 :
36 : static inline void *kvmalloc(size_t size, gfp_t flags)
37 : {
38 : return kmalloc(size, flags);
39 : }
40 :
41 : static inline void *kzalloc(size_t size, gfp_t flags)
42 : {
43 805605266 : return kmalloc(size, flags | __GFP_ZERO);
44 : }
45 :
46 : static inline void *__vmalloc(unsigned long size, gfp_t gfp_mask)
47 : {
48 3078 : return kmalloc(size, gfp_mask);
49 : }
50 :
51 : static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
52 : {
53 7101 : return kmalloc_array(n, size, flags | __GFP_ZERO);
54 : }
55 :
56 : #endif
|