void __start(struct bios_service_table *pbios_services) { bios_services = pbios_services; __asm("xchg %bx, %bx"); bios_console_init(&bios_console); stdout->handle.pointer = &bios_console.dev; /* Initialize the memory map, find all the tables. */ mmap_init(); tables_init(); vbe_init(); /*gd_memory_map_entry mmap[100]; size_t nentries = 100, key = 0; mmap_get(&mmap, nentries, &nentries, &key); for (size_t i = 0; i < nentries; i++) { printf("Entry %d: %llx -> %llx, %d\n", i, mmap[i].physical_start, mmap[i].physical_start + mmap[i].size, mmap[i].type); }*/ //extern gd_rsdt_pointer_table rsdt_pointer; //extern gd_pc_pointer_table pc_pointer; //if (rsdt_pointer.header.length) { // printf("RSDT: %x\nXSDT: %llx\n", rsdt_pointer.rsdt_address, rsdt_pointer.xsdt_address); //} //if (pc_pointer.header.length) { // printf("MPS: %c%c%c%c\nSMBIOS: %x\n", pc_pointer.mpfp.signature[0], // pc_pointer.mpfp.signature[1], // pc_pointer.mpfp.signature[2], // pc_pointer.mpfp.signature[3], pc_pointer.smbios_entry_point_address); //} for(;;); }
void rmt_init(void) { rmt_instance = malloc(sizeof(rmt_instance_t)); memset(rmt_instance, 0, sizeof(rmt_instance_t)); tables_init(); action_profiles_init(); stateful_init(); calculations_init(); pkt_manager_init(); }