hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC
The real SuperI/O chips emulated by QEMU allow for relocating and enabling or disabling their SuperI/O functions via software. So far this is not implemented. Prepare for that by adding isa_fdc_set_{enabled,iobase}. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Message-Id: <20240114123911.4877-8-shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f165cdf102
commit
8c4d239139
@ -192,6 +192,20 @@ static Aml *build_fdinfo_aml(int idx, FloppyDriveType type)
|
|||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void isa_fdc_set_iobase(ISADevice *fdc, hwaddr iobase)
|
||||||
|
{
|
||||||
|
FDCtrlISABus *isa = ISA_FDC(fdc);
|
||||||
|
|
||||||
|
fdc->ioport_id = iobase;
|
||||||
|
isa->iobase = iobase;
|
||||||
|
portio_list_set_address(&isa->portio_list, isa->iobase);
|
||||||
|
}
|
||||||
|
|
||||||
|
void isa_fdc_set_enabled(ISADevice *fdc, bool enabled)
|
||||||
|
{
|
||||||
|
portio_list_set_enabled(&ISA_FDC(fdc)->portio_list, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
int cmos_get_fd_drive_type(FloppyDriveType fd0)
|
int cmos_get_fd_drive_type(FloppyDriveType fd0)
|
||||||
{
|
{
|
||||||
int val;
|
int val;
|
||||||
|
@ -14,6 +14,9 @@ void fdctrl_init_sysbus(qemu_irq irq, hwaddr mmio_base, DriveInfo **fds);
|
|||||||
void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base,
|
void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base,
|
||||||
DriveInfo **fds, qemu_irq *fdc_tc);
|
DriveInfo **fds, qemu_irq *fdc_tc);
|
||||||
|
|
||||||
|
void isa_fdc_set_iobase(ISADevice *fdc, hwaddr iobase);
|
||||||
|
void isa_fdc_set_enabled(ISADevice *fdc, bool enabled);
|
||||||
|
|
||||||
FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i);
|
FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i);
|
||||||
int cmos_get_fd_drive_type(FloppyDriveType fd0);
|
int cmos_get_fd_drive_type(FloppyDriveType fd0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user