Add ISA, VLB & PCI second channel IDE devs
This commit is contained in:
@@ -2902,6 +2902,25 @@ ide_pnp_config_changed(uint8_t ld, isapnp_device_config_t *config, void *priv)
|
||||
}
|
||||
}
|
||||
|
||||
static void *
|
||||
ide_sec_init(const device_t *info)
|
||||
{
|
||||
/* Don't claim this channel again if it was already claimed. */
|
||||
if (ide_boards[1])
|
||||
return (NULL);
|
||||
|
||||
ide_board_init(1, HDC_SECONDARY_IRQ, HDC_SECONDARY_BASE, HDC_SECONDARY_SIDE, info->local, info->flags);
|
||||
|
||||
return (ide_boards[1]);
|
||||
}
|
||||
|
||||
/* Close a standalone IDE unit. */
|
||||
static void
|
||||
ide_sec_close(UNUSED(void *priv))
|
||||
{
|
||||
ide_board_close(1);
|
||||
}
|
||||
|
||||
static void *
|
||||
ide_ter_init(const device_t *info)
|
||||
{
|
||||
@@ -3274,6 +3293,20 @@ const device_t ide_isa_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ide_isa_sec_device = {
|
||||
.name = "ISA PC/AT IDE Controller (Secondary)",
|
||||
.internal_name = "ide_isa_sec",
|
||||
.flags = DEVICE_ISA | DEVICE_AT,
|
||||
.local = 0,
|
||||
.init = ide_init,
|
||||
.close = ide_close,
|
||||
.reset = ide_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ide_isa_2ch_device = {
|
||||
.name = "ISA PC/AT IDE Controller (Dual-Channel)",
|
||||
.internal_name = "ide_isa_2ch",
|
||||
@@ -3302,6 +3335,20 @@ const device_t ide_vlb_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ide_vlb_sec_device = {
|
||||
.name = "VLB IDE Controller (Secondary)",
|
||||
.internal_name = "ide_vlb_sec",
|
||||
.flags = DEVICE_VLB | DEVICE_AT,
|
||||
.local = 2,
|
||||
.init = ide_init,
|
||||
.close = ide_close,
|
||||
.reset = ide_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ide_vlb_2ch_device = {
|
||||
.name = "VLB IDE Controller (Dual-Channel)",
|
||||
.internal_name = "ide_vlb_2ch",
|
||||
@@ -3330,6 +3377,20 @@ const device_t ide_pci_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ide_pci_sec_device = {
|
||||
.name = "PCI IDE Controller (Secondary)",
|
||||
.internal_name = "ide_pci_sec",
|
||||
.flags = DEVICE_PCI | DEVICE_AT,
|
||||
.local = 4,
|
||||
.init = ide_init,
|
||||
.close = ide_close,
|
||||
.reset = ide_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ide_pci_2ch_device = {
|
||||
.name = "PCI IDE Controller (Dual-Channel)",
|
||||
.internal_name = "ide_pci_2ch",
|
||||
|
||||
@@ -50,10 +50,13 @@ extern const device_t esdi_at_wd1007vse1_device; /* esdi_at */
|
||||
extern const device_t esdi_ps2_device; /* esdi_mca */
|
||||
|
||||
extern const device_t ide_isa_device; /* isa_ide */
|
||||
extern const device_t ide_isa_sec_device; /* isa_ide sec*/
|
||||
extern const device_t ide_isa_2ch_device; /* isa_ide_2ch */
|
||||
extern const device_t ide_vlb_device; /* vlb_ide */
|
||||
extern const device_t ide_vlb_sec_device; /* vlb_ide sec */
|
||||
extern const device_t ide_vlb_2ch_device; /* vlb_ide_2ch */
|
||||
extern const device_t ide_pci_device; /* pci_ide */
|
||||
extern const device_t ide_pci_sec_device; /* pci_ide sec */
|
||||
extern const device_t ide_pci_2ch_device; /* pci_ide_2ch */
|
||||
|
||||
extern const device_t ide_ali1489_device; /* ALi M1489 */
|
||||
|
||||
Reference in New Issue
Block a user