Kernel: Take ownership of xHCI controller from bios

This commit is contained in:
2024-07-14 03:31:35 +03:00
parent baa4e6475a
commit 86e9d92ecb
6 changed files with 94 additions and 8 deletions

View File

@@ -38,7 +38,8 @@ namespace Kernel
};
public:
static BAN::ErrorOr<BAN::UniqPtr<XHCIController>> initialize(PCI::Device&);
static BAN::ErrorOr<void> take_ownership(PCI::Device&);
static BAN::ErrorOr<BAN::UniqPtr<XHCIController>> create(PCI::Device&);
void handle_irq() final override;

View File

@@ -409,6 +409,17 @@ namespace Kernel::XHCI
};
static_assert(sizeof(ExtendedCap) == 4);
struct USBLegacySupportCap
{
uint32_t capability_id : 8;
uint32_t next_capability : 8;
uint32_t hc_bios_owned_semaphore : 1;
uint32_t : 7;
uint32_t hc_os_owned_semaphore : 1;
uint32_t : 7;
};
static_assert(sizeof(USBLegacySupportCap) == 4);
struct SupportedPrococolCap
{
uint32_t capability_id : 8;