kalloc and kfree interface and abstraction
[cortex-from-scratch] / include / sys / robsys.h
index e02eded..9d1db41 100644 (file)
@@ -1,8 +1,22 @@
 #ifndef __SYSTEM_H
 #define __SYSTEM_H
 
-/* CLOCK.C */
+
+/* CLOCK.C 
+ * Board specific clock settings. These boards often come with two 
+ * external oscillators: one high speed (8MHz) and one low speed (~30kHz).
+ * These values are used throughout the code to calculator desired baud
+ * rates etc.
+ */
+//#define ENABLE_HSE           
+//#define CRYSTAL_MHZ  8
+#define CLKSPEED_MHZ 8
 extern void clock_init();
+// extern void clock_reset();
+
+/* RTC.C */
+#define ENABLE_RTC     
+extern void rtc_init();
 
 /* IVT.C */
 extern void ivt_init();
@@ -14,16 +28,14 @@ extern void systick_init();
 /* SYSINFO.C */
 extern void sysinfo();
 
-/* MM.C DELETE TODO */
-//extern void mm_init();
-//extern void * malloc(size_t);
-//extern void free(void *);
-//extern void test_memory(uint32_t *);
-
-/* POOL.c */
-extern void pool_init(size_t, unsigned int, uint32_t *);
-extern void * alloc();
-extern void free();
+/* HEAP.c */
+/* typedef void * (kalloc)(void * s);
+ * typedef void (kfree)(void * s, void * p); */
+extern void kheap_init();
+extern void * get_kheap();
+extern void * kalloc(void * s);
+extern void kfree(void * s, void * p);
+extern void kheap_info(void * s);
 
 /* TERM.C */
 extern void terminal();