Beispiel #1
0
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(;;);
}
Beispiel #2
0
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();
}