From nobody Tue Nov 18 10:38:41 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) client-ip=209.85.128.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1609542744; cv=none; d=zohomail.com; s=zohoarc; b=M4KwUtm09HnD65BWOVMNCnMh+HYz72L2o7w4u5/L584hc3oiXfQhFVngpWNmeRNw3nApZi3+7WjnyQp/AdznNTDxNqJlEBFIidZEBuOjfrRUH1lpg4thuWAZN9NAm0PFDXliGDzdccrKs4A2N2McRJ5Rz6yBZ3h7475leXENpOE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1609542744; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=AJ6DGCmp4jd6lh0s03hUoPTgsGD64Qh4DJvWtvXP8BM=; b=hfYrAg4Zz9tpkRp5COZz1RpzSCUZC3Nv+vToUYbVsPF5fYUrKmiyX4YBw5Ocb1X0t/32630+QoEoRWJWdRHN2bO4uXTindkvBxJFjwbXT7jPOkVx8nIOvtkrJN3D8ExDenB2VIZW/DpN1j2eu9oJpJh/7+AbIL0UsUuHoiAdidA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.zohomail.com with SMTPS id 1609542744957223.08551686353235; Fri, 1 Jan 2021 15:12:24 -0800 (PST) Received: by mail-wm1-f47.google.com with SMTP id g185so10471927wmf.3 for ; Fri, 01 Jan 2021 15:12:24 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (239.red-83-42-57.dynamicip.rima-tde.net. [83.42.57.239]) by smtp.gmail.com with ESMTPSA id m5sm68345039wrz.18.2021.01.01.15.12.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Jan 2021 15:12:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AJ6DGCmp4jd6lh0s03hUoPTgsGD64Qh4DJvWtvXP8BM=; b=UQ1eN8h9rv2Y6SjGKKf4/kMRsbVov8NFQh2zHMp6wRZmPkL0RAAUf9OZCbzDuQQpq0 bPmRYtLUGfY/XgEcuT9ptmAtNy2/nk1NiyC/qAT0/TbHfwlOkg0JrkELmZno7p5S6Yre FqyBMmepbHNAtDJ5W65IqKBXY6nkHIsuBzyKLJiHpxi7wLuM+SfgKSSg4NC0f8CyKTy6 ZdtZpZ+3rjyfWp5da/IS/cLkgVZQ4g/9dGLzdx7xhJR/Vdcwpa9XbLR/CPIYumm2Oj1h W9KN0JtkVzUJvCFbBpHopSD7Ltb4kW+YWeSJQRX9yR8tyrNdh70HgaBb1WSMxwCGQoSl YLdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=AJ6DGCmp4jd6lh0s03hUoPTgsGD64Qh4DJvWtvXP8BM=; b=BhYyr8ijf97hyCHnOUymLcjTko/m9uIkYDtB9Ll71dBxswHU96LA/XQ4esZJ3qY1MY p9Nx+Bs8AmxstQu9Fk8DtIDEy2bcYWxN2uudpaAK8GFyoSR3PfszPYV5B5NLk0z/GMDo p28eVQphALmJ+ymxxAUcL+Mf4JcaL5rXnNJLgxpTd24rLNYcLYkPpRDvP1580YnRxln6 gNfLHWA/h4GJpVLWn+zjJebWDp7xUP4+Jt41mdlyL6LAgdg+YrxyWUvO4tufxekh33WI jDFlznYB4ul48DhzLG3riHsJP8M67jlWX0Y/XP3Rz0kA02tcqyXuWrHeuwG36jrvCJmh EZaA== X-Gm-Message-State: AOAM530qZkiEFRXfJBjcMxAGOSAL6UwUGxoPXEh2g0MDuRyi0sv9GF4j 8NIjYT5Q7/io4euDuKecHHs= X-Google-Smtp-Source: ABdhPJyNBZOhy9vg9jVE3duI0is1SPUozihIT6tkLhXAIt4rlzddX6JAodqOwt3v/pPjai7IFhPevg== X-Received: by 2002:a1c:7d58:: with SMTP id y85mr17169880wmc.50.1609542743189; Fri, 01 Jan 2021 15:12:23 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Aurelien Jarno , Cleber Rosa , Aleksandar Rikalo , Mark Cave-Ayland , qemu-block@nongnu.org, Artyom Tarasenko , Wainer dos Santos Moschetta , John Snow , Huacai Chen , Peter Maydell , BALATON Zoltan , Guenter Roeck Subject: [RFC PATCH 1/5] ide: Make room for flags in PCIIDEState and add one for legacy mode Date: Sat, 2 Jan 2021 00:12:11 +0100 Message-Id: <20210101231215.1870611-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210101231215.1870611-1-f4bug@amsat.org> References: <20210101231215.1870611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: BALATON Zoltan We'll need a flag for implementing some device specific behaviour in via-ide but we already have a currently CMD646 specific field that can be repurposed for this and leave room for further flags if needed in the future. This patch changes the "secondary" field to "flags" and change CMD646 and its users accordingly and define a new flag for forcing legacy mode that will be used by via-ide for now. Signed-off-by: BALATON Zoltan Tested-by: Guenter Roeck Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Guenter Roeck Message-Id: <28150c05831caea5926d4c6a881f448c2827703d.1609191252.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/ide/pci.h | 7 ++++++- hw/ide/cmd646.c | 6 +++--- hw/sparc64/sun4u.c | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/hw/ide/pci.h b/include/hw/ide/pci.h index d8384e1c422..75d1a32f6d2 100644 --- a/include/hw/ide/pci.h +++ b/include/hw/ide/pci.h @@ -42,6 +42,11 @@ typedef struct BMDMAState { #define TYPE_PCI_IDE "pci-ide" OBJECT_DECLARE_SIMPLE_TYPE(PCIIDEState, PCI_IDE) =20 +enum { + PCI_IDE_SECONDARY, /* used only for cmd646 */ + PCI_IDE_LEGACY_MODE +}; + struct PCIIDEState { /*< private >*/ PCIDevice parent_obj; @@ -49,7 +54,7 @@ struct PCIIDEState { =20 IDEBus bus[2]; BMDMAState bmdma[2]; - uint32_t secondary; /* used only for cmd646 */ + uint32_t flags; MemoryRegion bmdma_bar; MemoryRegion cmd_bar[2]; MemoryRegion data_bar[2]; diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index c2546314855..cfea7fca06f 100644 --- a/hw/ide/cmd646.c +++ b/hw/ide/cmd646.c @@ -255,8 +255,8 @@ static void pci_cmd646_ide_realize(PCIDevice *dev, Erro= r **errp) =20 pci_conf[PCI_CLASS_PROG] =3D 0x8f; =20 - pci_conf[CNTRL] =3D CNTRL_EN_CH0; // enable IDE0 - if (d->secondary) { + pci_conf[CNTRL] =3D CNTRL_EN_CH0; /* enable IDE0 */ + if (d->flags & BIT(PCI_IDE_SECONDARY)) { /* XXX: if not enabled, really disable the seconday IDE controller= */ pci_conf[CNTRL] |=3D CNTRL_EN_CH1; /* enable IDE1 */ } @@ -314,7 +314,7 @@ static void pci_cmd646_ide_exitfn(PCIDevice *dev) } =20 static Property cmd646_ide_properties[] =3D { - DEFINE_PROP_UINT32("secondary", PCIIDEState, secondary, 0), + DEFINE_PROP_BIT("secondary", PCIIDEState, flags, PCI_IDE_SECONDARY, fa= lse), DEFINE_PROP_END_OF_LIST(), }; =20 diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 0fa13a73302..c46baa9f489 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -674,7 +674,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, } =20 pci_dev =3D pci_new(PCI_DEVFN(3, 0), "cmd646-ide"); - qdev_prop_set_uint32(&pci_dev->qdev, "secondary", 1); + qdev_prop_set_bit(&pci_dev->qdev, "secondary", true); pci_realize_and_unref(pci_dev, pci_busA, &error_fatal); pci_ide_create_devs(pci_dev); =20 --=20 2.26.2