On 3/14/20 5:15 AM, Mark Cave-Ayland wrote:
> On 13/03/2020 17:57, John Snow wrote:
>
>> On 3/13/20 4:24 AM, Mark Cave-Ayland wrote:
>>> Following on from the earlier thread "Implement "non 100% native mode"
>>> in via-ide", here is an updated patchset based upon the test cases
>>> sent to me off-list.
>>>
>>> The VIA IDE controller is similar to early versions of the PIIX
>>> controller in that the primary and secondary IDE channels are hardwired
>>> to IRQs 14 and 15 respectively. Guest OSs typically handle this by
>>> either switching the controller to legacy mode, or using native mode and
>>> using a combination of PCI device/vendor ID and/or checking various
>>> registers in PCI configuration space to detect this condition and apply
>>> a special fixed IRQ 14/15 routing.
>>>
>>> This patchset effectively updates the VIA IDE PCI device to follow the
>>> behaviour in the datasheet in two ways: fixing some PCI configuration
>>> space register defaults and behaviours, and always using legacy IRQ 14/15
>>> routing, and once applied allows all our known test images to boot
>>> correctly.
>>>
>>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
>>>
>>>
>>> BALATON Zoltan (2):
>>> ide/via: Get rid of via_ide_init()
>>> pci: Honour wmask when resetting PCI_INTERRUPT_LINE
>>>
>>> Mark Cave-Ayland (5):
>>> via-ide: move registration of VMStateDescription to DeviceClass
>>> via-ide: ensure that PCI_INTERRUPT_LINE is hard-wired to its default
>>> value
>>> via-ide: initialise IDE controller in legacy mode
>>> via-ide: allow guests to write to PCI_CLASS_PROG
>>> via-ide: always use legacy IRQ 14/15 routing
>>>
>>> hw/ide/via.c | 21 +++++----------------
>>> hw/mips/mips_fulong2e.c | 5 ++++-
>>> hw/pci/pci.c | 5 ++++-
>>> include/hw/ide.h | 1 -
>>> 4 files changed, 13 insertions(+), 19 deletions(-)
>>>
>>
>> Does this supersede everything else so far? (Except the two cmd646
>> related series, four patches total, which are already staged)
>
> Yes, that's correct. It passes all our tests, and even better allows the
> fulong2e CD
> image at the link Zoltan posted to boot.
>
> So I believe it's good unless Alexander has any objections?
>
>
> ATB,
>
> Mark.
>
Tentatively staged! Please let me know during the RC testing phase if
you discover problems.
Thanks, applied to my IDE tree:
https://github.com/jnsnow/qemu/commits/ide
https://github.com/jnsnow/qemu.git
--js