fix (drivers): pushing without testing was a bad idea ^^
This commit is contained in:
parent
74aa1a4e4d
commit
78ea65ec75
|
@ -97,7 +97,7 @@ void kmain(boot_info_T boot_info) {
|
||||||
void (*drv_test)() = entry;
|
void (*drv_test)() = entry;
|
||||||
drv_test();
|
drv_test();
|
||||||
|
|
||||||
driver_T* resolved = driver_lookup_pci_device(0x886, 0x2920);
|
driver_T* resolved = driver_lookup_pci_device(0x8086, 0x2922);
|
||||||
|
|
||||||
DEBUG("driver: 0x%x", drv);
|
DEBUG("driver: 0x%x", drv);
|
||||||
DEBUG("resolved: 0x%x", resolved);
|
DEBUG("resolved: 0x%x", resolved);
|
||||||
|
|
|
@ -32,22 +32,22 @@ driver_manager_chunk_T* driver_manager_chunk_alloc(driver_manager_chunk_T* prev)
|
||||||
}
|
}
|
||||||
|
|
||||||
driver_T* driver_find_pci_device(uint16_t vendor_id, uint16_t device_id) {
|
driver_T* driver_find_pci_device(uint16_t vendor_id, uint16_t device_id) {
|
||||||
log(LOG_WARNING, "driver manager -> driver lookup on disk is not implemented yet");
|
log(LOG_WARNING, "driver manager -> pci driver lookup on disk is not implemented yet");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
driver_T* driver_find_usb_device(uint16_t vendor_id, uint16_t device_id) {
|
driver_T* driver_find_usb_device(uint16_t vendor_id, uint16_t device_id) {
|
||||||
log(LOG_WARNING, "driver manager -> driver lookup on disk is not implemented yet");
|
log(LOG_WARNING, "driver manager -> usb driver lookup on disk is not implemented yet");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
driver_T* driver_find_fs_gpt(uint8_t guid[16]) {
|
driver_T* driver_find_fs_gpt(uint8_t guid[16]) {
|
||||||
log(LOG_WARNING, "driver manager -> driver lookup on disk is not implemented yet");
|
log(LOG_WARNING, "driver manager -> gpt driver lookup on disk is not implemented yet");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
driver_T* driver_find_fs_mbr(uint8_t type) {
|
driver_T* driver_find_fs_mbr(uint8_t type) {
|
||||||
log(LOG_WARNING, "driver manager -> driver lookup on disk is not implemented yet");
|
log(LOG_WARNING, "driver manager -> mbr driver lookup on disk is not implemented yet");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ void driver_init_pci(driver_T* driver, driver_config_pci_T* conf) {
|
||||||
hashmap_T* level_2 = hashmap_lookup(&g_driver_manager.lookup_table_pci, device_id->vendor_id);
|
hashmap_T* level_2 = hashmap_lookup(&g_driver_manager.lookup_table_pci, device_id->vendor_id);
|
||||||
if (level_2 == NULL) {
|
if (level_2 == NULL) {
|
||||||
level_2 = memory_allocate(sizeof(hashmap_T));
|
level_2 = memory_allocate(sizeof(hashmap_T));
|
||||||
|
*level_2 = hashmap_create(DRIVER_MANAGER_HASHMAP_SIZE);
|
||||||
hashmap_insert(&g_driver_manager.lookup_table_pci, device_id->vendor_id, level_2);
|
hashmap_insert(&g_driver_manager.lookup_table_pci, device_id->vendor_id, level_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,9 +131,18 @@ void driver_init_fs(driver_T* driver, driver_config_fs_T* conf) {
|
||||||
|
|
||||||
void driver_init(driver_T* driver, driver_transport_protocol_E protocol, conf_U conf) {
|
void driver_init(driver_T* driver, driver_transport_protocol_E protocol, conf_U conf) {
|
||||||
switch (protocol) {
|
switch (protocol) {
|
||||||
case DRIVER_TRANSPORT_PCI: driver_init_pci(driver, conf.pci);
|
case DRIVER_TRANSPORT_PCI: {
|
||||||
case DRIVER_TRANSPORT_USB: driver_init_usb(driver, conf.usb);
|
driver_init_pci(driver, conf.pci);
|
||||||
case DRIVER_TRANSPORT_FS: driver_init_fs (driver, conf.fs);
|
break;
|
||||||
|
}
|
||||||
|
case DRIVER_TRANSPORT_USB: {
|
||||||
|
driver_init_usb(driver, conf.usb);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DRIVER_TRANSPORT_FS: {
|
||||||
|
driver_init_fs(driver, conf.fs);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue