Message ID | 20231024224056.842607-1-mark.cave-ayland@ilande.co.uk (mailing list archive) |
---|---|
Headers | show |
Series | ide: implement simple legacy/native mode switching for PCI IDE controllers | expand |
On Tue, 24 Oct 2023, Mark Cave-Ayland wrote: > This series adds a simple implementation of legacy/native mode switching for PCI > IDE controllers and updates the via-ide device to use it. This is needed for my amigaone machine to boot (as that uses the legacy mode of this controller) so is somebody looking at merging this series in time for next release? Only one week left until the freeze. Regards, BALATON Zoltan > The approach I take here is to add a new pci_ide_update_mode() function which handles > management of the PCI BARs and legacy IDE ioports for each mode to avoid exposing > details of the internal logic to individual PCI IDE controllers. > > As noted in [1] this is extracted from a local WIP branch I have which contains > further work in this area. However for the moment I've kept it simple (and > restricted it to the via-ide device) which is good enough for Zoltan's PPC > images whilst paving the way for future improvements after 8.2. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > [1] https://lists.gnu.org/archive/html/qemu-devel/2023-10/msg05403.html > > v2: > - Rebase onto master > - Mask the bottom 4 bits of PCI_CLASS_PROG in pci_ide_update_mode() in patch 1 > - Add patch 2 to remove the default BAR addresses to avoid confusion > - Don't set PCI_INTERRUPT_PIN directly in via_ide_reset() as it is already set > by pci_ide_update_mode() in patch 3, and reword the commit message accordingly > - Add Tested-By tags from Zoltan and Bernhard > > > Mark Cave-Ayland (3): > ide/pci.c: introduce pci_ide_update_mode() function > ide/via: don't attempt to set default BAR addresses > hw/ide/via: implement legacy/native mode switching > > hw/ide/pci.c | 90 ++++++++++++++++++++++++++++++++++++++++++++ > hw/ide/via.c | 25 ++++++++---- > include/hw/ide/pci.h | 1 + > 3 files changed, 109 insertions(+), 7 deletions(-) > >
Am 24. Oktober 2023 22:40:53 UTC schrieb Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>: >This series adds a simple implementation of legacy/native mode switching for PCI >IDE controllers and updates the via-ide device to use it. > >The approach I take here is to add a new pci_ide_update_mode() function which handles >management of the PCI BARs and legacy IDE ioports for each mode to avoid exposing >details of the internal logic to individual PCI IDE controllers. > >As noted in [1] this is extracted from a local WIP branch I have which contains >further work in this area. However for the moment I've kept it simple (and >restricted it to the via-ide device) which is good enough for Zoltan's PPC >images whilst paving the way for future improvements after 8.2. > >Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> FWIW: Reviewed-by: Bernhard Beschow <shentey@gmail.com> > >[1] https://lists.gnu.org/archive/html/qemu-devel/2023-10/msg05403.html > >v2: >- Rebase onto master >- Mask the bottom 4 bits of PCI_CLASS_PROG in pci_ide_update_mode() in patch 1 >- Add patch 2 to remove the default BAR addresses to avoid confusion >- Don't set PCI_INTERRUPT_PIN directly in via_ide_reset() as it is already set > by pci_ide_update_mode() in patch 3, and reword the commit message accordingly >- Add Tested-By tags from Zoltan and Bernhard > > >Mark Cave-Ayland (3): > ide/pci.c: introduce pci_ide_update_mode() function > ide/via: don't attempt to set default BAR addresses > hw/ide/via: implement legacy/native mode switching > > hw/ide/pci.c | 90 ++++++++++++++++++++++++++++++++++++++++++++ > hw/ide/via.c | 25 ++++++++---- > include/hw/ide/pci.h | 1 + > 3 files changed, 109 insertions(+), 7 deletions(-) >
This series adds a simple implementation of legacy/native mode switching for PCI IDE controllers and updates the via-ide device to use it. The approach I take here is to add a new pci_ide_update_mode() function which handles management of the PCI BARs and legacy IDE ioports for each mode to avoid exposing details of the internal logic to individual PCI IDE controllers. As noted in [1] this is extracted from a local WIP branch I have which contains further work in this area. However for the moment I've kept it simple (and restricted it to the via-ide device) which is good enough for Zoltan's PPC images whilst paving the way for future improvements after 8.2. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [1] https://lists.gnu.org/archive/html/qemu-devel/2023-10/msg05403.html v2: - Rebase onto master - Mask the bottom 4 bits of PCI_CLASS_PROG in pci_ide_update_mode() in patch 1 - Add patch 2 to remove the default BAR addresses to avoid confusion - Don't set PCI_INTERRUPT_PIN directly in via_ide_reset() as it is already set by pci_ide_update_mode() in patch 3, and reword the commit message accordingly - Add Tested-By tags from Zoltan and Bernhard Mark Cave-Ayland (3): ide/pci.c: introduce pci_ide_update_mode() function ide/via: don't attempt to set default BAR addresses hw/ide/via: implement legacy/native mode switching hw/ide/pci.c | 90 ++++++++++++++++++++++++++++++++++++++++++++ hw/ide/via.c | 25 ++++++++---- include/hw/ide/pci.h | 1 + 3 files changed, 109 insertions(+), 7 deletions(-)