void main(uint32_t magic, const multiboot_info_t *mbi) { vga_clear(); check_multiboot(magic, mbi); init_memory(mbi); //----- struct kmem_cache *cache = kmem_cache_create("test", 1024, 1024); void *obj1 = kmem_cache_alloc(cache, KMEM_ZEROED); void *obj2 = kmem_cache_alloc(cache, KMEM_ZEROED); void *obj3 = kmem_cache_alloc(cache, KMEM_ZEROED); void *obj4 = kmem_cache_alloc(cache, KMEM_ZEROED); void *obj5 = kmem_cache_alloc(cache, KMEM_ZEROED); printf("obj1: 0x%p\n", obj1); printf("obj2: 0x%p\n", obj2); printf("obj3: 0x%p\n", obj3); printf("obj4: 0x%p\n", obj4); printf("obj5: 0x%p\n", obj5); kmem_cache_free(cache, obj2); obj2 = kmem_cache_alloc(cache, KMEM_DEFAULT); printf("obj2: 0x%p\n", obj2); kmem_cache_free(cache, obj1); kmem_cache_free(cache, obj2); kmem_cache_free(cache, obj3); kmem_cache_free(cache, obj4); kmem_cache_free(cache, obj5); kmem_cache_print_info(cache); kmem_cache_destroy(cache); init_interrupts(); __asm__ __volatile__("int $0x3"); __asm__ __volatile__("int $0x4"); while (1) { } ASSERT_MSG(0, "control reached end of main"); }
int main(unsigned arg_c, char *arg_v[]) { FILE *file; if(arg_c < 2) { printf("Checks if file is Multiboot compatible\n"); return 1; } file = fopen(arg_v[1], "rb"); if(file == NULL) { printf("Can't open file '%s'\n", arg_v[1]); return 2; } check_multiboot(arg_v[1], file); fclose(file); return 0; }
void kmain(uint32_t magic, multiboot_info_t * mbinfo) { con_init(); klog_info("Kernel Location: 0x%08x - 0x%08x\n", KERNEL_START, KERNEL_END); klog_info("Multiboot Version: %x\n", mbinfo->flags); klog_info("Memory (Low/High): 0x%08x/0x%08x\n", mbinfo->mem_lower, mbinfo->mem_upper); check_multiboot(magic, mbinfo); arch_init(); mm_init(mbinfo); klog_info("Sepix %s-%s %s %s\n", BUILD_VERSION_BRANCH, BUILD_VERSION_REV, BUILD_VERSION_DATE, STRINGIFY(ARCH)); task_init(); arch_start(); task_idle_fn(); }
int main (int argc, char *argv[]) { int c; do { c = getopt_long (argc, argv, optstring, longopts, 0); switch (c) { case EOF: break; case 'h': usage (0); break; case 'v': printf ("mbchk (GNU GRUB " VERSION ")\n"); exit (0); break; case 'q': quiet = 1; break; default: usage (1); break; } } while (c != EOF); if (optind < argc) { while (optind < argc) { FILE *fp; fp = fopen (argv[optind], "r"); if (! fp) { fprintf (stderr, "%s: No such file.\n", argv[optind]); exit (1); } if (! check_multiboot (argv[optind], fp)) exit (1); fclose (fp); optind++; } } else { if (! check_multiboot ("<stdin>", stdin)) exit (1); } return 0; }