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.2 required=3.0 tests=FROM_EXCESS_BASE64, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 8185AC43613 for ; Fri, 21 Jun 2019 11:10:56 +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 60CAA21530 for ; Fri, 21 Jun 2019 11:10:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 60CAA21530 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 1heHRJ-0008Cr-Si; Fri, 21 Jun 2019 11:10:41 +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 1heHRI-0008Cm-Ex for xen-devel@lists.xenproject.org; Fri, 21 Jun 2019 11:10:40 +0000 X-Inumbo-ID: 333356ea-9415-11e9-b2b0-77c77dde02c8 Received: from mx1.redhat.com (unknown [209.132.183.28]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 333356ea-9415-11e9-b2b0-77c77dde02c8; Fri, 21 Jun 2019 11:10:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 86BF33082137; Fri, 21 Jun 2019 11:10:37 +0000 (UTC) Received: from redhat.com (ovpn-112-66.ams2.redhat.com [10.36.112.66]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ACDE661101; Fri, 21 Jun 2019 11:10:35 +0000 (UTC) Date: Fri, 21 Jun 2019 12:10:32 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: Anthony PERARD Message-ID: <20190621111032.GJ11706@redhat.com> References: <20190621105441.3025-1-anthony.perard@citrix.com> <20190621105441.3025-3-anthony.perard@citrix.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190621105441.3025-3-anthony.perard@citrix.com> User-Agent: Mutt/1.11.4 (2019-03-13) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Fri, 21 Jun 2019 11:10:37 +0000 (UTC) Subject: Re: [Xen-devel] [PATCH v3 2/2] xen: Import other xen/io/*.h 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: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Cc: xen-devel@lists.xenproject.org, Stefano Stabellini , qemu-devel@nongnu.org, Paul Durrant Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gRnJpLCBKdW4gMjEsIDIwMTkgYXQgMTE6NTQ6NDFBTSArMDEwMCwgQW50aG9ueSBQRVJBUkQg d3JvdGU6Cj4gQSBYZW4gcHVibGljIGhlYWRlciBoYXZlIGJlZW4gaW1wb3J0ZWQgaW50byBRRU1V IChieQo+IGY2NWVhZGI2MzkgInhlbjogaW1wb3J0IHJpbmcuaCBmcm9tIHhlbiIpLCBidXQgdGhl cmUgYXJlIG90aGVyIGhlYWRlcgo+IHRoYXQgZGVwZW5kcyBvbiByaW5nLmggd2hpY2ggY29tZSBm cm9tIHRoZSBzeXN0ZW0gd2hlbiBidWlsZGluZyBRRU1VLgo+IAo+IFRoaXMgcGF0Y2ggcmVzb2x2 ZXMgdGhlIGlzc3VlIG9mIGhhdmluZyBoZWFkZXJzIGZyb20gdGhlIHN5c3RlbQo+IGltcG9ydGlu ZyBhIGRpZmZlcmVudCBjb3BpZSBvZiByaW5nLmguCj4gCj4gVGhpcyBwYXRjaCBpcyBwcm9tcHQg YnkgdGhlIGJ1aWxkIGlzc3VlIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMKPiBwYXRjaDogJ1Jl dmVydCB4ZW4vaW8vcmluZy5oIG9mICJDbGVhbiB1cCBhIGZldyBoZWFkZXIgZ3VhcmQgc3ltYm9s cyInCj4gCj4gcmluZy5oIGFuZCB0aGUgbmV3IGltcG9ydGVkIGhlYWRlcnMgYXJlIG1vdmVkIHRv Cj4gImluY2x1ZGUvaHcveGVuL2ludGVyZmFjZSIgYXMgdGhvc2UgZGVzY3JpYmUgaW50ZXJmYWNl cyB3aXRoIGEgZ3Vlc3QuCj4gCj4gVGhlIGltcG9ydGVkIGhlYWRlcnMgYXJlIGNsZWFuZWQgdXAg YSBiaXQgd2hpbGUgaW1wb3J0aW5nIHRoZW06IHNvbWUKPiBwYXJ0IG9mIHRoZSBmaWxlIHRoYXQg UUVNVSBkb2Vzbid0IHVzZSBhcmUgcmVtb3ZlZCAoZGVzY3JpcHRpb24KPiBvZiBob3cgdG8gbWFr ZSBoeXBlcmNhbGwgaW4gZ3JhbnRfdGFibGUuaCBoYXZlIGJlZW4gcmVtb3ZlZCkuCj4gCj4gT3Ro ZXIgY2xlYW51cDoKPiAtIHhlbi1tYXBjYWNoZS5jIGFuZCB4ZW4tbGVnYWN5LWJhY2tlbmQuYyBk b24ndCBuZWVkIGdyYW50X3RhYmxlLmguCj4gLSB4ZW5mYi5jIGRvZXNuJ3QgbmVlZCBldmVudF9j aGFubmVsLmguCgpQZXJzb25hbGx5IEkgd291bGQgaGF2ZSBqdXN0IGtlcHQgdGhlIGhlYWRlcnMg ImFzIGlzIiBhbmQgbm90CmNoYW5nZWQgYW55dGhpbmcuIEFzIGxvbmcgYXMgdGhlIHVudXNlZCBw aWVjZXMgZG9uJ3QgYWN0aXZlbHkKY2F1c2UgcHJvYmxlbXMgZm9yIHRoZSBRRU1VIGJ1aWxkLCBy ZW1vdmluZyB0aGVtIGp1c3QgbWFrZXMKbGlmZSBtb3JlIGNvbXBsZXggaWYgeW91IHBlcmlvZGlj YWxseSByZWZyZXNoIHRoZSBoZWFkZXJzIHdpdGgKbmV3IGNvcGllcyBmcm9tIGZ1dHVyZSBYZW4g cmVsZWFzZXMuCgpOb3QgYSBzaG93IHN0b3BwZXIgdGhvdWdoIC0geW91ciBjaG9pY2UgYXMgbWFp bnRhaW5lciwgc28KClJldmlld2VkLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUBy ZWRoYXQuY29tPgoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5w ZXJhcmRAY2l0cml4LmNvbT4KPiAtLS0KPiAKPiBOb3RlczoKPiAgICAgdjM6Cj4gICAgIC0ga2Vl cCBvcmlnaW5hbCBoZWFkZXIgZ3VhcmQKPiAgICAgLSBzcXVhc2hlZCBvZiAieGVuOiBGaXggYnVp bGQgd2l0aCBwdWJsaWMgaGVhZGVycyIgYW5kICJ4ZW46IEltcG9ydAo+ICAgICAgIG90aGVyIHhl bi9pby8qLmgiIGFzIHRoaXMgcGF0Y2ggaXNuJ3QgdGhlIG9uZSB0aGF0IGZpeCB0aGUgYnVpbGQg aXNzdWUKPiAgICAgICBhbnltb3JlLgoKPiAKPiAgaHcvOXBmcy94ZW4tOXBmcy5oICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDQgKy0KPiAgaHcvYmxvY2sveGVuX2Jsa2lmLmggICAgICAgICAg ICAgICAgICAgICB8ICAgIDUgKy0KPiAgaHcvY2hhci94ZW5fY29uc29sZS5jICAgICAgICAgICAg ICAgICAgICB8ICAgIDIgKy0KPiAgaHcvZGlzcGxheS94ZW5mYi5jICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDcgKy0KPiAgaHcvbmV0L3hlbl9uaWMuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgIDIgKy0KPiAgaHcvdXNiL3hlbi11c2IuYyAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgIDMgKy0KPiAgaHcveGVuL3hlbi1sZWdhY3ktYmFja2VuZC5jICAgICAgICAgICAgICB8ICAg IDIgLQo+ICBpbmNsdWRlL2h3L3hlbi9pbnRlcmZhY2UvZ3JhbnRfdGFibGUuaCAgIHwgICAzNiAr Cj4gIGluY2x1ZGUvaHcveGVuL2ludGVyZmFjZS9pby9ibGtpZi5oICAgICAgfCAgNzEyICsrKysr KysrKysrKysrKwo+ICBpbmNsdWRlL2h3L3hlbi9pbnRlcmZhY2UvaW8vY29uc29sZS5oICAgIHwg ICA0NiArCj4gIGluY2x1ZGUvaHcveGVuL2ludGVyZmFjZS9pby9mYmlmLmggICAgICAgfCAgMTU2 ICsrKysKPiAgaW5jbHVkZS9ody94ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmggICAgICB8ICA1NjYg KysrKysrKysrKysrCj4gIGluY2x1ZGUvaHcveGVuL2ludGVyZmFjZS9pby9uZXRpZi5oICAgICAg fCAxMDEwICsrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9ody94ZW4vaW50ZXJmYWNl L2lvL3Byb3RvY29scy5oICB8ICAgNDIgKwo+ICBpbmNsdWRlL2h3L3hlbi97ID0+IGludGVyZmFj ZX0vaW8vcmluZy5oIHwgICAgMAo+ICBpbmNsdWRlL2h3L3hlbi9pbnRlcmZhY2UvaW8vdXNiaWYu aCAgICAgIHwgIDI1NCArKysrKysKPiAgaW5jbHVkZS9ody94ZW4vaW50ZXJmYWNlL2lvL3hlbmJ1 cy5oICAgICB8ICAgNzAgKysKPiAgaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oICAgICAgICAg ICAgICB8ICAgIDIgKy0KPiAgMTggZmlsZXMgY2hhbmdlZCwgMjkwMyBpbnNlcnRpb25zKCspLCAx NiBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvaHcveGVuL2ludGVy ZmFjZS9ncmFudF90YWJsZS5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2h3L3hlbi9p bnRlcmZhY2UvaW8vYmxraWYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody94ZW4v aW50ZXJmYWNlL2lvL2NvbnNvbGUuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody94 ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody94 ZW4vaW50ZXJmYWNlL2lvL2tiZGlmLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvaHcv eGVuL2ludGVyZmFjZS9pby9uZXRpZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2h3 L3hlbi9pbnRlcmZhY2UvaW8vcHJvdG9jb2xzLmgKPiAgcmVuYW1lIGluY2x1ZGUvaHcveGVuL3sg PT4gaW50ZXJmYWNlfS9pby9yaW5nLmggKDEwMCUpCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNs dWRlL2h3L3hlbi9pbnRlcmZhY2UvaW8vdXNiaWYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5j bHVkZS9ody94ZW4vaW50ZXJmYWNlL2lvL3hlbmJ1cy5oCgoKCgpSZWdhcmRzLApEYW5pZWwKLS0g Cnw6IGh0dHBzOi8vYmVycmFuZ2UuY29tICAgICAgLW8tICAgIGh0dHBzOi8vd3d3LmZsaWNrci5j b20vcGhvdG9zL2RiZXJyYW5nZSA6fAp8OiBodHRwczovL2xpYnZpcnQub3JnICAgICAgICAgLW8t ICAgICAgICAgICAgaHR0cHM6Ly9mc3RvcDEzOC5iZXJyYW5nZS5jb20gOnwKfDogaHR0cHM6Ly9l bnRhbmdsZS1waG90by5vcmcgICAgLW8tICAgIGh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vZGJl cnJhbmdlIDp8CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs 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.2 required=3.0 tests=FROM_EXCESS_BASE64, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 7CE1FC43613 for ; Fri, 21 Jun 2019 11:23:43 +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 5A0012084E for ; Fri, 21 Jun 2019 11:23:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A0012084E 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]:59620 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1heHdu-0005Im-Kl for qemu-devel@archiver.kernel.org; Fri, 21 Jun 2019 07:23:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44021) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1heHRJ-0003Q1-Gs for qemu-devel@nongnu.org; Fri, 21 Jun 2019 07:10:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1heHRG-0000el-E4 for qemu-devel@nongnu.org; Fri, 21 Jun 2019 07:10:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49594) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1heHRG-0000eG-7W for qemu-devel@nongnu.org; Fri, 21 Jun 2019 07:10:38 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 86BF33082137; Fri, 21 Jun 2019 11:10:37 +0000 (UTC) Received: from redhat.com (ovpn-112-66.ams2.redhat.com [10.36.112.66]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ACDE661101; Fri, 21 Jun 2019 11:10:35 +0000 (UTC) Date: Fri, 21 Jun 2019 12:10:32 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: Anthony PERARD Message-ID: <20190621111032.GJ11706@redhat.com> References: <20190621105441.3025-1-anthony.perard@citrix.com> <20190621105441.3025-3-anthony.perard@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190621105441.3025-3-anthony.perard@citrix.com> User-Agent: Mutt/1.11.4 (2019-03-13) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Fri, 21 Jun 2019 11:10:37 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: Re: [Qemu-devel] [PATCH v3 2/2] xen: Import other xen/io/*.h 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: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Cc: xen-devel@lists.xenproject.org, Stefano Stabellini , qemu-devel@nongnu.org, Paul Durrant Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Fri, Jun 21, 2019 at 11:54:41AM +0100, Anthony PERARD wrote: > A Xen public header have been imported into QEMU (by > f65eadb639 "xen: import ring.h from xen"), but there are other header > that depends on ring.h which come from the system when building QEMU. >=20 > This patch resolves the issue of having headers from the system > importing a different copie of ring.h. >=20 > This patch is prompt by the build issue described in the previous > patch: 'Revert xen/io/ring.h of "Clean up a few header guard symbols"' >=20 > ring.h and the new imported headers are moved to > "include/hw/xen/interface" as those describe interfaces with a guest. >=20 > The imported headers are cleaned up a bit while importing them: some > part of the file that QEMU doesn't use are removed (description > of how to make hypercall in grant_table.h have been removed). >=20 > Other cleanup: > - xen-mapcache.c and xen-legacy-backend.c don't need grant_table.h. > - xenfb.c doesn't need event_channel.h. Personally I would have just kept the headers "as is" and not changed anything. As long as the unused pieces don't actively cause problems for the QEMU build, removing them just makes life more complex if you periodically refresh the headers with new copies from future Xen releases. Not a show stopper though - your choice as maintainer, so Reviewed-by: Daniel P. Berrang=C3=A9 >=20 > Signed-off-by: Anthony PERARD > --- >=20 > Notes: > v3: > - keep original header guard > - squashed of "xen: Fix build with public headers" and "xen: Import > other xen/io/*.h" as this patch isn't the one that fix the build = issue > anymore. >=20 > hw/9pfs/xen-9pfs.h | 4 +- > hw/block/xen_blkif.h | 5 +- > hw/char/xen_console.c | 2 +- > hw/display/xenfb.c | 7 +- > hw/net/xen_nic.c | 2 +- > hw/usb/xen-usb.c | 3 +- > hw/xen/xen-legacy-backend.c | 2 - > include/hw/xen/interface/grant_table.h | 36 + > include/hw/xen/interface/io/blkif.h | 712 +++++++++++++++ > include/hw/xen/interface/io/console.h | 46 + > include/hw/xen/interface/io/fbif.h | 156 ++++ > include/hw/xen/interface/io/kbdif.h | 566 ++++++++++++ > include/hw/xen/interface/io/netif.h | 1010 ++++++++++++++++++++++ > include/hw/xen/interface/io/protocols.h | 42 + > include/hw/xen/{ =3D> interface}/io/ring.h | 0 > include/hw/xen/interface/io/usbif.h | 254 ++++++ > include/hw/xen/interface/io/xenbus.h | 70 ++ > include/hw/xen/xen_common.h | 2 +- > 18 files changed, 2903 insertions(+), 16 deletions(-) > create mode 100644 include/hw/xen/interface/grant_table.h > create mode 100644 include/hw/xen/interface/io/blkif.h > create mode 100644 include/hw/xen/interface/io/console.h > create mode 100644 include/hw/xen/interface/io/fbif.h > create mode 100644 include/hw/xen/interface/io/kbdif.h > create mode 100644 include/hw/xen/interface/io/netif.h > create mode 100644 include/hw/xen/interface/io/protocols.h > rename include/hw/xen/{ =3D> interface}/io/ring.h (100%) > create mode 100644 include/hw/xen/interface/io/usbif.h > create mode 100644 include/hw/xen/interface/io/xenbus.h Regards, Daniel --=20 |: https://berrange.com -o- https://www.flickr.com/photos/dberran= ge :| |: https://libvirt.org -o- https://fstop138.berrange.c= om :| |: https://entangle-photo.org -o- https://www.instagram.com/dberran= ge :|