mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:47:35 +00:00
Kernel/Storage: Add support for IDE controllers in PCI native mode
Also handle native and compatibility channel modes together, so if only one IDE channel was set to work on PCI native mode, we need to handle it separately, so the other channel continue to operate with the legacy IO ports and interrupt line.
This commit is contained in:
parent
627cfe017c
commit
2718d7c74c
6 changed files with 96 additions and 25 deletions
|
@ -46,12 +46,14 @@ class BMIDEChannel final : public IDEChannel {
|
|||
|
||||
public:
|
||||
static NonnullRefPtr<BMIDEChannel> create(const IDEController&, IDEChannel::IOAddressGroup, IDEChannel::ChannelType type);
|
||||
static NonnullRefPtr<BMIDEChannel> create(const IDEController&, u8 irq, IDEChannel::IOAddressGroup, IDEChannel::ChannelType type);
|
||||
virtual ~BMIDEChannel() override {};
|
||||
|
||||
virtual bool is_dma_enabled() const override { return true; };
|
||||
|
||||
private:
|
||||
BMIDEChannel(const IDEController&, IDEChannel::IOAddressGroup, IDEChannel::ChannelType type);
|
||||
BMIDEChannel(const IDEController&, u8 irq, IDEChannel::IOAddressGroup, IDEChannel::ChannelType type);
|
||||
void initialize();
|
||||
|
||||
void complete_current_request(AsyncDeviceRequest::RequestResult);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue