feat: disk read/write support for both ATA and ATAPI device
[lunaix-os.git] / lunaix-os / kernel / mm / valloc.c
index 0c4d4d4020e2167cf85c7a5d304812f80abc144a..4ff4794fd3e0da1a9543f07efbbec432ddbb66c6 100644 (file)
@@ -1,4 +1,6 @@
+#include <klibc/string.h>
 #include <lunaix/mm/cake.h>
+#include <lunaix/mm/valloc.h>
 
 #define MAX_CLASS 6
 
@@ -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)
 {