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=-8.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 6B49CCA9ECF for ; Fri, 1 Nov 2019 10:20:49 +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 BF170217D9 for ; Fri, 1 Nov 2019 10:20:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="cRSQYTwX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BF170217D9 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 1iQU2R-0008R6-MJ; Fri, 01 Nov 2019 10:20:15 +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 1iQU2Q-0008R1-NB for xen-devel@lists.xenproject.org; Fri, 01 Nov 2019 10:20:14 +0000 X-Inumbo-ID: 3080f08a-fc91-11e9-955d-12813bfff9fa Received: from us-smtp-delivery-1.mimecast.com (unknown [207.211.31.120]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id 3080f08a-fc91-11e9-955d-12813bfff9fa; Fri, 01 Nov 2019 10:20:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572603612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JhH3fpCQilR/LG5xSJSwv1PIJQRkTfOdcfx/P18x+tY=; b=cRSQYTwX98wSTZLxCx7JtIJ8zi/4MHBPIiXLSlMNS8PdD2QfXMLCrTVIJ8ZUR9EdmJBuv9 RbzO7RSHkeESvfIfQNF6iJpZY6bWErWZFG20J+Z0N/9FZlurppsalLMHZ+wyBgF7VlTT32 XJ1KsS9wFElpTzbFbvQb2Uoa6Rge614= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-201-MDk7S9bxNyONZ7fYixJMfw-1; Fri, 01 Nov 2019 06:20:09 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6E9D62AD; Fri, 1 Nov 2019 10:20:07 +0000 (UTC) Received: from work-vm (ovpn-116-155.ams2.redhat.com [10.36.116.155]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0E9BF600D1; Fri, 1 Nov 2019 10:19:54 +0000 (UTC) Date: Fri, 1 Nov 2019 10:19:51 +0000 From: "Dr. David Alan Gilbert" To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= Message-ID: <20191101101951.GB2432@work-vm> References: <20191015162705.28087-1-philmd@redhat.com> <20191015162705.28087-2-philmd@redhat.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: MDk7S9bxNyONZ7fYixJMfw-1 X-Mimecast-Spam-Score: 0 Content-Disposition: inline Subject: Re: [Xen-devel] [PATCH 01/32] hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers 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 , Peter Maydell , Thomas Huth , Stefano Stabellini , "Daniel P . Berrange" , Eduardo Habkost , kvm@vger.kernel.org, Juan Quintela , "Michael S. Tsirkin" , Paul Durrant , qemu-devel@nongnu.org, Marcel Apfelbaum , Paolo Bonzini , =?iso-8859-1?Q?Herv=E9?= Poussineau , Aleksandar Markovic , xen-devel@lists.xenproject.org, Anthony Perard , Igor Mammedov , Aleksandar Rikalo , 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" KiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSAocGhpbG1kQHJlZGhhdC5jb20pIHdyb3RlOgo+IEkg Zm9yZ290IHRvIENjIERhdmlkIGFuZCBEYW5pZWwgZm9yIHRoaXMgb25lLgo+IAo+IE9uIDEwLzE1 LzE5IDY6MjYgUE0sIFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIHdyb3RlOgo+ID4gVGhlc2UgZGV2 aWNlcyBpbXBsZW1lbnRlZCB0aGVpciBsb2FkX3N0YXRlX29sZCgpIGhhbmRsZXIgMTAgeWVhcnMK PiA+IGFnbywgcHJldmlvdXMgdG8gUUVNVSB2MC4xMi4KPiA+IFNpbmNlIGNvbW1pdCBjYzQyNWI1 ZGRmIHJlbW92ZWQgdGhlIHBjLTAuMTAgYW5kIHBjLTAuMTEgbWFjaGluZXMsCj4gPiB3ZSBjYW4g ZHJvcCB0aGlzIGNvZGUuCj4gPiAKPiA+IE5vdGU6IHRoZSBtaXBzX3I0ayBtYWNoaW5lIHN0YXJ0 ZWQgdG8gdXNlIHRoZSBpODI1NCBkZXZpY2UganVzdAo+ID4gYWZ0ZXIgUUVNVSB2MC41LjAsIGJ1 dCB0aGUgTUlQUyBtYWNoaW5lIHR5cGVzIGFyZSBub3QgdmVyc2lvbmVkLAo+ID4gc28gdGhlcmUg aXMgbm8gbWlncmF0aW9uIGNvbXBhdGliaWxpdHkgaXNzdWUgcmVtb3ZpbmcgdGhpcyBoYW5kbGVy Lgo+ID4gCj4gPiBTdWdnZXN0ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGlu YXJvLm9yZz4KPiA+IFNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGls bWRAcmVkaGF0LmNvbT4KPiA+IC0tLQo+ID4gICBody9hY3BpL3BpaXg0LmMgICAgICAgICB8IDQw IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gICBody9pbnRjL2FwaWNfY29t bW9uLmMgICB8IDQ5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g PiAgIGh3L3BjaS1ob3N0L3BpaXguYyAgICAgIHwgMjUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g PiAgIGh3L3RpbWVyL2k4MjU0X2NvbW1vbi5jIHwgNDAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTU0IGRlbGV0aW9ucygtKQo+ID4gCj4g PiBkaWZmIC0tZ2l0IGEvaHcvYWNwaS9waWl4NC5jIGIvaHcvYWNwaS9waWl4NC5jCj4gPiBpbmRl eCA1NzQyYzNkZjg3Li4xZDI5ZDQzOGM3IDEwMDY0NAo+ID4gLS0tIGEvaHcvYWNwaS9waWl4NC5j Cj4gPiArKysgYi9ody9hY3BpL3BpaXg0LmMKPiA+IEBAIC00Miw3ICs0Miw2IEBACj4gPiAgICNp bmNsdWRlICJody9hY3BpL21lbW9yeV9ob3RwbHVnLmgiCj4gPiAgICNpbmNsdWRlICJody9hY3Bp L2FjcGlfZGV2X2ludGVyZmFjZS5oIgo+ID4gICAjaW5jbHVkZSAiaHcveGVuL3hlbi5oIgo+ID4g LSNpbmNsdWRlICJtaWdyYXRpb24vcWVtdS1maWxlLXR5cGVzLmgiCj4gPiAgICNpbmNsdWRlICJt aWdyYXRpb24vdm1zdGF0ZS5oIgo+ID4gICAjaW5jbHVkZSAiaHcvY29yZS9jcHUuaCIKPiA+ICAg I2luY2x1ZGUgInRyYWNlLmgiCj4gPiBAQCAtMjA1LDQzICsyMDQsNiBAQCBzdGF0aWMgY29uc3Qg Vk1TdGF0ZURlc2NyaXB0aW9uIHZtc3RhdGVfcGNpX3N0YXR1cyA9IHsKPiA+ICAgICAgIH0KPiA+ ICAgfTsKPiA+IC1zdGF0aWMgaW50IGFjcGlfbG9hZF9vbGQoUUVNVUZpbGUgKmYsIHZvaWQgKm9w YXF1ZSwgaW50IHZlcnNpb25faWQpCj4gPiAtewo+ID4gLSAgICBQSUlYNFBNU3RhdGUgKnMgPSBv cGFxdWU7Cj4gPiAtICAgIGludCByZXQsIGk7Cj4gPiAtICAgIHVpbnQxNl90IHRlbXA7Cj4gPiAt Cj4gPiAtICAgIHJldCA9IHBjaV9kZXZpY2VfbG9hZChQQ0lfREVWSUNFKHMpLCBmKTsKPiA+IC0g ICAgaWYgKHJldCA8IDApIHsKPiA+IC0gICAgICAgIHJldHVybiByZXQ7Cj4gPiAtICAgIH0KPiA+ IC0gICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPmFyLnBtMS5ldnQuc3RzKTsKPiA+IC0gICAgcWVt dV9nZXRfYmUxNnMoZiwgJnMtPmFyLnBtMS5ldnQuZW4pOwo+ID4gLSAgICBxZW11X2dldF9iZTE2 cyhmLCAmcy0+YXIucG0xLmNudC5jbnQpOwo+ID4gLQo+ID4gLSAgICByZXQgPSB2bXN0YXRlX2xv YWRfc3RhdGUoZiwgJnZtc3RhdGVfYXBtLCAmcy0+YXBtLCAxKTsKPiA+IC0gICAgaWYgKHJldCkg ewo+ID4gLSAgICAgICAgcmV0dXJuIHJldDsKPiA+IC0gICAgfQo+ID4gLQo+ID4gLSAgICB0aW1l cl9nZXQoZiwgcy0+YXIudG1yLnRpbWVyKTsKPiA+IC0gICAgcWVtdV9nZXRfc2JlNjRzKGYsICZz LT5hci50bXIub3ZlcmZsb3dfdGltZSk7Cj4gPiAtCj4gPiAtICAgIHFlbXVfZ2V0X2JlMTZzKGYs ICh1aW50MTZfdCAqKXMtPmFyLmdwZS5zdHMpOwo+ID4gLSAgICBmb3IgKGkgPSAwOyBpIDwgMzsg aSsrKSB7Cj4gPiAtICAgICAgICBxZW11X2dldF9iZTE2cyhmLCAmdGVtcCk7Cj4gPiAtICAgIH0K PiA+IC0KPiA+IC0gICAgcWVtdV9nZXRfYmUxNnMoZiwgKHVpbnQxNl90ICopcy0+YXIuZ3BlLmVu KTsKPiA+IC0gICAgZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewo+ID4gLSAgICAgICAgcWVtdV9n ZXRfYmUxNnMoZiwgJnRlbXApOwo+ID4gLSAgICB9Cj4gPiAtCj4gPiAtICAgIHJldCA9IHZtc3Rh dGVfbG9hZF9zdGF0ZShmLCAmdm1zdGF0ZV9wY2lfc3RhdHVzLAo+ID4gLSAgICAgICAgJnMtPmFj cGlfcGNpX2hvdHBsdWcuYWNwaV9wY2locF9wY2lfc3RhdHVzW0FDUElfUENJSFBfQlNFTF9ERUZB VUxUXSwgMSk7Cj4gPiAtICAgIHJldHVybiByZXQ7Cj4gPiAtfQo+ID4gLQo+ID4gICBzdGF0aWMg Ym9vbCB2bXN0YXRlX3Rlc3RfdXNlX2FjcGlfcGNpX2hvdHBsdWcodm9pZCAqb3BhcXVlLCBpbnQg dmVyc2lvbl9pZCkKPiA+ICAgewo+ID4gICAgICAgUElJWDRQTVN0YXRlICpzID0gb3BhcXVlOwo+ ID4gQEAgLTMxMyw4ICsyNzUsNiBAQCBzdGF0aWMgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uIHZt c3RhdGVfYWNwaSA9IHsKPiA+ICAgICAgIC5uYW1lID0gInBpaXg0X3BtIiwKPiA+ICAgICAgIC52 ZXJzaW9uX2lkID0gMywKPiA+ICAgICAgIC5taW5pbXVtX3ZlcnNpb25faWQgPSAzLAo+ID4gLSAg ICAubWluaW11bV92ZXJzaW9uX2lkX29sZCA9IDEsCj4gPiAtICAgIC5sb2FkX3N0YXRlX29sZCA9 IGFjcGlfbG9hZF9vbGQsCgpDYW4geW91IGV4bGFpbiB3aHkgdGhpcyBpcyBvbGQgZW5vdWdoPyAg VGhhdCB3YXMgY2huYW5nZWQgYnkgYjBiODczYQp0aGF0IHdhcyBzb21lIHZlcnNpb24gaWQgc3Bl Y2lmaWMgaGFjaywgYnV0IGFsc28gNGNmM2U2ZjNkODUgLSBpc24ndAp0aGF0IGJlZm9yZSAwLjEy LjAgPwoKPiA+ICAgICAgIC5wb3N0X2xvYWQgPSB2bXN0YXRlX2FjcGlfcG9zdF9sb2FkLAo+ID4g ICAgICAgLmZpZWxkcyA9IChWTVN0YXRlRmllbGRbXSkgewo+ID4gICAgICAgICAgIFZNU1RBVEVf UENJX0RFVklDRShwYXJlbnRfb2JqLCBQSUlYNFBNU3RhdGUpLAo+ID4gZGlmZiAtLWdpdCBhL2h3 L2ludGMvYXBpY19jb21tb24uYyBiL2h3L2ludGMvYXBpY19jb21tb24uYwo+ID4gaW5kZXggYWFm ZDhlMGUzMy4uMzc1Y2I2YWJlOSAxMDA2NDQKPiA+IC0tLSBhL2h3L2ludGMvYXBpY19jb21tb24u Ywo+ID4gKysrIGIvaHcvaW50Yy9hcGljX2NvbW1vbi5jCj4gPiBAQCAtMzEsNyArMzEsNiBAQAo+ ID4gICAjaW5jbHVkZSAic3lzZW11L2t2bS5oIgo+ID4gICAjaW5jbHVkZSAiaHcvcWRldi1wcm9w ZXJ0aWVzLmgiCj4gPiAgICNpbmNsdWRlICJody9zeXNidXMuaCIKPiA+IC0jaW5jbHVkZSAibWln cmF0aW9uL3FlbXUtZmlsZS10eXBlcy5oIgo+ID4gICAjaW5jbHVkZSAibWlncmF0aW9uL3Ztc3Rh dGUuaCIKPiA+ICAgc3RhdGljIGludCBhcGljX2lycV9kZWxpdmVyZWQ7Cj4gPiBAQCAtMjYyLDUy ICsyNjEsNiBAQCBzdGF0aWMgdm9pZCBhcGljX3Jlc2V0X2NvbW1vbihEZXZpY2VTdGF0ZSAqZGV2 KQo+ID4gICAgICAgYXBpY19pbml0X3Jlc2V0KGRldik7Cj4gPiAgIH0KPiA+IC0vKiBUaGlzIGZ1 bmN0aW9uIGlzIG9ubHkgdXNlZCBmb3Igb2xkIHN0YXRlIHZlcnNpb24gMSBhbmQgMiAqLwo+ID4g LXN0YXRpYyBpbnQgYXBpY19sb2FkX29sZChRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlLCBpbnQg dmVyc2lvbl9pZCkKPiA+IC17Cj4gPiAtICAgIEFQSUNDb21tb25TdGF0ZSAqcyA9IG9wYXF1ZTsK PiA+IC0gICAgQVBJQ0NvbW1vbkNsYXNzICppbmZvID0gQVBJQ19DT01NT05fR0VUX0NMQVNTKHMp Owo+ID4gLSAgICBpbnQgaTsKPiA+IC0KPiA+IC0gICAgaWYgKHZlcnNpb25faWQgPiAyKSB7Cj4g PiAtICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+IC0gICAgfQo+ID4gLQo+ID4gLSAgICAvKiBY WFg6IHdoYXQgaWYgdGhlIGJhc2UgY2hhbmdlcz8gKHJlZ2lzdGVyZWQgbWVtb3J5IHJlZ2lvbnMp ICovCj4gPiAtICAgIHFlbXVfZ2V0X2JlMzJzKGYsICZzLT5hcGljYmFzZSk7Cj4gPiAtICAgIHFl bXVfZ2V0XzhzKGYsICZzLT5pZCk7Cj4gPiAtICAgIHFlbXVfZ2V0XzhzKGYsICZzLT5hcmJfaWQp Owo+ID4gLSAgICBxZW11X2dldF84cyhmLCAmcy0+dHByKTsKPiA+IC0gICAgcWVtdV9nZXRfYmUz MnMoZiwgJnMtPnNwdXJpb3VzX3ZlYyk7Cj4gPiAtICAgIHFlbXVfZ2V0XzhzKGYsICZzLT5sb2df ZGVzdCk7Cj4gPiAtICAgIHFlbXVfZ2V0XzhzKGYsICZzLT5kZXN0X21vZGUpOwo+ID4gLSAgICBm b3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7Cj4gPiAtICAgICAgICBxZW11X2dldF9iZTMycyhmLCAm cy0+aXNyW2ldKTsKPiA+IC0gICAgICAgIHFlbXVfZ2V0X2JlMzJzKGYsICZzLT50bXJbaV0pOwo+ ID4gLSAgICAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJnMtPmlycltpXSk7Cj4gPiAtICAgIH0KPiA+ IC0gICAgZm9yIChpID0gMDsgaSA8IEFQSUNfTFZUX05COyBpKyspIHsKPiA+IC0gICAgICAgIHFl bXVfZ2V0X2JlMzJzKGYsICZzLT5sdnRbaV0pOwo+ID4gLSAgICB9Cj4gPiAtICAgIHFlbXVfZ2V0 X2JlMzJzKGYsICZzLT5lc3IpOwo+ID4gLSAgICBxZW11X2dldF9iZTMycyhmLCAmcy0+aWNyWzBd KTsKPiA+IC0gICAgcWVtdV9nZXRfYmUzMnMoZiwgJnMtPmljclsxXSk7Cj4gPiAtICAgIHFlbXVf Z2V0X2JlMzJzKGYsICZzLT5kaXZpZGVfY29uZik7Cj4gPiAtICAgIHMtPmNvdW50X3NoaWZ0ID0g cWVtdV9nZXRfYmUzMihmKTsKPiA+IC0gICAgcWVtdV9nZXRfYmUzMnMoZiwgJnMtPmluaXRpYWxf Y291bnQpOwo+ID4gLSAgICBzLT5pbml0aWFsX2NvdW50X2xvYWRfdGltZSA9IHFlbXVfZ2V0X2Jl NjQoZik7Cj4gPiAtICAgIHMtPm5leHRfdGltZSA9IHFlbXVfZ2V0X2JlNjQoZik7Cj4gPiAtCj4g PiAtICAgIGlmICh2ZXJzaW9uX2lkID49IDIpIHsKPiA+IC0gICAgICAgIHMtPnRpbWVyX2V4cGly eSA9IHFlbXVfZ2V0X2JlNjQoZik7Cj4gPiAtICAgIH0KPiA+IC0KPiA+IC0gICAgaWYgKGluZm8t PnBvc3RfbG9hZCkgewo+ID4gLSAgICAgICAgaW5mby0+cG9zdF9sb2FkKHMpOwo+ID4gLSAgICB9 Cj4gPiAtICAgIHJldHVybiAwOwo+ID4gLX0KPiA+IC0KPiA+ICAgc3RhdGljIGNvbnN0IFZNU3Rh dGVEZXNjcmlwdGlvbiB2bXN0YXRlX2FwaWNfY29tbW9uOwo+ID4gICBzdGF0aWMgdm9pZCBhcGlj X2NvbW1vbl9yZWFsaXplKERldmljZVN0YXRlICpkZXYsIEVycm9yICoqZXJycCkKPiA+IEBAIC00 MDgsOCArMzYxLDYgQEAgc3RhdGljIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX2Fw aWNfY29tbW9uID0gewo+ID4gICAgICAgLm5hbWUgPSAiYXBpYyIsCj4gPiAgICAgICAudmVyc2lv bl9pZCA9IDMsCj4gPiAgICAgICAubWluaW11bV92ZXJzaW9uX2lkID0gMywKPiA+IC0gICAgLm1p bmltdW1fdmVyc2lvbl9pZF9vbGQgPSAxLAo+ID4gLSAgICAubG9hZF9zdGF0ZV9vbGQgPSBhcGlj X2xvYWRfb2xkLAoKT0ssIEkgc2VlIHRoYXQgd2FzIGNoYW5nZWQgYnkgNjk1ZGNmNzEgaW4gMjAw OSBiZWZvcmUgMC4xMi4wCgo+ID4gICAgICAgLnByZV9sb2FkID0gYXBpY19wcmVfbG9hZCwKPiA+ ICAgICAgIC5wcmVfc2F2ZSA9IGFwaWNfZGlzcGF0Y2hfcHJlX3NhdmUsCj4gPiAgICAgICAucG9z dF9sb2FkID0gYXBpY19kaXNwYXRjaF9wb3N0X2xvYWQsCj4gPiBkaWZmIC0tZ2l0IGEvaHcvcGNp LWhvc3QvcGlpeC5jIGIvaHcvcGNpLWhvc3QvcGlpeC5jCj4gPiBpbmRleCAxMzVjNjQ1NTM1Li4y ZjRjYmNiZmU5IDEwMDY0NAo+ID4gLS0tIGEvaHcvcGNpLWhvc3QvcGlpeC5jCj4gPiArKysgYi9o dy9wY2ktaG9zdC9waWl4LmMKPiA+IEBAIC0zMyw3ICszMyw2IEBACj4gPiAgICNpbmNsdWRlICJx YXBpL2Vycm9yLmgiCj4gPiAgICNpbmNsdWRlICJxZW11L3JhbmdlLmgiCj4gPiAgICNpbmNsdWRl ICJody94ZW4veGVuLmgiCj4gPiAtI2luY2x1ZGUgIm1pZ3JhdGlvbi9xZW11LWZpbGUtdHlwZXMu aCIKPiA+ICAgI2luY2x1ZGUgIm1pZ3JhdGlvbi92bXN0YXRlLmgiCj4gPiAgICNpbmNsdWRlICJo dy9wY2ktaG9zdC9wYW0uaCIKPiA+ICAgI2luY2x1ZGUgInN5c2VtdS9yZXNldC5oIgo+ID4gQEAg LTE3NCwyOCArMTczLDYgQEAgc3RhdGljIHZvaWQgaTQ0MGZ4X3dyaXRlX2NvbmZpZyhQQ0lEZXZp Y2UgKmRldiwKPiA+ICAgICAgIH0KPiA+ICAgfQo+ID4gLXN0YXRpYyBpbnQgaTQ0MGZ4X2xvYWRf b2xkKFFFTVVGaWxlKiBmLCB2b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQo+ID4gLXsKPiA+ IC0gICAgUENJSTQ0MEZYU3RhdGUgKmQgPSBvcGFxdWU7Cj4gPiAtICAgIFBDSURldmljZSAqcGQg PSBQQ0lfREVWSUNFKGQpOwo+ID4gLSAgICBpbnQgcmV0LCBpOwo+ID4gLSAgICB1aW50OF90IHNt bV9lbmFibGVkOwo+ID4gLQo+ID4gLSAgICByZXQgPSBwY2lfZGV2aWNlX2xvYWQocGQsIGYpOwo+ ID4gLSAgICBpZiAocmV0IDwgMCkKPiA+IC0gICAgICAgIHJldHVybiByZXQ7Cj4gPiAtICAgIGk0 NDBmeF91cGRhdGVfbWVtb3J5X21hcHBpbmdzKGQpOwo+ID4gLSAgICBxZW11X2dldF84cyhmLCAm c21tX2VuYWJsZWQpOwo+ID4gLQo+ID4gLSAgICBpZiAodmVyc2lvbl9pZCA9PSAyKSB7Cj4gPiAt ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUElJWF9OVU1fUElSUVM7IGkrKykgewo+ID4gLSAgICAg ICAgICAgIHFlbXVfZ2V0X2JlMzIoZik7IC8qIGR1bW15IGxvYWQgZm9yIGNvbXBhdGliaWxpdHkg Ki8KPiA+IC0gICAgICAgIH0KPiA+IC0gICAgfQo+ID4gLQo+ID4gLSAgICByZXR1cm4gMDsKPiA+ IC19Cj4gPiAtCj4gPiAgIHN0YXRpYyBpbnQgaTQ0MGZ4X3Bvc3RfbG9hZCh2b2lkICpvcGFxdWUs IGludCB2ZXJzaW9uX2lkKQo+ID4gICB7Cj4gPiAgICAgICBQQ0lJNDQwRlhTdGF0ZSAqZCA9IG9w YXF1ZTsKPiA+IEBAIC0yMDgsOCArMTg1LDYgQEAgc3RhdGljIGNvbnN0IFZNU3RhdGVEZXNjcmlw dGlvbiB2bXN0YXRlX2k0NDBmeCA9IHsKPiA+ICAgICAgIC5uYW1lID0gIkk0NDBGWCIsCj4gPiAg ICAgICAudmVyc2lvbl9pZCA9IDMsCj4gPiAgICAgICAubWluaW11bV92ZXJzaW9uX2lkID0gMywK PiA+IC0gICAgLm1pbmltdW1fdmVyc2lvbl9pZF9vbGQgPSAxLAo+ID4gLSAgICAubG9hZF9zdGF0 ZV9vbGQgPSBpNDQwZnhfbG9hZF9vbGQsCgpDaGFuZ2VkIGluIDIwMDkgYmVmb3JlIDAuMTI7IE9L Cgo+ID4gICAgICAgLnBvc3RfbG9hZCA9IGk0NDBmeF9wb3N0X2xvYWQsCj4gPiAgICAgICAuZmll bGRzID0gKFZNU3RhdGVGaWVsZFtdKSB7Cj4gPiAgICAgICAgICAgVk1TVEFURV9QQ0lfREVWSUNF KHBhcmVudF9vYmosIFBDSUk0NDBGWFN0YXRlKSwKPiA+IGRpZmYgLS1naXQgYS9ody90aW1lci9p ODI1NF9jb21tb24uYyBiL2h3L3RpbWVyL2k4MjU0X2NvbW1vbi5jCj4gPiBpbmRleCA1N2JmMTBj Yzk0Li4wNTA4NzViNDk3IDEwMDY0NAo+ID4gLS0tIGEvaHcvdGltZXIvaTgyNTRfY29tbW9uLmMK PiA+ICsrKyBiL2h3L3RpbWVyL2k4MjU0X2NvbW1vbi5jCj4gPiBAQCAtMjksNyArMjksNiBAQAo+ ID4gICAjaW5jbHVkZSAicWVtdS90aW1lci5oIgo+ID4gICAjaW5jbHVkZSAiaHcvdGltZXIvaTgy NTQuaCIKPiA+ICAgI2luY2x1ZGUgImh3L3RpbWVyL2k4MjU0X2ludGVybmFsLmgiCj4gPiAtI2lu Y2x1ZGUgIm1pZ3JhdGlvbi9xZW11LWZpbGUtdHlwZXMuaCIKPiA+ICAgI2luY2x1ZGUgIm1pZ3Jh dGlvbi92bXN0YXRlLmgiCj4gPiAgIC8qIHZhbCBtdXN0IGJlIDAgb3IgMSAqLwo+ID4gQEAgLTIw Miw0MyArMjAxLDYgQEAgc3RhdGljIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX3Bp dF9jaGFubmVsID0gewo+ID4gICAgICAgfQo+ID4gICB9Owo+ID4gLXN0YXRpYyBpbnQgcGl0X2xv YWRfb2xkKFFFTVVGaWxlICpmLCB2b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQo+ID4gLXsK PiA+IC0gICAgUElUQ29tbW9uU3RhdGUgKnBpdCA9IG9wYXF1ZTsKPiA+IC0gICAgUElUQ29tbW9u Q2xhc3MgKmMgPSBQSVRfQ09NTU9OX0dFVF9DTEFTUyhwaXQpOwo+ID4gLSAgICBQSVRDaGFubmVs U3RhdGUgKnM7Cj4gPiAtICAgIGludCBpOwo+ID4gLQo+ID4gLSAgICBpZiAodmVyc2lvbl9pZCAh PSAxKSB7Cj4gPiAtICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+IC0gICAgfQo+ID4gLQo+ID4g LSAgICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7Cj4gPiAtICAgICAgICBzID0gJnBpdC0+Y2hh bm5lbHNbaV07Cj4gPiAtICAgICAgICBzLT5jb3VudCA9IHFlbXVfZ2V0X2JlMzIoZik7Cj4gPiAt ICAgICAgICBxZW11X2dldF9iZTE2cyhmLCAmcy0+bGF0Y2hlZF9jb3VudCk7Cj4gPiAtICAgICAg ICBxZW11X2dldF84cyhmLCAmcy0+Y291bnRfbGF0Y2hlZCk7Cj4gPiAtICAgICAgICBxZW11X2dl dF84cyhmLCAmcy0+c3RhdHVzX2xhdGNoZWQpOwo+ID4gLSAgICAgICAgcWVtdV9nZXRfOHMoZiwg JnMtPnN0YXR1cyk7Cj4gPiAtICAgICAgICBxZW11X2dldF84cyhmLCAmcy0+cmVhZF9zdGF0ZSk7 Cj4gPiAtICAgICAgICBxZW11X2dldF84cyhmLCAmcy0+d3JpdGVfc3RhdGUpOwo+ID4gLSAgICAg ICAgcWVtdV9nZXRfOHMoZiwgJnMtPndyaXRlX2xhdGNoKTsKPiA+IC0gICAgICAgIHFlbXVfZ2V0 XzhzKGYsICZzLT5yd19tb2RlKTsKPiA+IC0gICAgICAgIHFlbXVfZ2V0XzhzKGYsICZzLT5tb2Rl KTsKPiA+IC0gICAgICAgIHFlbXVfZ2V0XzhzKGYsICZzLT5iY2QpOwo+ID4gLSAgICAgICAgcWVt dV9nZXRfOHMoZiwgJnMtPmdhdGUpOwo+ID4gLSAgICAgICAgcy0+Y291bnRfbG9hZF90aW1lID0g cWVtdV9nZXRfYmU2NChmKTsKPiA+IC0gICAgICAgIHMtPmlycV9kaXNhYmxlZCA9IDA7Cj4gPiAt ICAgICAgICBpZiAoaSA9PSAwKSB7Cj4gPiAtICAgICAgICAgICAgcy0+bmV4dF90cmFuc2l0aW9u X3RpbWUgPSBxZW11X2dldF9iZTY0KGYpOwo+ID4gLSAgICAgICAgfQo+ID4gLSAgICB9Cj4gPiAt ICAgIGlmIChjLT5wb3N0X2xvYWQpIHsKPiA+IC0gICAgICAgIGMtPnBvc3RfbG9hZChwaXQpOwo+ ID4gLSAgICB9Cj4gPiAtICAgIHJldHVybiAwOwo+ID4gLX0KPiA+IC0KPiA+ICAgc3RhdGljIGlu dCBwaXRfZGlzcGF0Y2hfcHJlX3NhdmUodm9pZCAqb3BhcXVlKQo+ID4gICB7Cj4gPiAgICAgICBQ SVRDb21tb25TdGF0ZSAqcyA9IG9wYXF1ZTsKPiA+IEBAIC0yNjYsOCArMjI4LDYgQEAgc3RhdGlj IGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX3BpdF9jb21tb24gPSB7Cj4gPiAgICAg ICAubmFtZSA9ICJpODI1NCIsCj4gPiAgICAgICAudmVyc2lvbl9pZCA9IDMsCj4gPiAgICAgICAu bWluaW11bV92ZXJzaW9uX2lkID0gMiwKPiA+IC0gICAgLm1pbmltdW1fdmVyc2lvbl9pZF9vbGQg PSAxLAo+ID4gLSAgICAubG9hZF9zdGF0ZV9vbGQgPSBwaXRfbG9hZF9vbGQsCgpBbHNvIDIwMDkg cHJlIDAuMTIKCj4gPiAgICAgICAucHJlX3NhdmUgPSBwaXRfZGlzcGF0Y2hfcHJlX3NhdmUsCj4g PiAgICAgICAucG9zdF9sb2FkID0gcGl0X2Rpc3BhdGNoX3Bvc3RfbG9hZCwKPiA+ICAgICAgIC5m aWVsZHMgPSAoVk1TdGF0ZUZpZWxkW10pIHsKPiA+IAotLQpEci4gRGF2aWQgQWxhbiBHaWxiZXJ0 IC8gZGdpbGJlcnRAcmVkaGF0LmNvbSAvIE1hbmNoZXN0ZXIsIFVLCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== 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=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 68D1CCA9ED1 for ; Fri, 1 Nov 2019 10:20:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 35077217D9 for ; Fri, 1 Nov 2019 10:20:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hhgJKf+2" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729553AbfKAKUP (ORCPT ); Fri, 1 Nov 2019 06:20:15 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:35454 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729466AbfKAKUP (ORCPT ); Fri, 1 Nov 2019 06:20:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572603613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JhH3fpCQilR/LG5xSJSwv1PIJQRkTfOdcfx/P18x+tY=; b=hhgJKf+2uPycT/5uBlYhfmdUwMhjE9eO6StUZ1P3CmPn4FjGNLLJ21tpP06okmLEEFe4Je xSR/cRlSL6BuyYC6tVPe9KVlANzMaOz0czPKLo62ORG5mgZoBA9KPwWnXDtwtjAd1PmdXA ukpD56aPjCHIXkvQLEHxP+KClr/gEb0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-201-MDk7S9bxNyONZ7fYixJMfw-1; Fri, 01 Nov 2019 06:20:09 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6E9D62AD; Fri, 1 Nov 2019 10:20:07 +0000 (UTC) Received: from work-vm (ovpn-116-155.ams2.redhat.com [10.36.116.155]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0E9BF600D1; Fri, 1 Nov 2019 10:19:54 +0000 (UTC) Date: Fri, 1 Nov 2019 10:19:51 +0000 From: "Dr. David Alan Gilbert" To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= Cc: qemu-devel@nongnu.org, "Daniel P . Berrange" , Juan Quintela , Aleksandar Markovic , Aurelien Jarno , Eduardo Habkost , Thomas Huth , Igor Mammedov , Anthony Perard , Stefano Stabellini , Paul Durrant , =?iso-8859-1?Q?Herv=E9?= Poussineau , Aleksandar Rikalo , xen-devel@lists.xenproject.org, Laurent Vivier , "Michael S. Tsirkin" , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , kvm@vger.kernel.org, Peter Maydell Subject: Re: [PATCH 01/32] hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers Message-ID: <20191101101951.GB2432@work-vm> References: <20191015162705.28087-1-philmd@redhat.com> <20191015162705.28087-2-philmd@redhat.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: MDk7S9bxNyONZ7fYixJMfw-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org * Philippe Mathieu-Daud=E9 (philmd@redhat.com) wrote: > I forgot to Cc David and Daniel for this one. >=20 > On 10/15/19 6:26 PM, Philippe Mathieu-Daud=E9 wrote: > > These devices implemented their load_state_old() handler 10 years > > ago, previous to QEMU v0.12. > > Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines, > > we can drop this code. > >=20 > > Note: the mips_r4k machine started to use the i8254 device just > > after QEMU v0.5.0, but the MIPS machine types are not versioned, > > so there is no migration compatibility issue removing this handler. > >=20 > > Suggested-by: Peter Maydell > > Signed-off-by: Philippe Mathieu-Daud=E9 > > --- > > hw/acpi/piix4.c | 40 --------------------------------- > > hw/intc/apic_common.c | 49 ----------------------------------------= - > > hw/pci-host/piix.c | 25 --------------------- > > hw/timer/i8254_common.c | 40 --------------------------------- > > 4 files changed, 154 deletions(-) > >=20 > > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c > > index 5742c3df87..1d29d438c7 100644 > > --- a/hw/acpi/piix4.c > > +++ b/hw/acpi/piix4.c > > @@ -42,7 +42,6 @@ > > #include "hw/acpi/memory_hotplug.h" > > #include "hw/acpi/acpi_dev_interface.h" > > #include "hw/xen/xen.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > #include "hw/core/cpu.h" > > #include "trace.h" > > @@ -205,43 +204,6 @@ static const VMStateDescription vmstate_pci_status= =3D { > > } > > }; > > -static int acpi_load_old(QEMUFile *f, void *opaque, int version_id) > > -{ > > - PIIX4PMState *s =3D opaque; > > - int ret, i; > > - uint16_t temp; > > - > > - ret =3D pci_device_load(PCI_DEVICE(s), f); > > - if (ret < 0) { > > - return ret; > > - } > > - qemu_get_be16s(f, &s->ar.pm1.evt.sts); > > - qemu_get_be16s(f, &s->ar.pm1.evt.en); > > - qemu_get_be16s(f, &s->ar.pm1.cnt.cnt); > > - > > - ret =3D vmstate_load_state(f, &vmstate_apm, &s->apm, 1); > > - if (ret) { > > - return ret; > > - } > > - > > - timer_get(f, s->ar.tmr.timer); > > - qemu_get_sbe64s(f, &s->ar.tmr.overflow_time); > > - > > - qemu_get_be16s(f, (uint16_t *)s->ar.gpe.sts); > > - for (i =3D 0; i < 3; i++) { > > - qemu_get_be16s(f, &temp); > > - } > > - > > - qemu_get_be16s(f, (uint16_t *)s->ar.gpe.en); > > - for (i =3D 0; i < 3; i++) { > > - qemu_get_be16s(f, &temp); > > - } > > - > > - ret =3D vmstate_load_state(f, &vmstate_pci_status, > > - &s->acpi_pci_hotplug.acpi_pcihp_pci_status[ACPI_PCIHP_BSEL_DEF= AULT], 1); > > - return ret; > > -} > > - > > static bool vmstate_test_use_acpi_pci_hotplug(void *opaque, int versi= on_id) > > { > > PIIX4PMState *s =3D opaque; > > @@ -313,8 +275,6 @@ static const VMStateDescription vmstate_acpi =3D { > > .name =3D "piix4_pm", > > .version_id =3D 3, > > .minimum_version_id =3D 3, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D acpi_load_old, Can you exlain why this is old enough? That was chnanged by b0b873a that was some version id specific hack, but also 4cf3e6f3d85 - isn't that before 0.12.0 ? > > .post_load =3D vmstate_acpi_post_load, > > .fields =3D (VMStateField[]) { > > VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState), > > diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c > > index aafd8e0e33..375cb6abe9 100644 > > --- a/hw/intc/apic_common.c > > +++ b/hw/intc/apic_common.c > > @@ -31,7 +31,6 @@ > > #include "sysemu/kvm.h" > > #include "hw/qdev-properties.h" > > #include "hw/sysbus.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > static int apic_irq_delivered; > > @@ -262,52 +261,6 @@ static void apic_reset_common(DeviceState *dev) > > apic_init_reset(dev); > > } > > -/* This function is only used for old state version 1 and 2 */ > > -static int apic_load_old(QEMUFile *f, void *opaque, int version_id) > > -{ > > - APICCommonState *s =3D opaque; > > - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); > > - int i; > > - > > - if (version_id > 2) { > > - return -EINVAL; > > - } > > - > > - /* XXX: what if the base changes? (registered memory regions) */ > > - qemu_get_be32s(f, &s->apicbase); > > - qemu_get_8s(f, &s->id); > > - qemu_get_8s(f, &s->arb_id); > > - qemu_get_8s(f, &s->tpr); > > - qemu_get_be32s(f, &s->spurious_vec); > > - qemu_get_8s(f, &s->log_dest); > > - qemu_get_8s(f, &s->dest_mode); > > - for (i =3D 0; i < 8; i++) { > > - qemu_get_be32s(f, &s->isr[i]); > > - qemu_get_be32s(f, &s->tmr[i]); > > - qemu_get_be32s(f, &s->irr[i]); > > - } > > - for (i =3D 0; i < APIC_LVT_NB; i++) { > > - qemu_get_be32s(f, &s->lvt[i]); > > - } > > - qemu_get_be32s(f, &s->esr); > > - qemu_get_be32s(f, &s->icr[0]); > > - qemu_get_be32s(f, &s->icr[1]); > > - qemu_get_be32s(f, &s->divide_conf); > > - s->count_shift =3D qemu_get_be32(f); > > - qemu_get_be32s(f, &s->initial_count); > > - s->initial_count_load_time =3D qemu_get_be64(f); > > - s->next_time =3D qemu_get_be64(f); > > - > > - if (version_id >=3D 2) { > > - s->timer_expiry =3D qemu_get_be64(f); > > - } > > - > > - if (info->post_load) { > > - info->post_load(s); > > - } > > - return 0; > > -} > > - > > static const VMStateDescription vmstate_apic_common; > > static void apic_common_realize(DeviceState *dev, Error **errp) > > @@ -408,8 +361,6 @@ static const VMStateDescription vmstate_apic_common= =3D { > > .name =3D "apic", > > .version_id =3D 3, > > .minimum_version_id =3D 3, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D apic_load_old, OK, I see that was changed by 695dcf71 in 2009 before 0.12.0 > > .pre_load =3D apic_pre_load, > > .pre_save =3D apic_dispatch_pre_save, > > .post_load =3D apic_dispatch_post_load, > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c > > index 135c645535..2f4cbcbfe9 100644 > > --- a/hw/pci-host/piix.c > > +++ b/hw/pci-host/piix.c > > @@ -33,7 +33,6 @@ > > #include "qapi/error.h" > > #include "qemu/range.h" > > #include "hw/xen/xen.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > #include "hw/pci-host/pam.h" > > #include "sysemu/reset.h" > > @@ -174,28 +173,6 @@ static void i440fx_write_config(PCIDevice *dev, > > } > > } > > -static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id) > > -{ > > - PCII440FXState *d =3D opaque; > > - PCIDevice *pd =3D PCI_DEVICE(d); > > - int ret, i; > > - uint8_t smm_enabled; > > - > > - ret =3D pci_device_load(pd, f); > > - if (ret < 0) > > - return ret; > > - i440fx_update_memory_mappings(d); > > - qemu_get_8s(f, &smm_enabled); > > - > > - if (version_id =3D=3D 2) { > > - for (i =3D 0; i < PIIX_NUM_PIRQS; i++) { > > - qemu_get_be32(f); /* dummy load for compatibility */ > > - } > > - } > > - > > - return 0; > > -} > > - > > static int i440fx_post_load(void *opaque, int version_id) > > { > > PCII440FXState *d =3D opaque; > > @@ -208,8 +185,6 @@ static const VMStateDescription vmstate_i440fx =3D = { > > .name =3D "I440FX", > > .version_id =3D 3, > > .minimum_version_id =3D 3, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D i440fx_load_old, Changed in 2009 before 0.12; OK > > .post_load =3D i440fx_post_load, > > .fields =3D (VMStateField[]) { > > VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState), > > diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c > > index 57bf10cc94..050875b497 100644 > > --- a/hw/timer/i8254_common.c > > +++ b/hw/timer/i8254_common.c > > @@ -29,7 +29,6 @@ > > #include "qemu/timer.h" > > #include "hw/timer/i8254.h" > > #include "hw/timer/i8254_internal.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > /* val must be 0 or 1 */ > > @@ -202,43 +201,6 @@ static const VMStateDescription vmstate_pit_channe= l =3D { > > } > > }; > > -static int pit_load_old(QEMUFile *f, void *opaque, int version_id) > > -{ > > - PITCommonState *pit =3D opaque; > > - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); > > - PITChannelState *s; > > - int i; > > - > > - if (version_id !=3D 1) { > > - return -EINVAL; > > - } > > - > > - for (i =3D 0; i < 3; i++) { > > - s =3D &pit->channels[i]; > > - s->count =3D qemu_get_be32(f); > > - qemu_get_be16s(f, &s->latched_count); > > - qemu_get_8s(f, &s->count_latched); > > - qemu_get_8s(f, &s->status_latched); > > - qemu_get_8s(f, &s->status); > > - qemu_get_8s(f, &s->read_state); > > - qemu_get_8s(f, &s->write_state); > > - qemu_get_8s(f, &s->write_latch); > > - qemu_get_8s(f, &s->rw_mode); > > - qemu_get_8s(f, &s->mode); > > - qemu_get_8s(f, &s->bcd); > > - qemu_get_8s(f, &s->gate); > > - s->count_load_time =3D qemu_get_be64(f); > > - s->irq_disabled =3D 0; > > - if (i =3D=3D 0) { > > - s->next_transition_time =3D qemu_get_be64(f); > > - } > > - } > > - if (c->post_load) { > > - c->post_load(pit); > > - } > > - return 0; > > -} > > - > > static int pit_dispatch_pre_save(void *opaque) > > { > > PITCommonState *s =3D opaque; > > @@ -266,8 +228,6 @@ static const VMStateDescription vmstate_pit_common = =3D { > > .name =3D "i8254", > > .version_id =3D 3, > > .minimum_version_id =3D 2, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D pit_load_old, Also 2009 pre 0.12 > > .pre_save =3D pit_dispatch_pre_save, > > .post_load =3D pit_dispatch_post_load, > > .fields =3D (VMStateField[]) { > >=20 -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK 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=-8.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable 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 1CDD3CA9ECF for ; Fri, 1 Nov 2019 10:21:55 +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 C934E217D9 for ; Fri, 1 Nov 2019 10:21:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hhgJKf+2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C934E217D9 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]:37352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQU41-0003ik-UD for qemu-devel@archiver.kernel.org; Fri, 01 Nov 2019 06:21:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43568) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQU2U-0002Dt-Cb for qemu-devel@nongnu.org; Fri, 01 Nov 2019 06:20:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iQU2Q-0006YQ-FQ for qemu-devel@nongnu.org; Fri, 01 Nov 2019 06:20:17 -0400 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:33457 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iQU2Q-0006XY-9g for qemu-devel@nongnu.org; Fri, 01 Nov 2019 06:20:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572603613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JhH3fpCQilR/LG5xSJSwv1PIJQRkTfOdcfx/P18x+tY=; b=hhgJKf+2uPycT/5uBlYhfmdUwMhjE9eO6StUZ1P3CmPn4FjGNLLJ21tpP06okmLEEFe4Je xSR/cRlSL6BuyYC6tVPe9KVlANzMaOz0czPKLo62ORG5mgZoBA9KPwWnXDtwtjAd1PmdXA ukpD56aPjCHIXkvQLEHxP+KClr/gEb0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-201-MDk7S9bxNyONZ7fYixJMfw-1; Fri, 01 Nov 2019 06:20:09 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6E9D62AD; Fri, 1 Nov 2019 10:20:07 +0000 (UTC) Received: from work-vm (ovpn-116-155.ams2.redhat.com [10.36.116.155]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0E9BF600D1; Fri, 1 Nov 2019 10:19:54 +0000 (UTC) Date: Fri, 1 Nov 2019 10:19:51 +0000 From: "Dr. David Alan Gilbert" To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= Subject: Re: [PATCH 01/32] hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers Message-ID: <20191101101951.GB2432@work-vm> References: <20191015162705.28087-1-philmd@redhat.com> <20191015162705.28087-2-philmd@redhat.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: MDk7S9bxNyONZ7fYixJMfw-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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 , Peter Maydell , Thomas Huth , Stefano Stabellini , "Daniel P . Berrange" , Eduardo Habkost , kvm@vger.kernel.org, Juan Quintela , "Michael S. Tsirkin" , Paul Durrant , qemu-devel@nongnu.org, Paolo Bonzini , =?iso-8859-1?Q?Herv=E9?= Poussineau , Aleksandar Markovic , xen-devel@lists.xenproject.org, Anthony Perard , Igor Mammedov , Aleksandar Rikalo , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" * Philippe Mathieu-Daud=E9 (philmd@redhat.com) wrote: > I forgot to Cc David and Daniel for this one. >=20 > On 10/15/19 6:26 PM, Philippe Mathieu-Daud=E9 wrote: > > These devices implemented their load_state_old() handler 10 years > > ago, previous to QEMU v0.12. > > Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines, > > we can drop this code. > >=20 > > Note: the mips_r4k machine started to use the i8254 device just > > after QEMU v0.5.0, but the MIPS machine types are not versioned, > > so there is no migration compatibility issue removing this handler. > >=20 > > Suggested-by: Peter Maydell > > Signed-off-by: Philippe Mathieu-Daud=E9 > > --- > > hw/acpi/piix4.c | 40 --------------------------------- > > hw/intc/apic_common.c | 49 ----------------------------------------= - > > hw/pci-host/piix.c | 25 --------------------- > > hw/timer/i8254_common.c | 40 --------------------------------- > > 4 files changed, 154 deletions(-) > >=20 > > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c > > index 5742c3df87..1d29d438c7 100644 > > --- a/hw/acpi/piix4.c > > +++ b/hw/acpi/piix4.c > > @@ -42,7 +42,6 @@ > > #include "hw/acpi/memory_hotplug.h" > > #include "hw/acpi/acpi_dev_interface.h" > > #include "hw/xen/xen.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > #include "hw/core/cpu.h" > > #include "trace.h" > > @@ -205,43 +204,6 @@ static const VMStateDescription vmstate_pci_status= =3D { > > } > > }; > > -static int acpi_load_old(QEMUFile *f, void *opaque, int version_id) > > -{ > > - PIIX4PMState *s =3D opaque; > > - int ret, i; > > - uint16_t temp; > > - > > - ret =3D pci_device_load(PCI_DEVICE(s), f); > > - if (ret < 0) { > > - return ret; > > - } > > - qemu_get_be16s(f, &s->ar.pm1.evt.sts); > > - qemu_get_be16s(f, &s->ar.pm1.evt.en); > > - qemu_get_be16s(f, &s->ar.pm1.cnt.cnt); > > - > > - ret =3D vmstate_load_state(f, &vmstate_apm, &s->apm, 1); > > - if (ret) { > > - return ret; > > - } > > - > > - timer_get(f, s->ar.tmr.timer); > > - qemu_get_sbe64s(f, &s->ar.tmr.overflow_time); > > - > > - qemu_get_be16s(f, (uint16_t *)s->ar.gpe.sts); > > - for (i =3D 0; i < 3; i++) { > > - qemu_get_be16s(f, &temp); > > - } > > - > > - qemu_get_be16s(f, (uint16_t *)s->ar.gpe.en); > > - for (i =3D 0; i < 3; i++) { > > - qemu_get_be16s(f, &temp); > > - } > > - > > - ret =3D vmstate_load_state(f, &vmstate_pci_status, > > - &s->acpi_pci_hotplug.acpi_pcihp_pci_status[ACPI_PCIHP_BSEL_DEF= AULT], 1); > > - return ret; > > -} > > - > > static bool vmstate_test_use_acpi_pci_hotplug(void *opaque, int versi= on_id) > > { > > PIIX4PMState *s =3D opaque; > > @@ -313,8 +275,6 @@ static const VMStateDescription vmstate_acpi =3D { > > .name =3D "piix4_pm", > > .version_id =3D 3, > > .minimum_version_id =3D 3, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D acpi_load_old, Can you exlain why this is old enough? That was chnanged by b0b873a that was some version id specific hack, but also 4cf3e6f3d85 - isn't that before 0.12.0 ? > > .post_load =3D vmstate_acpi_post_load, > > .fields =3D (VMStateField[]) { > > VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState), > > diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c > > index aafd8e0e33..375cb6abe9 100644 > > --- a/hw/intc/apic_common.c > > +++ b/hw/intc/apic_common.c > > @@ -31,7 +31,6 @@ > > #include "sysemu/kvm.h" > > #include "hw/qdev-properties.h" > > #include "hw/sysbus.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > static int apic_irq_delivered; > > @@ -262,52 +261,6 @@ static void apic_reset_common(DeviceState *dev) > > apic_init_reset(dev); > > } > > -/* This function is only used for old state version 1 and 2 */ > > -static int apic_load_old(QEMUFile *f, void *opaque, int version_id) > > -{ > > - APICCommonState *s =3D opaque; > > - APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); > > - int i; > > - > > - if (version_id > 2) { > > - return -EINVAL; > > - } > > - > > - /* XXX: what if the base changes? (registered memory regions) */ > > - qemu_get_be32s(f, &s->apicbase); > > - qemu_get_8s(f, &s->id); > > - qemu_get_8s(f, &s->arb_id); > > - qemu_get_8s(f, &s->tpr); > > - qemu_get_be32s(f, &s->spurious_vec); > > - qemu_get_8s(f, &s->log_dest); > > - qemu_get_8s(f, &s->dest_mode); > > - for (i =3D 0; i < 8; i++) { > > - qemu_get_be32s(f, &s->isr[i]); > > - qemu_get_be32s(f, &s->tmr[i]); > > - qemu_get_be32s(f, &s->irr[i]); > > - } > > - for (i =3D 0; i < APIC_LVT_NB; i++) { > > - qemu_get_be32s(f, &s->lvt[i]); > > - } > > - qemu_get_be32s(f, &s->esr); > > - qemu_get_be32s(f, &s->icr[0]); > > - qemu_get_be32s(f, &s->icr[1]); > > - qemu_get_be32s(f, &s->divide_conf); > > - s->count_shift =3D qemu_get_be32(f); > > - qemu_get_be32s(f, &s->initial_count); > > - s->initial_count_load_time =3D qemu_get_be64(f); > > - s->next_time =3D qemu_get_be64(f); > > - > > - if (version_id >=3D 2) { > > - s->timer_expiry =3D qemu_get_be64(f); > > - } > > - > > - if (info->post_load) { > > - info->post_load(s); > > - } > > - return 0; > > -} > > - > > static const VMStateDescription vmstate_apic_common; > > static void apic_common_realize(DeviceState *dev, Error **errp) > > @@ -408,8 +361,6 @@ static const VMStateDescription vmstate_apic_common= =3D { > > .name =3D "apic", > > .version_id =3D 3, > > .minimum_version_id =3D 3, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D apic_load_old, OK, I see that was changed by 695dcf71 in 2009 before 0.12.0 > > .pre_load =3D apic_pre_load, > > .pre_save =3D apic_dispatch_pre_save, > > .post_load =3D apic_dispatch_post_load, > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c > > index 135c645535..2f4cbcbfe9 100644 > > --- a/hw/pci-host/piix.c > > +++ b/hw/pci-host/piix.c > > @@ -33,7 +33,6 @@ > > #include "qapi/error.h" > > #include "qemu/range.h" > > #include "hw/xen/xen.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > #include "hw/pci-host/pam.h" > > #include "sysemu/reset.h" > > @@ -174,28 +173,6 @@ static void i440fx_write_config(PCIDevice *dev, > > } > > } > > -static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id) > > -{ > > - PCII440FXState *d =3D opaque; > > - PCIDevice *pd =3D PCI_DEVICE(d); > > - int ret, i; > > - uint8_t smm_enabled; > > - > > - ret =3D pci_device_load(pd, f); > > - if (ret < 0) > > - return ret; > > - i440fx_update_memory_mappings(d); > > - qemu_get_8s(f, &smm_enabled); > > - > > - if (version_id =3D=3D 2) { > > - for (i =3D 0; i < PIIX_NUM_PIRQS; i++) { > > - qemu_get_be32(f); /* dummy load for compatibility */ > > - } > > - } > > - > > - return 0; > > -} > > - > > static int i440fx_post_load(void *opaque, int version_id) > > { > > PCII440FXState *d =3D opaque; > > @@ -208,8 +185,6 @@ static const VMStateDescription vmstate_i440fx =3D = { > > .name =3D "I440FX", > > .version_id =3D 3, > > .minimum_version_id =3D 3, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D i440fx_load_old, Changed in 2009 before 0.12; OK > > .post_load =3D i440fx_post_load, > > .fields =3D (VMStateField[]) { > > VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState), > > diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c > > index 57bf10cc94..050875b497 100644 > > --- a/hw/timer/i8254_common.c > > +++ b/hw/timer/i8254_common.c > > @@ -29,7 +29,6 @@ > > #include "qemu/timer.h" > > #include "hw/timer/i8254.h" > > #include "hw/timer/i8254_internal.h" > > -#include "migration/qemu-file-types.h" > > #include "migration/vmstate.h" > > /* val must be 0 or 1 */ > > @@ -202,43 +201,6 @@ static const VMStateDescription vmstate_pit_channe= l =3D { > > } > > }; > > -static int pit_load_old(QEMUFile *f, void *opaque, int version_id) > > -{ > > - PITCommonState *pit =3D opaque; > > - PITCommonClass *c =3D PIT_COMMON_GET_CLASS(pit); > > - PITChannelState *s; > > - int i; > > - > > - if (version_id !=3D 1) { > > - return -EINVAL; > > - } > > - > > - for (i =3D 0; i < 3; i++) { > > - s =3D &pit->channels[i]; > > - s->count =3D qemu_get_be32(f); > > - qemu_get_be16s(f, &s->latched_count); > > - qemu_get_8s(f, &s->count_latched); > > - qemu_get_8s(f, &s->status_latched); > > - qemu_get_8s(f, &s->status); > > - qemu_get_8s(f, &s->read_state); > > - qemu_get_8s(f, &s->write_state); > > - qemu_get_8s(f, &s->write_latch); > > - qemu_get_8s(f, &s->rw_mode); > > - qemu_get_8s(f, &s->mode); > > - qemu_get_8s(f, &s->bcd); > > - qemu_get_8s(f, &s->gate); > > - s->count_load_time =3D qemu_get_be64(f); > > - s->irq_disabled =3D 0; > > - if (i =3D=3D 0) { > > - s->next_transition_time =3D qemu_get_be64(f); > > - } > > - } > > - if (c->post_load) { > > - c->post_load(pit); > > - } > > - return 0; > > -} > > - > > static int pit_dispatch_pre_save(void *opaque) > > { > > PITCommonState *s =3D opaque; > > @@ -266,8 +228,6 @@ static const VMStateDescription vmstate_pit_common = =3D { > > .name =3D "i8254", > > .version_id =3D 3, > > .minimum_version_id =3D 2, > > - .minimum_version_id_old =3D 1, > > - .load_state_old =3D pit_load_old, Also 2009 pre 0.12 > > .pre_save =3D pit_dispatch_pre_save, > > .post_load =3D pit_dispatch_post_load, > > .fields =3D (VMStateField[]) { > >=20 -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK