X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/09a115a4c07e26b3a978c693c0d6d17abea80479..df61e9d0fec3d5e75820e27e7a2459d132364585:/lunaix-os/kernel/mm/valloc.c diff --git a/lunaix-os/kernel/mm/valloc.c b/lunaix-os/kernel/mm/valloc.c index 0c4d4d4..631f39e 100644 --- a/lunaix-os/kernel/mm/valloc.c +++ b/lunaix-os/kernel/mm/valloc.c @@ -1,4 +1,6 @@ +#include #include +#include #define MAX_CLASS 6 @@ -8,7 +10,7 @@ static char piles_names[MAX_CLASS][PILE_NAME_MAXLEN] = { }; static char piles_names_dma[MAX_CLASS][PILE_NAME_MAXLEN] = { - "valloc_dma_128", "valloc_dma_512", "valloc_dma_512", + "valloc_dma_128", "valloc_dma_256", "valloc_dma_512", "valloc_dma_1k", "valloc_dma_2k", "valloc_dma_4k" }; @@ -64,6 +66,14 @@ valloc(unsigned int size) return __valloc(size, &piles); } +void* +vcalloc(unsigned int size) +{ + void* ptr = __valloc(size, &piles); + memset(ptr, 0, size); + return ptr; +} + void vfree(void* ptr) { @@ -76,6 +86,14 @@ valloc_dma(unsigned int size) return __valloc(size, &piles_dma); } +void* +vcalloc_dma(unsigned int size) +{ + void* ptr = __valloc(size, &piles_dma); + memset(ptr, 0, size); + return ptr; +} + void vfree_dma(void* ptr) {