From: Jamin Lin <jamin_lin@aspeedtech.com>
To: "kraxel@redhat.com" <kraxel@redhat.com>,
"marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
"junjie.cao@intel.com" <junjie.cao@intel.com>,
"junjie.cao@linux.dev" <junjie.cao@linux.dev>,
"clg@kaod.org" <clg@kaod.org>,
"Pierrick Bouvier" <pierrick.bouvier@oss.qualcomm.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Kane Chen" <kane_chen@aspeedtech.com>,
"Philippe Mathieu-Daudé" <philmd@oss.qualcomm.com>,
"Tyrone Ting" <kfting@nuvoton.com>,
"Hao Wu" <wuhaotsh@google.com>, "Zhao Liu" <zhao1.liu@intel.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Helge Deller" <deller@gmx.de>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Anthony PERARD" <anthony@xenproject.org>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
"open list:All patches CC here" <qemu-devel@nongnu.org>,
"open list:ASPEED BMCs" <qemu-arm@nongnu.org>,
"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Cc: Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>
Subject: [PATCH v8 03/18] hw/usb/hcd-ehci: Add an auto-hub property and leave it off
Date: Mon, 2 Nov 2026 09:22:07 +0000 [thread overview]
Message-ID: <20261102092201.1729245-4-jamin_lin@aspeedtech.com> (raw)
In-Reply-To: <20261102092201.1729245-1-jamin_lin@aspeedtech.com>
Add auto-hub and leave it off. hw_compat_11_1 turns it on, so an older
machine type keeps the hub it has today and a guest saved by an older
QEMU still loads.
Suggested-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
hw/usb/hcd-ehci.h | 4 +++-
hw/core/machine.c | 2 ++
hw/usb/hcd-ehci.c | 1 +
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
index b5ac9c8670..db9db537ff 100644
--- a/hw/usb/hcd-ehci.h
+++ b/hw/usb/hcd-ehci.h
@@ -269,6 +269,7 @@ struct EHCIState {
bool migrate_fetch_addr_64bit;
bool caps_64bit_addr;
uint32_t ctrldssegment_default;
+ bool auto_hub;
/*
* EHCI spec version 1.0 Section 2.3
@@ -336,7 +337,8 @@ struct EHCIState {
DEFINE_PROP_BOOL("caps-64bit-addr", _state, \
ehci.caps_64bit_addr, false), \
DEFINE_PROP_UINT32("ctrldssegment-default", _state, \
- ehci.ctrldssegment_default, 0)
+ ehci.ctrldssegment_default, 0), \
+ DEFINE_PROP_BOOL("auto-hub", _state, ehci.auto_hub, false)
extern const VMStateDescription vmstate_ehci;
diff --git a/hw/core/machine.c b/hw/core/machine.c
index f8f5b01117..0103038cad 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -43,6 +43,8 @@
GlobalProperty hw_compat_11_1[] = {
{ "sysbus-ehci-usb", "x-migrate-fetch-addr-64bit", "off" },
{ "pci-ehci-usb", "x-migrate-fetch-addr-64bit", "off" },
+ { "sysbus-ehci-usb", "auto-hub", "on" },
+ { "pci-ehci-usb", "auto-hub", "on" },
{ "base-xhci", "auto-hub", "on" },
};
const size_t hw_compat_11_1_len = G_N_ELEMENTS(hw_compat_11_1);
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index f371e567f3..29b85869c3 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -2636,6 +2636,7 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)
usb_bus_new(&s->bus, sizeof(s->bus), s->companion_enable ?
&ehci_bus_ops_companion : &ehci_bus_ops_standalone, dev);
+ s->bus.auto_hub = s->auto_hub;
for (i = 0; i < s->portnr; i++) {
usb_register_port(&s->bus, &s->ports[i], s, i, &ehci_port_ops,
USB_SPEED_MASK_HIGH);
--
2.43.0
next prev parent reply other threads:[~2026-11-02 9:25 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-02 9:22 [PATCH v8 00/18] hw/usb: Add a usbredir server transport Jamin Lin
2026-11-02 9:22 ` [PATCH v8 01/18] hw/usb/bus: Add an auto-hub flag to the USB bus Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-02 9:22 ` [PATCH v8 02/18] hw/usb/hcd-xhci: Add an auto-hub property and leave it off Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` Jamin Lin [this message]
2026-11-02 14:07 ` [PATCH v8 03/18] hw/usb/hcd-ehci: " marcandre.lureau
2026-11-02 9:22 ` [PATCH v8 04/18] hw/usb/hcd-uhci: " Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-02 9:22 ` [PATCH v8 05/18] hw/usb/hcd-ohci: " Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 1:29 ` Jamin Lin
2026-11-02 9:22 ` [PATCH v8 06/18] hw/usb/hcd-dwc2: " Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 07/18] hw/usb/xen-usb: Do not insert an automatic hub Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-02 9:22 ` [PATCH v8 08/18] hw/usb/bus: Turn off the automatic hub by default Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-02 9:22 ` [PATCH v8 09/18] hw/arm/npcm7xx: Keep the automatic hub Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 1:06 ` Jamin Lin
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 10/18] docs/system/devices/usb: Note the automatic hub change Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 11/18] hw/usb/redirect-server: Add a usbredir server device Jamin Lin
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 12/18] hw/usb/redirect-server: Connect usbredirparser to a chardev Jamin Lin
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 13/18] hw/usb/redirect-server: Announce the exported device Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 7:14 ` Jamin Lin
2026-11-02 9:22 ` [PATCH v8 14/18] hw/usb/redirect-server: Implement control transfers Jamin Lin
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 15/18] hw/usb/redirect-server: Implement bulk and interrupt transfers Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 16/18] hw/usb/redirect-server: Stream interrupt IN endpoints Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-02 9:22 ` [PATCH v8 17/18] hw/usb/redirect-server: Implement isochronous OUT transfers Jamin Lin
2026-11-02 14:07 ` marcandre.lureau
2026-11-03 14:23 ` Junjie Cao
2026-11-02 9:22 ` [PATCH v8 18/18] hw/arm/aspeed: Enable the usbredir server transport Jamin Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261102092201.1729245-4-jamin_lin@aspeedtech.com \
--to=jamin_lin@aspeedtech.com \
--cc=anthony@xenproject.org \
--cc=clg@kaod.org \
--cc=deller@gmx.de \
--cc=edgar.iglesias@gmail.com \
--cc=junjie.cao@intel.com \
--cc=junjie.cao@linux.dev \
--cc=kane_chen@aspeedtech.com \
--cc=kfting@nuvoton.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@oss.qualcomm.com \
--cc=pierrick.bouvier@oss.qualcomm.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sstabellini@kernel.org \
--cc=troy_lee@aspeedtech.com \
--cc=wuhaotsh@google.com \
--cc=xen-devel@lists.xenproject.org \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.