PCI-IDE interrupt based driver fixes, works on QEMU
This commit is contained in:
@@ -19,14 +19,13 @@ struct idedrv_init {
|
||||
size_t sector_size;
|
||||
uint16_t io, ctrl;
|
||||
uint8_t devno;
|
||||
uint8_t primscnd;
|
||||
uint8_t irq;
|
||||
};
|
||||
|
||||
struct idedrv_request {
|
||||
uint16_t* buffer;
|
||||
size_t sector_done_count;
|
||||
size_t sector_count;
|
||||
struct list_node_link requests_link;
|
||||
int type;
|
||||
atomic_int done;
|
||||
};
|
||||
@@ -38,9 +37,8 @@ struct idedrv {
|
||||
size_t sector_size;
|
||||
uint16_t io, ctrl;
|
||||
uint8_t devno;
|
||||
uint8_t primscnd;
|
||||
|
||||
struct list_node_link* requests;
|
||||
uint8_t irq;
|
||||
struct idedrv_request* current_req;
|
||||
};
|
||||
|
||||
struct ide_probe {
|
||||
@@ -49,7 +47,7 @@ struct ide_probe {
|
||||
size_t sector_size;
|
||||
uint16_t io, ctrl;
|
||||
uint8_t devno;
|
||||
uint8_t primscnd;
|
||||
uint8_t irq;
|
||||
};
|
||||
|
||||
bool idedrv_init (struct device* device, void* arg, struct proc* proc, struct reschedule_ctx* rctx);
|
||||
|
||||
Reference in New Issue
Block a user