qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 06/10] hw/isa/vt82c686: Instantiate USB functions in host


From: BALATON Zoltan
Subject: Re: [PATCH v3 06/10] hw/isa/vt82c686: Instantiate USB functions in host device
Date: Thu, 1 Sep 2022 15:26:58 +0200 (CEST)

On Thu, 1 Sep 2022, Bernhard Beschow wrote:
On Wed, Aug 31, 2022 at 6:02 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:
On Wed, 31 Aug 2022, BB wrote:
Am 31. August 2022 17:03:35 MESZ schrieb BALATON Zoltan <
balaton@eik.bme.hu>:
On Wed, 31 Aug 2022, BB wrote:
Am 31. August 2022 15:23:37 MESZ schrieb BALATON Zoltan <
balaton@eik.bme.hu>:
On Wed, 31 Aug 2022, Bernhard Beschow wrote:
The USB functions can be enabled/disabled through the ISA function.
Also
its interrupt routing can be influenced there.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/vt82c686.c   | 12 ++++++++++++
hw/mips/fuloong2e.c |  3 ---
hw/ppc/pegasos2.c   |  4 ----
3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index 9d946cea54..66a4b9c230 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -23,6 +23,7 @@
#include "hw/intc/i8259.h"
#include "hw/irq.h"
#include "hw/dma/i8257.h"
+#include "hw/usb/hcd-uhci.h"
#include "hw/timer/i8254.h"
#include "hw/rtc/mc146818rtc.h"
#include "migration/vmstate.h"
@@ -546,6 +547,7 @@ struct ViaISAState {
    qemu_irq *isa_irqs;
    ViaSuperIOState via_sio;
    PCIIDEState ide;
+    UHCIState uhci[2];
};

static const VMStateDescription vmstate_via = {
@@ -563,6 +565,8 @@ static void via_isa_init(Object *obj)
    ViaISAState *s = VIA_ISA(obj);

    object_initialize_child(obj, "ide", &s->ide, "via-ide");
+    object_initialize_child(obj, "uhci1", &s->uhci[0],
"vt82c686b-usb-uhci");
+    object_initialize_child(obj, "uhci2", &s->uhci[1],
"vt82c686b-usb-uhci");

Sorry for not saying this yesterday, this can also be done separately
so no need for another version of this series if not needed for another
reason but could we add a define for vt82c686b-usb-uhci in
include/hw/isa/vt82c686.h and use that here and in
hw/usb/vt82c686-uhci-pci.c ?

Would creating a dedicated header work, too? Board code doesn't need
to see the define any longer.

I don't think it needs a separate header just for this so I'd put it in
vt82c686.h but I don't mind either way.

Alright, I'll take the easy route for now. Splitting in dedicated
headers (also for the other devices) could be done in a separate series.

I'll do this for via-ac97 when rabasing my WIP patch:

https://osdn.net/projects/qmiga/scm/git/qemu/commits

as I'll need to move ViaAC97State there too for embedding in ViaISAState.
The other ones
can stay in vt82c686.h I think.

(The reason this is still WIP is that it does not work and I'm not sure
why, Maybe I need to test with a Linux guest to find out more but I
haven't got to that yet.)


Hi Zoltan,

I've given your AC97 patches a spin on top of my WIP pc-via branch with a
Mandriva Linux live CD and *drumroll* `qemu-system-x86_64 -M pc -accel kvm
-cpu host`:

https://github.com/shentok/qemu/commits/pc-via

Interesting, now I see where this goes beyond just clean up.

The good news is that the sound controls appeared in the UI but no sound
seemed to be played, though that could also be due to my setup (nested
virtualization).

Consodering that I get the same result with MorphOS on pegasos2 it's more likely some problem with the emulation than your setup but I could not yet find out what (I didn't try hard enough either). Probably I'm missing something in how sound emulation in QEMU should work or how the via sound function should work. The docs have detailed info in the regs but not much on what actually should happen, when irq should be raised and such.

Perhaps you find it convenient to test with Linux that way.

Definitly, it's easier to find an x86 live CD with support for this chip than one for pegasos2. But I may wait a while before I get back to this.

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]