From owner-freebsd-current@freebsd.org Mon Apr 4 18:42:16 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A75FFB03106 for ; Mon, 4 Apr 2016 18:42:16 +0000 (UTC) (envelope-from johannes@brilliantservice.co.jp) Received: from mail-vk0-x234.google.com (mail-vk0-x234.google.com [IPv6:2607:f8b0:400c:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6C5881B24 for ; Mon, 4 Apr 2016 18:42:16 +0000 (UTC) (envelope-from johannes@brilliantservice.co.jp) Received: by mail-vk0-x234.google.com with SMTP id c4so66435591vkb.3 for ; Mon, 04 Apr 2016 11:42:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brilliantservice-co-jp.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=QlmRvRmOHt9x7cXFZ0oHqrlTCxKFrzMU6yyi/l6UAfg=; b=Pw9akhwCVJeyfUVWkbZHwBmqGEuV7Os5huSoU5LKEed4MwYJYDdbQktGVda28jhtEf K/z0K6kxs8mE9OsL08QiGO79HPyaXTIjVonxZypz87puZQ8D63zRzfGuVe3aOWaNF+XW Ug6AyEVpn/JhHuXVODv9VwJ9cN5MR+E+CBx98FuOdyPBq/OLZguaJ5QWbCLv7paOfcnX tK8mTf9aRco5yhIYhX9+oQuh2Ue504Uj4lQrIeGfoLwQ7C+cE73YNyxfZFLVSni4jXRR Vp5dI2WOV0rTdlDmhCeis0b22unI3XxO425hs19ji7cI5eCq2NUa1veAaDFjc4PKG3Cq boxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=QlmRvRmOHt9x7cXFZ0oHqrlTCxKFrzMU6yyi/l6UAfg=; b=PhhgPhTYsZWILAgCYGx7sWbjNm5ljeYf4GCDxB8mluLq6v0VnYku+50meuys4iXwXq ELZax9Uc64MJIm7rccKmdJiF1M2D9dnXQDaNmfqiK4/LO9Gp1DCIYQwYqnA9/s9VmfQ0 Z6W1favF43hPaqEBo2rl9Qr4kOpFCTlAYgTldpcLQAlXXyalCw/jJPz5zBdvNBZTZPfX 8RknTsA8BAauwYB9MElbiGLBxy5ZKukW8BCnLKxUAyh/hBys1Hq81j9qYhoBLEmmd/Ad sdWSCzkjWOFAUoo3WnCVOxA3XNnSerHbWjvcbC5+SXL2zZQNuVkbgrngT75XdShfY6SC N5Sw== X-Gm-Message-State: AD7BkJIYtIutn9RCOXelfWD/bwDC0RINTmoYclxiKS/EzecSrSfNXpld6IEXMcTj/NMfiaELUctIIhcnDFrbDI3ko+XA25yJOAB4ddQv43th1MdQe2LLjuRhTsoMKbZZHrWo6FTH2ODrITNvD0SNYZ/zXKA= X-Received: by 10.176.6.2 with SMTP id f2mr7034429uaf.94.1459795335261; Mon, 04 Apr 2016 11:42:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.159.36.136 with HTTP; Mon, 4 Apr 2016 11:42:00 -0700 (PDT) From: "Lundberg, Johannes" Date: Mon, 4 Apr 2016 11:42:00 -0700 Message-ID: Subject: EGL driver for vt? To: "freebsd-x11@freebsd.org" , FreeBSD Current Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Apr 2016 18:42:16 -0000 SGkNCg0KV291bGQgYW55b25lIGJlIGludGVyZXN0ZWQgaW4gYW4gTWVzYS9FR0wgZHJpdmVyIGZv ciB2dD8NCg0KSWYgd2UgaGFkIHRoaXMgd2UgY291bGQgcnVuIHdheWxhbmQvZWdsLWJhc2VkIGNv bXBvc2l0b3JzIHdpdGggbGx2bXBpcGUgb24NCnBsYXRmb3JtcyB3aXRob3V0IEdQVSBzdXBwb3J0 IHNpbWlsYXIgdG8gWCtzY2ZiIGRyaXZlci4gKGlmIG15DQp1bmRlcnN0YW5kaW5nIG9mIHRoZSBn cmFwaGljcyBzdGFjayBpZiBjb3JyZWN0Li4pDQoNCklmIHNpbWlsYXIgdG8gdGhlIChub3cgZGVw cmVjYXRlZCkgTGludXggZnJhbWVidWZmZXIgZHJpdmVyIGluIE1lc2EgSSBndWVzcw0KaXQgd291 bGQgbm90IGJlIHRoYXQgbXVjaCB3b3JrIHRoYXQgaGFzIHRvIGJlIGRvbmUuIG1lc2EvbGx2bXBp cGUgd291bGQgZG8NCmFsbCB0aGUgaGVhdnkgbGlmdGluZywgY29ycmVjdD8NCg0KVGhpcyB3b3Vs ZCBlbmFibGUgYSB3aG9sZSBsb3Qgb2YgbmV3IGV4Y2l0aW5nIHBvc3NpYmlsaXRpZXMgYW5kIHNv bHZlIHRoZQ0KcHJvYmxlbSB3aXRoIGxhY2sgb2YgR1BVIGRyaXZlcnMuLg0KDQpXaGF0IGRvIHlv dSB0aGluaz8NCgotLSAKPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tCuenmOWvhuS/neaMgeOBq+OBpOOBhOOBpu+8muOBk+OBrumbu+WtkOODoeOD vOODq+OBr+OAgeWQjeWum+S6uuOBq+mAgeS/oeOBl+OBn+OCguOBruOBp+OBguOCiuOAgeenmOWM v+eJueaoqeOBruWvvuixoeOBqOOBquOCi+aDheWgseOCkuWQq+OCk+OBp+OBhOOBvuOBmeOAggrj goLjgZfjgIHlkI3lrpvkurrku6XlpJbjga7mlrnjgYzlj5fkv6HjgZXjgozjgZ/loLTlkIjjgIHj gZPjga7jg6Hjg7zjg6vjga7noLTmo4TjgIHjgYrjgojjgbPjgZPjga7jg6Hjg7zjg6vjgavplqLj gZnjgovkuIDliIfjga7plovnpLrjgIEK6KSH5YaZ44CB6YWN5biD44CB44Gd44Gu5LuW44Gu5Yip 55So44CB44G+44Gf44Gv6KiY6LyJ5YaF5a6544Gr5Z+644Gl44GP44GE44GL44Gq44KL6KGM5YuV 44KC44GV44KM44Gq44GE44KI44GG44GK6aGY44GE55Sz44GX5LiK44GS44G+44GZ44CCCi0tLQpD T05GSURFTlRJQUxJVFkgTk9URTogVGhlIGluZm9ybWF0aW9uIGluIHRoaXMgZW1haWwgaXMgY29u ZmlkZW50aWFsCmFuZCBpbnRlbmRlZCBzb2xlbHkgZm9yIHRoZSBhZGRyZXNzZWUuCkRpc2Nsb3N1 cmUsIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBvciBhbnkgb3RoZXIgYWN0aW9uIG9mIHVzZSBvZiB0 aGlzCmVtYWlsIGJ5IHBlcnNvbiBvdGhlciB0aGFuIGludGVuZGVkIHJlY2lwaWVudCwgaXMgcHJv aGliaXRlZC4KSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCBhbmQgaGF2ZSBy ZWNlaXZlZCB0aGlzIGVtYWlsIGluCmVycm9yLCBwbGVhc2UgZGVzdHJveSB0aGUgb3JpZ2luYWwg bWVzc2FnZS4K From owner-freebsd-current@freebsd.org Mon Apr 4 22:53:41 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E6453B037AA for ; Mon, 4 Apr 2016 22:53:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C7851143B for ; Mon, 4 Apr 2016 22:53:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 8BE74B95D; Mon, 4 Apr 2016 18:53:40 -0400 (EDT) From: John Baldwin To: freebsd-current@freebsd.org Cc: Konstantin Belousov , Ryan Stone Subject: Re: accessing a PCIe register from userspace through kmem or other ways ? Date: Mon, 04 Apr 2016 15:45:07 -0700 Message-ID: <9376230.YZMFsgSvTf@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: <20160401170458.GV1741@kib.kiev.ua> References: <20160401170458.GV1741@kib.kiev.ua> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 04 Apr 2016 18:53:40 -0400 (EDT) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Apr 2016 22:53:42 -0000 On Friday, April 01, 2016 08:04:58 PM Konstantin Belousov wrote: > On Fri, Apr 01, 2016 at 12:48:24PM -0400, Ryan Stone wrote: > > That is actually a really good question. I know that with some recent > > BIOSes if I enabled allocating 64-bit addresses to BARs, the BAR would > > actually be mapped outside of the range of /dev/mem. From a quick glance > > at libpciaccess, I don't think that it handles this case. A specific > > mechanism for allowing mmaping of BARs would be useful, I think. > > I am not sure what do you mean by 'outside of the range of /dev/mem'. > IMO /dev/mem (not kmem) handles every possible physical address both > for mmap(2) and for read(2)/write(2). For io interface there were > some bugs, but they are believed to be fixed. I mean amd64. I suspect Ryan might be referring to BARs outside of the DMAP which we only populate to Maxmem IIRC. /dev/mem should work for those. However, another question is how to deal with systems that do bus address translation (like the arm64 ThunderX boxes) where the values in the PCI BAR are not CPU physical addresses. To do this properly we may need some sort of bus method akin to my bus_map_resource() WIP but one that instead returns a suitable 'struct sglist' for a given 'struct resource *' that can be used with OBJT_SG to build a VM object to use for the mapping. (At some point I do think I would like a variant of OBJT_SG that used managed pages so that mappings could be revoked when whatever is backing the sglist is disabled (e.g. the device is ejected or the BAR is relocated, etc.).) -- John Baldwin