00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef kmem_alloc_h 00004 #define kmem_alloc_h 00005 00006 #include "mapped_alloc.h" 00007 #include "helping_lock.h" 00008 #include "initcalls.h" 00009 00010 // 00011 // INTERFACE definition follows 00012 // 00013 00014 00015 class List_alloc; 00016 00017 class Kmem_alloc : public Mapped_allocator 00018 { 00019 Kmem_alloc::Kmem_alloc(); 00020 00021 private: 00022 static Helping_lock lmm_lock; 00023 static List_alloc *a; 00024 00025 public: 00026 static FIASCO_INIT void init(); 00027 00028 void * alloc(size_t o); 00029 00030 void free(size_t o, void *p); 00031 00032 void * unaligned_alloc(int pages); 00033 00034 void unaligned_free(int pages, void *page); 00035 00036 void debug_dump(); 00037 00038 private: 00039 inline unsigned long orig_free(); 00040 }; 00041 00042 #endif // kmem_alloc_h