* [PATCH] net: tulip: Set PCI revision to match dec21143
@ 2020-04-18 0:25 Marek Vasut
2020-06-06 12:02 ` Marek Vasut
2020-06-07 22:17 ` Philippe Mathieu-Daudé
0 siblings, 2 replies; 6+ messages in thread
From: Marek Vasut @ 2020-04-18 0:25 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Prasad J Pandit, Paolo Bonzini,
Marc-André Lureau, Sven Schnelle, Marek Vasut
The tulip driver claims to emulate dec21143 and it does not emulate dec21142.
The dec21142 and dec21143 can be discerned by the PCI revision register,
where dec21142 reports value < 0x20 and dec21143 value >= 0x20. E.g. the
U-Boot 'tulip' driver also only supports dec21143 and verifies that the
PCI revision ID is >= 0x20, otherwise refuses to operate such a card.
This patch sets the PCI revision ID to 0x20 to match the dec21143 and
thus also permits e.g. U-Boot to work with the tulip emulation.
Fixes: 34ea023d4b95 ("net: add tulip (dec21143) driver")
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Prasad J Pandit <pjp@fedoraproject.org>
Cc: Sven Schnelle <svens@stackframe.org>
---
hw/net/tulip.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/net/tulip.c b/hw/net/tulip.c
index 1295f51d07..ffb6c2479a 100644
--- a/hw/net/tulip.c
+++ b/hw/net/tulip.c
@@ -962,6 +962,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error **errp)
pci_conf = s->dev.config;
pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */
+ /* Anything with revision < 0x20 is DC21142, anything >= 0x20 is DC21143 */
+ pci_conf[PCI_REVISION_ID] = 0x20;
s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64);
tulip_fill_eeprom(s);
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] net: tulip: Set PCI revision to match dec21143 2020-04-18 0:25 [PATCH] net: tulip: Set PCI revision to match dec21143 Marek Vasut @ 2020-06-06 12:02 ` Marek Vasut 2020-06-07 22:17 ` Philippe Mathieu-Daudé 1 sibling, 0 replies; 6+ messages in thread From: Marek Vasut @ 2020-06-06 12:02 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Marc-André Lureau, Sven Schnelle, Prasad J Pandit, Paolo Bonzini On 4/18/20 2:25 AM, Marek Vasut wrote: > The tulip driver claims to emulate dec21143 and it does not emulate dec21142. > The dec21142 and dec21143 can be discerned by the PCI revision register, > where dec21142 reports value < 0x20 and dec21143 value >= 0x20. E.g. the > U-Boot 'tulip' driver also only supports dec21143 and verifies that the > PCI revision ID is >= 0x20, otherwise refuses to operate such a card. > > This patch sets the PCI revision ID to 0x20 to match the dec21143 and > thus also permits e.g. U-Boot to work with the tulip emulation. > > Fixes: 34ea023d4b95 ("net: add tulip (dec21143) driver") > Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> > Cc: Marc-André Lureau <marcandre.lureau@redhat.com> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Prasad J Pandit <pjp@fedoraproject.org> > Cc: Sven Schnelle <svens@stackframe.org> Bump, any news on this ? This is a bugfix. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] net: tulip: Set PCI revision to match dec21143 2020-04-18 0:25 [PATCH] net: tulip: Set PCI revision to match dec21143 Marek Vasut 2020-06-06 12:02 ` Marek Vasut @ 2020-06-07 22:17 ` Philippe Mathieu-Daudé 2020-06-10 21:13 ` Sven Schnelle 1 sibling, 1 reply; 6+ messages in thread From: Philippe Mathieu-Daudé @ 2020-06-07 22:17 UTC (permalink / raw) To: Marek Vasut, qemu-devel, Sven Schnelle Cc: Peter Maydell, Marek Vasut, Prasad J Pandit, Marc-André Lureau, Paolo Bonzini Hi Sven, could you review thiw one-line patch? On 4/18/20 2:25 AM, Marek Vasut wrote: > The tulip driver claims to emulate dec21143 and it does not emulate dec21142. > The dec21142 and dec21143 can be discerned by the PCI revision register, > where dec21142 reports value < 0x20 and dec21143 value >= 0x20. E.g. the > U-Boot 'tulip' driver also only supports dec21143 and verifies that the > PCI revision ID is >= 0x20, otherwise refuses to operate such a card. > > This patch sets the PCI revision ID to 0x20 to match the dec21143 and > thus also permits e.g. U-Boot to work with the tulip emulation. > > Fixes: 34ea023d4b95 ("net: add tulip (dec21143) driver") > Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> > Cc: Marc-André Lureau <marcandre.lureau@redhat.com> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Prasad J Pandit <pjp@fedoraproject.org> > Cc: Sven Schnelle <svens@stackframe.org> > --- > hw/net/tulip.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/net/tulip.c b/hw/net/tulip.c > index 1295f51d07..ffb6c2479a 100644 > --- a/hw/net/tulip.c > +++ b/hw/net/tulip.c > @@ -962,6 +962,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error **errp) > > pci_conf = s->dev.config; > pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */ > + /* Anything with revision < 0x20 is DC21142, anything >= 0x20 is DC21143 */ > + pci_conf[PCI_REVISION_ID] = 0x20; > > s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64); > tulip_fill_eeprom(s); > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] net: tulip: Set PCI revision to match dec21143 2020-06-07 22:17 ` Philippe Mathieu-Daudé @ 2020-06-10 21:13 ` Sven Schnelle 2020-06-10 22:27 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 6+ messages in thread From: Sven Schnelle @ 2020-06-10 21:13 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Peter Maydell, Prasad J Pandit, qemu-devel, Marek Vasut, Marc-André Lureau, Paolo Bonzini, Marek Vasut On Mon, Jun 08, 2020 at 12:17:11AM +0200, Philippe Mathieu-Daudé wrote: > Hi Sven, could you review thiw one-line patch? > > On 4/18/20 2:25 AM, Marek Vasut wrote: > > The tulip driver claims to emulate dec21143 and it does not emulate dec21142. > > The dec21142 and dec21143 can be discerned by the PCI revision register, > > where dec21142 reports value < 0x20 and dec21143 value >= 0x20. E.g. the > > U-Boot 'tulip' driver also only supports dec21143 and verifies that the > > PCI revision ID is >= 0x20, otherwise refuses to operate such a card. > > > > This patch sets the PCI revision ID to 0x20 to match the dec21143 and > > thus also permits e.g. U-Boot to work with the tulip emulation. > > > > Fixes: 34ea023d4b95 ("net: add tulip (dec21143) driver") > > Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> > > Cc: Marc-André Lureau <marcandre.lureau@redhat.com> > > Cc: Paolo Bonzini <pbonzini@redhat.com> > > Cc: Peter Maydell <peter.maydell@linaro.org> > > Cc: Prasad J Pandit <pjp@fedoraproject.org> > > Cc: Sven Schnelle <svens@stackframe.org> > > --- > > hw/net/tulip.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/hw/net/tulip.c b/hw/net/tulip.c > > index 1295f51d07..ffb6c2479a 100644 > > --- a/hw/net/tulip.c > > +++ b/hw/net/tulip.c > > @@ -962,6 +962,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error **errp) > > > > pci_conf = s->dev.config; > > pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */ > > + /* Anything with revision < 0x20 is DC21142, anything >= 0x20 is DC21143 */ > > + pci_conf[PCI_REVISION_ID] = 0x20; > > > > s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64); > > tulip_fill_eeprom(s); > > > The intel datasheet for the DEC21143 lists only Rev IDs > 30 for this particular family: 21143-PB,TB,PC,TC - 0x30 21143-PD,TD - x041 but maybe older DEC chips used 0x20 - don't know. The most interesting question is whether ancient OS' like HP-UX or Windows XP would still work with this patch, but i don't have test images at hand right now. Regards Sven ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] net: tulip: Set PCI revision to match dec21143 2020-06-10 21:13 ` Sven Schnelle @ 2020-06-10 22:27 ` Philippe Mathieu-Daudé 2020-06-10 22:39 ` Marek Vasut 0 siblings, 1 reply; 6+ messages in thread From: Philippe Mathieu-Daudé @ 2020-06-10 22:27 UTC (permalink / raw) To: Sven Schnelle Cc: Peter Maydell, Prasad J Pandit, qemu-devel, Marek Vasut, Marc-André Lureau, Paolo Bonzini, Marek Vasut On 6/10/20 11:13 PM, Sven Schnelle wrote: > On Mon, Jun 08, 2020 at 12:17:11AM +0200, Philippe Mathieu-Daudé wrote: >> Hi Sven, could you review thiw one-line patch? >> >> On 4/18/20 2:25 AM, Marek Vasut wrote: >>> The tulip driver claims to emulate dec21143 and it does not emulate dec21142. >>> The dec21142 and dec21143 can be discerned by the PCI revision register, >>> where dec21142 reports value < 0x20 and dec21143 value >= 0x20. E.g. the >>> U-Boot 'tulip' driver also only supports dec21143 and verifies that the >>> PCI revision ID is >= 0x20, otherwise refuses to operate such a card. >>> >>> This patch sets the PCI revision ID to 0x20 to match the dec21143 and >>> thus also permits e.g. U-Boot to work with the tulip emulation. >>> >>> Fixes: 34ea023d4b95 ("net: add tulip (dec21143) driver") >>> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> >>> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> >>> Cc: Paolo Bonzini <pbonzini@redhat.com> >>> Cc: Peter Maydell <peter.maydell@linaro.org> >>> Cc: Prasad J Pandit <pjp@fedoraproject.org> >>> Cc: Sven Schnelle <svens@stackframe.org> >>> --- >>> hw/net/tulip.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/hw/net/tulip.c b/hw/net/tulip.c >>> index 1295f51d07..ffb6c2479a 100644 >>> --- a/hw/net/tulip.c >>> +++ b/hw/net/tulip.c >>> @@ -962,6 +962,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error **errp) >>> >>> pci_conf = s->dev.config; >>> pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */ >>> + /* Anything with revision < 0x20 is DC21142, anything >= 0x20 is DC21143 */ >>> + pci_conf[PCI_REVISION_ID] = 0x20; >>> >>> s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64); >>> tulip_fill_eeprom(s); >>> >> > > The intel datasheet for the DEC21143 lists only Rev IDs > 30 for this particular family: > > 21143-PB,TB,PC,TC - 0x30 > 21143-PD,TD - x041 > > but maybe older DEC chips used 0x20 - don't know. The most interesting question is > whether ancient OS' like HP-UX or Windows XP would still work with this patch, but > i don't have test images at hand right now. So the question is whether your HP-UX/WinXP images also boot with a DEC21142 (you aimed to model a DEC21143, and it is tested anyway). Marek, suggestion: Make pci_tulip_realize() abstract, add dec21142 and dec21143 models as you suggested, making 'tulip' an alias of dec21142 for backward compatibility. You can then use the dec21143. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] net: tulip: Set PCI revision to match dec21143 2020-06-10 22:27 ` Philippe Mathieu-Daudé @ 2020-06-10 22:39 ` Marek Vasut 0 siblings, 0 replies; 6+ messages in thread From: Marek Vasut @ 2020-06-10 22:39 UTC (permalink / raw) To: Philippe Mathieu-Daudé, Sven Schnelle Cc: Peter Maydell, Paolo Bonzini, Prasad J Pandit, Marc-André Lureau, qemu-devel On 6/11/20 12:27 AM, Philippe Mathieu-Daudé wrote: > On 6/10/20 11:13 PM, Sven Schnelle wrote: >> On Mon, Jun 08, 2020 at 12:17:11AM +0200, Philippe Mathieu-Daudé wrote: >>> Hi Sven, could you review thiw one-line patch? >>> >>> On 4/18/20 2:25 AM, Marek Vasut wrote: >>>> The tulip driver claims to emulate dec21143 and it does not emulate dec21142. >>>> The dec21142 and dec21143 can be discerned by the PCI revision register, >>>> where dec21142 reports value < 0x20 and dec21143 value >= 0x20. E.g. the >>>> U-Boot 'tulip' driver also only supports dec21143 and verifies that the >>>> PCI revision ID is >= 0x20, otherwise refuses to operate such a card. >>>> >>>> This patch sets the PCI revision ID to 0x20 to match the dec21143 and >>>> thus also permits e.g. U-Boot to work with the tulip emulation. >>>> >>>> Fixes: 34ea023d4b95 ("net: add tulip (dec21143) driver") >>>> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> >>>> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> >>>> Cc: Paolo Bonzini <pbonzini@redhat.com> >>>> Cc: Peter Maydell <peter.maydell@linaro.org> >>>> Cc: Prasad J Pandit <pjp@fedoraproject.org> >>>> Cc: Sven Schnelle <svens@stackframe.org> >>>> --- >>>> hw/net/tulip.c | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/hw/net/tulip.c b/hw/net/tulip.c >>>> index 1295f51d07..ffb6c2479a 100644 >>>> --- a/hw/net/tulip.c >>>> +++ b/hw/net/tulip.c >>>> @@ -962,6 +962,8 @@ static void pci_tulip_realize(PCIDevice *pci_dev, Error **errp) >>>> >>>> pci_conf = s->dev.config; >>>> pci_conf[PCI_INTERRUPT_PIN] = 1; /* interrupt pin A */ >>>> + /* Anything with revision < 0x20 is DC21142, anything >= 0x20 is DC21143 */ >>>> + pci_conf[PCI_REVISION_ID] = 0x20; >>>> >>>> s->eeprom = eeprom93xx_new(&pci_dev->qdev, 64); >>>> tulip_fill_eeprom(s); >>>> >>> >> >> The intel datasheet for the DEC21143 lists only Rev IDs > 30 for this particular family: >> >> 21143-PB,TB,PC,TC - 0x30 >> 21143-PD,TD - x041 >> >> but maybe older DEC chips used 0x20 - don't know. The most interesting question is >> whether ancient OS' like HP-UX or Windows XP would still work with this patch, but >> i don't have test images at hand right now. > > So the question is whether your HP-UX/WinXP images also boot with a > DEC21142 (you aimed to model a DEC21143, and it is tested anyway). > > Marek, suggestion: > > Make pci_tulip_realize() abstract, add dec21142 and dec21143 models as > you suggested, making 'tulip' an alias of dec21142 for backward > compatibility. You can then use the dec21143. I don't have any way to test dec21142 , I only have dec21143 support in U-Boot. U-Boot actually checks for this revision field and does not work with dec21142 , so these older models must be somehow incompatible. Hence, if we model only the dec21143 anyway, we should set that revision ID to model it fully. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-10 22:40 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-04-18 0:25 [PATCH] net: tulip: Set PCI revision to match dec21143 Marek Vasut 2020-06-06 12:02 ` Marek Vasut 2020-06-07 22:17 ` Philippe Mathieu-Daudé 2020-06-10 21:13 ` Sven Schnelle 2020-06-10 22:27 ` Philippe Mathieu-Daudé 2020-06-10 22:39 ` Marek Vasut
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).