mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-19 00:46:31 +00:00
bitree的单元测试以及bug修复
This commit is contained in:
@ -9,7 +9,7 @@
|
||||
#include <exception/irq.h>
|
||||
#include <driver/interrupt/apic/apic.h>
|
||||
|
||||
spinlock_t xhci_controller_init_lock; // xhci控制器初始化锁(在usb_init中被初始化)
|
||||
spinlock_t xhci_controller_init_lock = {0}; // xhci控制器初始化锁(在usb_init中被初始化)
|
||||
|
||||
static int xhci_ctrl_count = 0; // xhci控制器计数
|
||||
|
||||
@ -123,7 +123,6 @@ hardware_intr_controller xhci_hc_intr_controller =
|
||||
ptr->cycle = 1; \
|
||||
} while (0)
|
||||
|
||||
|
||||
// Common TRB types
|
||||
enum
|
||||
{
|
||||
@ -381,7 +380,7 @@ static int xhci_hc_pair_ports(int id)
|
||||
|
||||
uint32_t next_off = xhci_hc[id].ext_caps_off;
|
||||
uint32_t offset, cnt;
|
||||
uint16_t protocol_flags;
|
||||
uint16_t protocol_flags = 0;
|
||||
|
||||
// 寻找所有的usb2端口
|
||||
while (next_off)
|
||||
@ -554,12 +553,12 @@ uint64_t xhci_hc_irq_install(uint64_t irq_num, void *arg)
|
||||
struct msi_desc_t msi_desc;
|
||||
memset(&msi_desc, 0, sizeof(struct msi_desc_t));
|
||||
|
||||
msi_desc.pci_dev = (struct pci_device_structure_header_t*)xhci_hc[cid].pci_dev_hdr;
|
||||
msi_desc.pci_dev = (struct pci_device_structure_header_t *)xhci_hc[cid].pci_dev_hdr;
|
||||
msi_desc.assert = info->assert;
|
||||
msi_desc.edge_trigger = info->edge_trigger;
|
||||
msi_desc.processor = info->processor;
|
||||
msi_desc.pci.msi_attribute.is_64 = 1;
|
||||
// todo: QEMU是使用msix的,因此要先在pci中实现msix
|
||||
// todo: QEMU是使用msix的,因此要先在pci中实现msix
|
||||
int retval = pci_enable_msi(&msi_desc);
|
||||
kdebug("pci retval = %d", retval);
|
||||
kdebug("xhci irq %d installed.", irq_num);
|
||||
@ -637,7 +636,7 @@ static int xhci_reset_port(const int id, const int port)
|
||||
break;
|
||||
else if (val & (1 << 21))
|
||||
break;
|
||||
|
||||
|
||||
--timeout;
|
||||
usleep(500);
|
||||
}
|
||||
|
Reference in New Issue
Block a user