From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 56472C10F14 for ; Tue, 15 Oct 2019 16:27:38 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3212321A49 for ; Tue, 15 Oct 2019 16:27:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3212321A49 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iKPfP-0002yA-48; Tue, 15 Oct 2019 16:27:23 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iKPfN-0002y5-Mv for xen-devel@lists.xenproject.org; Tue, 15 Oct 2019 16:27:21 +0000 X-Inumbo-ID: a940f79e-ef68-11e9-9396-12813bfff9fa Received: from mx1.redhat.com (unknown [209.132.183.28]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id a940f79e-ef68-11e9-9396-12813bfff9fa; Tue, 15 Oct 2019 16:27:21 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 287453084051; Tue, 15 Oct 2019 16:27:20 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-35.brq.redhat.com [10.40.204.35]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DB09319C58; Tue, 15 Oct 2019 16:27:08 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Tue, 15 Oct 2019 18:26:33 +0200 Message-Id: <20191015162705.28087-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Tue, 15 Oct 2019 16:27:20 +0000 (UTC) Subject: [Xen-devel] [PATCH 00/32] hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Stefano Stabellini , Eduardo Habkost , kvm@vger.kernel.org, Paul Durrant , "Michael S. Tsirkin" , Marcel Apfelbaum , Paolo Bonzini , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aleksandar Markovic , xen-devel@lists.xenproject.org, Anthony Perard , Igor Mammedov , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGksCgpUaGlzIHNlcmllcyBpcyBhIHJld29yayBvZiAicGlpeDQ6IGNsZWFudXAgYW5kIGltcHJv dmVtZW50cyIgWzFdCmZyb20gSGVydsOpLCBhbmQgbXkgInJlbW92ZSBpMzg2L3BjIGRlcGVuZGVu Y3k6IFBJSVggY2xlYW51cCIgWzJdLgoKU3RpbGwgdHJ5aW5nIHRvIHJlbW92ZSB0aGUgc3Ryb25n IFg4Ni9QQyBkZXBlbmRlbmN5IDIgeWVhcnMgbGF0ZXIsCm9uZSBzdGVwIGF0IGEgdGltZS4KSGVy ZSB3ZSBzcGxpdCB0aGUgUElJWDMgc291dGhicmlkZ2UgZnJvbSBpNDQwRlggbm9ydGhicmlkZ2Uu ClRoZSBpNDQwRlggbm9ydGhicmlkZ2UgaXMgb25seSB1c2VkIGJ5IHRoZSBQQyBtYWNoaW5lLCB3 aGlsZSB0aGUKUElJWCBzb3V0aGJyaWRnZSBpcyBhbHNvIHVzZWQgYnkgdGhlIE1hbHRhIE1JUFMg bWFjaGluZS4KClRoaXMgaXMgYWxzbyBhIHN0ZXAgZm9yd2FyZCB1c2luZyBLQ29uZmlnIHdpdGgg dGhlIE1hbHRhIGJvYXJkLgpXaXRob3V0IHRoaXMgc3BsaXQsIGl0IHdhcyBpbXBvc3NpYmxlIHRv IGNvbXBpbGUgdGhlIE1hbHRhIHdpdGhvdXQKcHVsbGluZyB2YXJpb3VzIFg4NiBwaWVjZXMgb2Yg Y29kZS4KClRoZSBvdmVyYWxsIGRlc2lnbiBjbGVhbnVwIGlzIG5vdCB5ZXQgcGVyZmVjdCwgYnV0 IGVub3VnaCB0byBwb3N0CmFzIGEgc2VyaWVzLgoKTm93IHRoYXQgdGhlIFBJSVgzIGNvZGUgaXMg ZXh0cmFjdGVkLCB0aGUgY29kZSBkdXBsaWNhdGlvbiB3aXRoIHRoZQpQSUlYNCBjaGlwc2V0IGlz IG9idmlvdXMuIE5vdCB3b3J0aCBpbXByb3ZpbmcgZm9yIG5vdyBiZWNhdXNlIGl0Cmlzbid0IGJy b2tlbi4KCk5leHQgc3RlcCBpcyBwcm9iYWJseToKCjEvIEV4dHJhY3QgaTgyNTkgZnJvbSAicGMu aCIgYW5kIHNvcnQgYWxsIHRoZSBwbGFjZXMgd2hlcmUgd2UgY2FsbAogICBwaWNfKigpIHVzaW5n IGdsb2JhbCB2YXJpYWJsZXMKMi8gUmVmYWN0b3IgY29tbW9uIFBJSVggY29kZSBmcm9tIGh3L2kz ODYvcGNfKi5jIHRvIHBpaXgqLmMKClBsZWFzZSByZXZpZXcsCgpQaGlsLgoKU2VyaWVzIGF2YWls YWJsZSBoZXJlOgpicmFuY2ggcGNfc3BsaXRfaTQ0MGZ4X3BpaXgtdjEgb24gaHR0cHM6Ly9naXRs YWIuY29tL3BoaWxtZC9xZW11LmdpdAoKWzFdIGh0dHBzOi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20v cWVtdS1kZXZlbEBub25nbnUub3JnL21zZzUwMDczNy5odG1sClsyXSBodHRwczovL3d3dy5tYWls LWFyY2hpdmUuY29tL3FlbXUtZGV2ZWxAbm9uZ251Lm9yZy9tc2c1MDQwODEuaHRtbAoKSGVydsOp IFBvdXNzaW5lYXUgKDkpOgogIG1jMTQ2ODE4cnRjOiBtb3ZlIHN0cnVjdHVyZSB0byBoZWFkZXIg ZmlsZQogIG1jMTQ2ODE4cnRjOiBhbHdheXMgcmVnaXN0ZXIgcnRjIHRvIHJ0YyBsaXN0CiAgcGlp eDQ6IHJlbmFtZSBzb21lIHZhcmlhYmxlcyBpbiByZWFsaXplIGZ1bmN0aW9uCiAgcGlpeDQ6IGFk ZCBSZXNldCBDb250cm9sIFJlZ2lzdGVyCiAgcGlpeDQ6IGFkZCBhIGk4MjU5IGludGVycnVwdCBj b250cm9sbGVyIGFzIHNwZWNpZmllZCBpbiBkYXRhc2hlZXQKICBwaWl4NDogcmVuYW1lIFBJSVg0 IG9iamVjdCB0byBwaWl4NC1pc2EKICBwaWl4NDogY29udmVydCByZXNldCBmdW5jdGlvbiB0byBR T00KICBwaWl4NDogYWRkIGEgaTgyNTcgZG1hIGNvbnRyb2xsZXIgYXMgc3BlY2lmaWVkIGluIGRh dGFzaGVldAogIHBpaXg0OiBhZGQgYSBpODI1NCBwaXQgY29udHJvbGxlciBhcyBzcGVjaWZpZWQg aW4gZGF0YXNoZWV0CgpQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSAoMjMpOgogIGh3L2kzODY6IFJl bW92ZSBvYnNvbGV0ZSBMb2FkU3RhdGVIYW5kbGVyOjpsb2FkX3N0YXRlX29sZCBoYW5kbGVycwog IGh3L2kzODYvcGM6IE1vdmUga3ZtX2k4MjU5X2luaXQoKSBkZWNsYXJhdGlvbiB0byBzeXNlbXUv a3ZtLmgKICBtYzE0NjgxOHJ0YzogTW92ZSBSVENfSVNBX0lSUSBkZWZpbml0aW9uCiAgbWMxNDY4 MThydGM6IEluY2x1ZGUgIm1jMTQ2ODE4cnRjX3JlZ3MuaCIgZGlyZWN0bHkgaW4gbWMxNDY4MThy dGMuYwogIE1BSU5UQUlORVJTOiBLZWVwIFBJSVg0IFNvdXRoIEJyaWRnZSBzZXBhcmF0ZSBmcm9t IFBDIENoaXBzZXRzCiAgUmV2ZXJ0ICJpcnE6IGludHJvZHVjZSBxZW11X2lycV9wcm94eSgpIgog IHBpaXg0OiBhZGQgYSBtYzE0NjgxOHJ0YyBjb250cm9sbGVyIGFzIHNwZWNpZmllZCBpbiBkYXRh c2hlZXQKICBody9taXBzL21pcHNfbWFsdGE6IENyZWF0ZSBJREUgaGFyZCBkcml2ZSBhcnJheSBk eW5hbWljYWxseQogIGh3L21pcHMvbWlwc19tYWx0YTogRXh0cmFjdCB0aGUgUElJWDQgY3JlYXRp b24gY29kZSBhcyBwaWl4NF9jcmVhdGUoKQogIGh3L2lzYS9waWl4NDogTW92ZSBwaWl4NF9jcmVh dGUoKSB0byBody9pc2EvcGlpeDQuYwogIGh3L2kzODYvcGM6IEV4dHJhY3QgcGNfZ3NpX2NyZWF0 ZSgpCiAgaHcvaTM4Ni9wYzogUmVkdWNlIGdzaV9oYW5kbGVyIHNjb3BlCiAgaHcvaTM4Ni9wYzog TW92ZSBnc2lfc3RhdGUgY3JlYXRpb24gY29kZQogIGh3L2kzODYvcGM6IEV4dHJhY3QgcGNfaTgy NTlfY3JlYXRlKCkKICBody9pMzg2L3BjOiBSZW1vdmUga3ZtX2kzODYuaCBpbmNsdWRlCiAgaHcv cGNpLWhvc3QvcGlpeDogRXh0cmFjdCBwaWl4M19jcmVhdGUoKQogIGh3L3BjaS1ob3N0L3BpaXg6 IE1vdmUgUkNSX0lPUE9SVCByZWdpc3RlciBkZWZpbml0aW9uCiAgaHcvcGNpLWhvc3QvcGlpeDog RGVmaW5lIGFuZCB1c2UgdGhlIFBJSVggSVJRIFJvdXRlIENvbnRyb2wgUmVnaXN0ZXJzCiAgaHcv cGNpLWhvc3QvcGlpeDogTW92ZSBpNDQwRlggZGVjbGFyYXRpb25zIHRvIGh3L3BjaS1ob3N0L2k0 NDBmeC5oCiAgaHcvcGNpLWhvc3QvcGlpeDogRml4IGNvZGUgc3R5bGUgaXNzdWVzCiAgaHcvcGNp LWhvc3QvcGlpeDogRXh0cmFjdCBQSUlYMyBmdW5jdGlvbnMgdG8gaHcvaXNhL3BpaXgzLmMKICBo dy9wY2ktaG9zdDogUmVuYW1lIGluY29ycmVjdGx5IG5hbWVkICdwaWl4JyBhcyAnaTQ0MGZ4Jwog IGh3L3BjaS1ob3N0L2k0NDBmeDogUmVtb3ZlIHRoZSBsYXN0IFBJSVgzIHRyYWNlcwoKIE1BSU5U QUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICstCiBody9hY3BpL3BjaWhwLmMg ICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogaHcvYWNwaS9waWl4NC5jICAgICAgICAgICAg ICAgICAgICAgfCAgNDIgKy0tCiBody9jb3JlL2lycS5jICAgICAgICAgICAgICAgICAgICAgICB8 ICAxNCAtCiBody9pMzg2L0tjb25maWcgICAgICAgICAgICAgICAgICAgICB8ICAgMyArLQogaHcv aTM4Ni9hY3BpLWJ1aWxkLmMgICAgICAgICAgICAgICAgfCAgIDMgKy0KIGh3L2kzODYvcGMuYyAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDM2ICsrLQogaHcvaTM4Ni9wY19waWl4LmMgICAgICAg ICAgICAgICAgICAgfCAgMzMgKy0tCiBody9pMzg2L3BjX3EzNS5jICAgICAgICAgICAgICAgICAg ICB8ICAyOCArLQogaHcvaTM4Ni94ZW4veGVuLWh2bS5jICAgICAgICAgICAgICAgfCAgIDUgKy0K IGh3L2ludGMvYXBpY19jb21tb24uYyAgICAgICAgICAgICAgIHwgIDQ5IC0tLS0KIGh3L2lzYS9L Y29uZmlnICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsKIGh3L2lzYS9NYWtlZmlsZS5vYmpz ICAgICAgICAgICAgICAgIHwgICAxICsKIGh3L2lzYS9waWl4My5jICAgICAgICAgICAgICAgICAg ICAgIHwgMzk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrCiBody9pc2EvcGlpeDQuYyAgICAg ICAgICAgICAgICAgICAgICB8IDE1NSArKysrKysrKy0tCiBody9taXBzL2d0NjR4eHhfcGNpLmMg ICAgICAgICAgICAgICB8ICAgNSArLQogaHcvbWlwcy9taXBzX21hbHRhLmMgICAgICAgICAgICAg ICAgfCAgNDYgKy0tCiBody9wY2ktaG9zdC9LY29uZmlnICAgICAgICAgICAgICAgICB8ICAgMyAr LQogaHcvcGNpLWhvc3QvTWFrZWZpbGUub2JqcyAgICAgICAgICAgfCAgIDIgKy0KIGh3L3BjaS1o b3N0L3twaWl4LmMgPT4gaTQ0MGZ4LmN9ICAgIHwgNDI0ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIGh3L3RpbWVyL2k4MjU0X2NvbW1vbi5jICAgICAgICAgICAgIHwgIDQwIC0tLQogaHcv dGltZXIvbWMxNDY4MThydGMuYyAgICAgICAgICAgICAgfCAgMzkgKy0tCiBpbmNsdWRlL2h3L2Fj cGkvcGlpeDQuaCAgICAgICAgICAgICB8ICAgNiAtCiBpbmNsdWRlL2h3L2kzODYvcGMuaCAgICAg ICAgICAgICAgICB8ICA0MSArLS0KIGluY2x1ZGUvaHcvaXJxLmggICAgICAgICAgICAgICAgICAg IHwgICA1IC0KIGluY2x1ZGUvaHcvaXNhL2lzYS5oICAgICAgICAgICAgICAgIHwgICAyICsKIGlu Y2x1ZGUvaHcvcGNpLWhvc3QvaTQ0MGZ4LmggICAgICAgIHwgIDM2ICsrKwogaW5jbHVkZS9ody9z b3V0aGJyaWRnZS9waWl4LmggICAgICAgfCAgNzQgKysrKysKIGluY2x1ZGUvaHcvdGltZXIvbWMx NDY4MThydGMuaCAgICAgIHwgIDM2ICsrLQogaW5jbHVkZS9ody90aW1lci9tYzE0NjgxOHJ0Y19y ZWdzLmggfCAgIDIgLQogaW5jbHVkZS9zeXNlbXUva3ZtLmggICAgICAgICAgICAgICAgfCAgIDEg Kwogc3R1YnMvcGNpLWhvc3QtcGlpeC5jICAgICAgICAgICAgICAgfCAgIDMgKy0KIHRlc3RzL3J0 Yy10ZXN0LmMgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIDMzIGZpbGVzIGNoYW5nZWQsIDc4 MSBpbnNlcnRpb25zKCspLCA3NzMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgaHcv aXNhL3BpaXgzLmMKIHJlbmFtZSBody9wY2ktaG9zdC97cGlpeC5jID0+IGk0NDBmeC5jfSAoNTgl KQogZGVsZXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvaHcvYWNwaS9waWl4NC5oCiBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS9ody9wY2ktaG9zdC9pNDQwZnguaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IGluY2x1ZGUvaHcvc291dGhicmlkZ2UvcGlpeC5oCgotLSAKMi4yMS4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4135CECE588 for ; Tue, 15 Oct 2019 16:27:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1E28F2086A for ; Tue, 15 Oct 2019 16:27:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727938AbfJOQ1V (ORCPT ); Tue, 15 Oct 2019 12:27:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56564 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726775AbfJOQ1V (ORCPT ); Tue, 15 Oct 2019 12:27:21 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 287453084051; Tue, 15 Oct 2019 16:27:20 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-35.brq.redhat.com [10.40.204.35]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DB09319C58; Tue, 15 Oct 2019 16:27:08 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Markovic , Aurelien Jarno , Eduardo Habkost , Thomas Huth , Igor Mammedov , Anthony Perard , Stefano Stabellini , Paul Durrant , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aleksandar Rikalo , xen-devel@lists.xenproject.org, Laurent Vivier , "Michael S. Tsirkin" , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , kvm@vger.kernel.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 00/32] hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge Date: Tue, 15 Oct 2019 18:26:33 +0200 Message-Id: <20191015162705.28087-1-philmd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Tue, 15 Oct 2019 16:27:20 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Hi, This series is a rework of "piix4: cleanup and improvements" [1] from Hervé, and my "remove i386/pc dependency: PIIX cleanup" [2]. Still trying to remove the strong X86/PC dependency 2 years later, one step at a time. Here we split the PIIX3 southbridge from i440FX northbridge. The i440FX northbridge is only used by the PC machine, while the PIIX southbridge is also used by the Malta MIPS machine. This is also a step forward using KConfig with the Malta board. Without this split, it was impossible to compile the Malta without pulling various X86 pieces of code. The overall design cleanup is not yet perfect, but enough to post as a series. Now that the PIIX3 code is extracted, the code duplication with the PIIX4 chipset is obvious. Not worth improving for now because it isn't broken. Next step is probably: 1/ Extract i8259 from "pc.h" and sort all the places where we call pic_*() using global variables 2/ Refactor common PIIX code from hw/i386/pc_*.c to piix*.c Please review, Phil. Series available here: branch pc_split_i440fx_piix-v1 on https://gitlab.com/philmd/qemu.git [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg500737.html [2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg504081.html Hervé Poussineau (9): mc146818rtc: move structure to header file mc146818rtc: always register rtc to rtc list piix4: rename some variables in realize function piix4: add Reset Control Register piix4: add a i8259 interrupt controller as specified in datasheet piix4: rename PIIX4 object to piix4-isa piix4: convert reset function to QOM piix4: add a i8257 dma controller as specified in datasheet piix4: add a i8254 pit controller as specified in datasheet Philippe Mathieu-Daudé (23): hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers hw/i386/pc: Move kvm_i8259_init() declaration to sysemu/kvm.h mc146818rtc: Move RTC_ISA_IRQ definition mc146818rtc: Include "mc146818rtc_regs.h" directly in mc146818rtc.c MAINTAINERS: Keep PIIX4 South Bridge separate from PC Chipsets Revert "irq: introduce qemu_irq_proxy()" piix4: add a mc146818rtc controller as specified in datasheet hw/mips/mips_malta: Create IDE hard drive array dynamically hw/mips/mips_malta: Extract the PIIX4 creation code as piix4_create() hw/isa/piix4: Move piix4_create() to hw/isa/piix4.c hw/i386/pc: Extract pc_gsi_create() hw/i386/pc: Reduce gsi_handler scope hw/i386/pc: Move gsi_state creation code hw/i386/pc: Extract pc_i8259_create() hw/i386/pc: Remove kvm_i386.h include hw/pci-host/piix: Extract piix3_create() hw/pci-host/piix: Move RCR_IOPORT register definition hw/pci-host/piix: Define and use the PIIX IRQ Route Control Registers hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h hw/pci-host/piix: Fix code style issues hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c hw/pci-host: Rename incorrectly named 'piix' as 'i440fx' hw/pci-host/i440fx: Remove the last PIIX3 traces MAINTAINERS | 14 +- hw/acpi/pcihp.c | 2 +- hw/acpi/piix4.c | 42 +-- hw/core/irq.c | 14 - hw/i386/Kconfig | 3 +- hw/i386/acpi-build.c | 3 +- hw/i386/pc.c | 36 ++- hw/i386/pc_piix.c | 33 +-- hw/i386/pc_q35.c | 28 +- hw/i386/xen/xen-hvm.c | 5 +- hw/intc/apic_common.c | 49 ---- hw/isa/Kconfig | 4 + hw/isa/Makefile.objs | 1 + hw/isa/piix3.c | 399 ++++++++++++++++++++++++++ hw/isa/piix4.c | 155 ++++++++-- hw/mips/gt64xxx_pci.c | 5 +- hw/mips/mips_malta.c | 46 +-- hw/pci-host/Kconfig | 3 +- hw/pci-host/Makefile.objs | 2 +- hw/pci-host/{piix.c => i440fx.c} | 424 +--------------------------- hw/timer/i8254_common.c | 40 --- hw/timer/mc146818rtc.c | 39 +-- include/hw/acpi/piix4.h | 6 - include/hw/i386/pc.h | 41 +-- include/hw/irq.h | 5 - include/hw/isa/isa.h | 2 + include/hw/pci-host/i440fx.h | 36 +++ include/hw/southbridge/piix.h | 74 +++++ include/hw/timer/mc146818rtc.h | 36 ++- include/hw/timer/mc146818rtc_regs.h | 2 - include/sysemu/kvm.h | 1 + stubs/pci-host-piix.c | 3 +- tests/rtc-test.c | 1 + 33 files changed, 781 insertions(+), 773 deletions(-) create mode 100644 hw/isa/piix3.c rename hw/pci-host/{piix.c => i440fx.c} (58%) delete mode 100644 include/hw/acpi/piix4.h create mode 100644 include/hw/pci-host/i440fx.h create mode 100644 include/hw/southbridge/piix.h -- 2.21.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4D1EECE588 for ; Tue, 15 Oct 2019 16:28:59 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8B1FC20872 for ; Tue, 15 Oct 2019 16:28:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8B1FC20872 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52518 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKPgw-0000iI-65 for qemu-devel@archiver.kernel.org; Tue, 15 Oct 2019 12:28:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40790) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKPfQ-00084G-JN for qemu-devel@nongnu.org; Tue, 15 Oct 2019 12:27:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iKPfN-00046B-MK for qemu-devel@nongnu.org; Tue, 15 Oct 2019 12:27:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39584) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iKPfN-00045e-E9 for qemu-devel@nongnu.org; Tue, 15 Oct 2019 12:27:21 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 287453084051; Tue, 15 Oct 2019 16:27:20 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-35.brq.redhat.com [10.40.204.35]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DB09319C58; Tue, 15 Oct 2019 16:27:08 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 00/32] hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge Date: Tue, 15 Oct 2019 18:26:33 +0200 Message-Id: <20191015162705.28087-1-philmd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Tue, 15 Oct 2019 16:27:20 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Stefano Stabellini , Eduardo Habkost , kvm@vger.kernel.org, Paul Durrant , "Michael S. Tsirkin" , Paolo Bonzini , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aleksandar Markovic , xen-devel@lists.xenproject.org, Anthony Perard , Igor Mammedov , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Hi, This series is a rework of "piix4: cleanup and improvements" [1] from Herv=C3=A9, and my "remove i386/pc dependency: PIIX cleanup" [2]. Still trying to remove the strong X86/PC dependency 2 years later, one step at a time. Here we split the PIIX3 southbridge from i440FX northbridge. The i440FX northbridge is only used by the PC machine, while the PIIX southbridge is also used by the Malta MIPS machine. This is also a step forward using KConfig with the Malta board. Without this split, it was impossible to compile the Malta without pulling various X86 pieces of code. The overall design cleanup is not yet perfect, but enough to post as a series. Now that the PIIX3 code is extracted, the code duplication with the PIIX4 chipset is obvious. Not worth improving for now because it isn't broken. Next step is probably: 1/ Extract i8259 from "pc.h" and sort all the places where we call pic_*() using global variables 2/ Refactor common PIIX code from hw/i386/pc_*.c to piix*.c Please review, Phil. Series available here: branch pc_split_i440fx_piix-v1 on https://gitlab.com/philmd/qemu.git [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg500737.html [2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg504081.html Herv=C3=A9 Poussineau (9): mc146818rtc: move structure to header file mc146818rtc: always register rtc to rtc list piix4: rename some variables in realize function piix4: add Reset Control Register piix4: add a i8259 interrupt controller as specified in datasheet piix4: rename PIIX4 object to piix4-isa piix4: convert reset function to QOM piix4: add a i8257 dma controller as specified in datasheet piix4: add a i8254 pit controller as specified in datasheet Philippe Mathieu-Daud=C3=A9 (23): hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers hw/i386/pc: Move kvm_i8259_init() declaration to sysemu/kvm.h mc146818rtc: Move RTC_ISA_IRQ definition mc146818rtc: Include "mc146818rtc_regs.h" directly in mc146818rtc.c MAINTAINERS: Keep PIIX4 South Bridge separate from PC Chipsets Revert "irq: introduce qemu_irq_proxy()" piix4: add a mc146818rtc controller as specified in datasheet hw/mips/mips_malta: Create IDE hard drive array dynamically hw/mips/mips_malta: Extract the PIIX4 creation code as piix4_create() hw/isa/piix4: Move piix4_create() to hw/isa/piix4.c hw/i386/pc: Extract pc_gsi_create() hw/i386/pc: Reduce gsi_handler scope hw/i386/pc: Move gsi_state creation code hw/i386/pc: Extract pc_i8259_create() hw/i386/pc: Remove kvm_i386.h include hw/pci-host/piix: Extract piix3_create() hw/pci-host/piix: Move RCR_IOPORT register definition hw/pci-host/piix: Define and use the PIIX IRQ Route Control Registers hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h hw/pci-host/piix: Fix code style issues hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c hw/pci-host: Rename incorrectly named 'piix' as 'i440fx' hw/pci-host/i440fx: Remove the last PIIX3 traces MAINTAINERS | 14 +- hw/acpi/pcihp.c | 2 +- hw/acpi/piix4.c | 42 +-- hw/core/irq.c | 14 - hw/i386/Kconfig | 3 +- hw/i386/acpi-build.c | 3 +- hw/i386/pc.c | 36 ++- hw/i386/pc_piix.c | 33 +-- hw/i386/pc_q35.c | 28 +- hw/i386/xen/xen-hvm.c | 5 +- hw/intc/apic_common.c | 49 ---- hw/isa/Kconfig | 4 + hw/isa/Makefile.objs | 1 + hw/isa/piix3.c | 399 ++++++++++++++++++++++++++ hw/isa/piix4.c | 155 ++++++++-- hw/mips/gt64xxx_pci.c | 5 +- hw/mips/mips_malta.c | 46 +-- hw/pci-host/Kconfig | 3 +- hw/pci-host/Makefile.objs | 2 +- hw/pci-host/{piix.c =3D> i440fx.c} | 424 +--------------------------- hw/timer/i8254_common.c | 40 --- hw/timer/mc146818rtc.c | 39 +-- include/hw/acpi/piix4.h | 6 - include/hw/i386/pc.h | 41 +-- include/hw/irq.h | 5 - include/hw/isa/isa.h | 2 + include/hw/pci-host/i440fx.h | 36 +++ include/hw/southbridge/piix.h | 74 +++++ include/hw/timer/mc146818rtc.h | 36 ++- include/hw/timer/mc146818rtc_regs.h | 2 - include/sysemu/kvm.h | 1 + stubs/pci-host-piix.c | 3 +- tests/rtc-test.c | 1 + 33 files changed, 781 insertions(+), 773 deletions(-) create mode 100644 hw/isa/piix3.c rename hw/pci-host/{piix.c =3D> i440fx.c} (58%) delete mode 100644 include/hw/acpi/piix4.h create mode 100644 include/hw/pci-host/i440fx.h create mode 100644 include/hw/southbridge/piix.h --=20 2.21.0