22int atexit(
void (*function)(
void));
23KERNEL_API void __cxa_finalize(
void* dso_handle);
42 void* test_ptr =
kalloc(256);
48 "Allocated 256 bytes at %x, sizeof(meta)=%d",
51 "metadata: size=%d, magic=0x%x, pad=0x%x", meta->
size,
54 LOG2_INFO(
"KALLOC_TEST",
"Freed successfully");
58 void* large_ptr =
kalloc(4096);
64 "Allocated 4096 bytes at %x, sizeof(meta)=%d",
67 "metadata: size=%d, magic=0x%x, pad=0x%x", meta->
size,
70 LOG2_INFO(
"KALLOC_TEST",
"Large alloc freed successfully");
76 execve(
"/sbin/hello.elf", 0, 0);
99 LOG_DEBUG(
"LIBC",
"atexit called, but not implemented");
104 LOG_DEBUG(
"LIBC",
"__cxa_finalize called, but not implemented");
#define APIC_TIMER_PERIOD
void vxAPICCreateTimer(uint32_t type, uint64_t freq_us, uint16_t vector)
uint16_t irq_alloc_entry(uint8_t core)
void irq_register(uint8_t core, int n, void *handler, boolean_t use_default_isr, uint16_t selector, uint8_t ist, uint8_t type_attr)
#define INTERRUPT_ATTR_KERNEL
void kfree(void *ptr, size_t size)
void * kalloc(size_t size)
void run_all_init_calls(init_context_t *ctx)
void build_context_from_stivale2(struct stivale2_struct *stivale2_struct, init_context_t *ctx)
int wait_until_receive_notify(const char *name, uint64_t timeout)
int execve(const char *path, char *const *argv, char *const *envp)
#define LOG2_INFO(mod, fmt,...)
#define LOG_DEBUG(mod, fmt,...)