From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ross McIlroy Subject: [Patch] allocate_empty_lowmem_region in non-privileged domains Date: Tue, 2 Aug 2005 16:11:35 +0100 Message-ID: <7f4e21e3050802081163cf5fa3@mail.gmail.com> References: <260002866C8EBA4EA0AD853F467EC11E04ACDB@EX2.ad.dcs.gla.ac.uk> <200508021348.07818.mark.williamson@cl.cam.ac.uk> <7f4e21e305080206205dd0b3b5@mail.gmail.com> <200508021430.22795.mark.williamson@cl.cam.ac.uk> Reply-To: Ross McIlroy Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_5856_26183414.1122995495201" Return-path: In-Reply-To: <200508021430.22795.mark.williamson@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Mark Williamson Cc: cwc22@cam.ac.uk, xen-devel@lists.xensource.com, Ross C Mcilroy List-Id: xen-devel@lists.xenproject.org ------=_Part_5856_26183414.1122995495201 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Below is a patch to the enable allocate_empty_lowmem_region in on-privileged domains, so that backend drivers can map granted foreign pages even if they are running in an unprivileged domain. (as per the "allocate_empty_lowmem_region hypervisor function" thread discussion) Thanks Ross # HG changeset patch # User rcmcilro@localhost.localdomain # Node ID b235cde45efbb903d3e0e9626df6a90adde20577 # Parent 2f743309f21afdc6adaef01421da40f7ff1e8b0d Add allocate_empty_lowmem_region() for unprivileged domains diff -r 2f743309f21a -r b235cde45efb linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c --- a/linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c=09Tue Aug 2 12:37:37 2005 +++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c=09Tue Aug 2 13:58:30 2005 @@ -35,6 +35,7 @@ #include #include #include +#include #if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,6,0) #include #include @@ -312,7 +313,6 @@ balloon_unlock(flags); } =20 -#ifdef CONFIG_XEN_PHYSDEV_ACCESS =20 unsigned long allocate_empty_lowmem_region(unsigned long pages) { @@ -360,4 +360,4 @@ return vstart; } =20 -#endif /* CONFIG_XEN_PHYSDEV_ACCESS */ +EXPORT_SYMBOL(allocate_empty_lowmem_region); diff -r 2f743309f21a -r b235cde45efb linux-2.6-xen-sparse/include/asm-xen/hypervisor.h --- a/linux-2.6-xen-sparse/include/asm-xen/hypervisor.h=09Tue Aug 2 12:37:= 37 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/hypervisor.h=09Tue Aug 2 13:58:= 30 2005 @@ -136,10 +136,8 @@ =20 void xen_contig_memory(unsigned long vstart, unsigned int order); =20 -#ifdef CONFIG_XEN_PHYSDEV_ACCESS /* Allocate a contiguous empty region of low memory. Return virtual start.= */ unsigned long allocate_empty_lowmem_region(unsigned long pages); -#endif =20 #include ------=_Part_5856_26183414.1122995495201 Content-Type: text/x-patch; name="allocate_empty_lowmem_region.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="allocate_empty_lowmem_region.patch" IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHJjbWNpbHJvQGxvY2FsaG9zdC5sb2NhbGRvbWFp bgojIE5vZGUgSUQgYjIzNWNkZTQ1ZWZiYjkwM2QzZTBlOTYyNmRmNmE5MGFkZGUyMDU3NwojIFBh cmVudCAgMmY3NDMzMDlmMjFhZmRjNmFkYWVmMDE0MjFkYTQwZjdmZjFlOGIwZApBZGQgYWxsb2Nh dGVfZW1wdHlfbG93bWVtX3JlZ2lvbigpIGZvciB1bnByaXZpbGVnZWQgZG9tYWlucwoKZGlmZiAt ciAyZjc0MzMwOWYyMWEgLXIgYjIzNWNkZTQ1ZWZiIGxpbnV4LTIuNi14ZW4tc3BhcnNlL2FyY2gv eGVuL2kzODYvbW0vaHlwZXJ2aXNvci5jCi0tLSBhL2xpbnV4LTIuNi14ZW4tc3BhcnNlL2FyY2gv eGVuL2kzODYvbW0vaHlwZXJ2aXNvci5jCVR1ZSBBdWcgIDIgMTI6Mzc6MzcgMjAwNQorKysgYi9s aW51eC0yLjYteGVuLXNwYXJzZS9hcmNoL3hlbi9pMzg2L21tL2h5cGVydmlzb3IuYwlUdWUgQXVn ICAyIDEzOjU4OjMwIDIwMDUKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxhc20vcGd0YWJs ZS5oPgogI2luY2x1ZGUgPGFzbS14ZW4vaHlwZXJ2aXNvci5oPgogI2luY2x1ZGUgPGFzbS14ZW4v YmFsbG9vbi5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2lmIExJTlVYX1ZFUlNJT05f Q09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMCkKICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4K ICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KQEAgLTMxMiw3ICszMTMsNiBAQAogICAgIGJhbGxv b25fdW5sb2NrKGZsYWdzKTsKIH0KIAotI2lmZGVmIENPTkZJR19YRU5fUEhZU0RFVl9BQ0NFU1MK IAogdW5zaWduZWQgbG9uZyBhbGxvY2F0ZV9lbXB0eV9sb3dtZW1fcmVnaW9uKHVuc2lnbmVkIGxv bmcgcGFnZXMpCiB7CkBAIC0zNjAsNCArMzYwLDQgQEAKICAgICByZXR1cm4gdnN0YXJ0OwogfQog Ci0jZW5kaWYgLyogQ09ORklHX1hFTl9QSFlTREVWX0FDQ0VTUyAqLworRVhQT1JUX1NZTUJPTChh bGxvY2F0ZV9lbXB0eV9sb3dtZW1fcmVnaW9uKTsKZGlmZiAtciAyZjc0MzMwOWYyMWEgLXIgYjIz NWNkZTQ1ZWZiIGxpbnV4LTIuNi14ZW4tc3BhcnNlL2luY2x1ZGUvYXNtLXhlbi9oeXBlcnZpc29y LmgKLS0tIGEvbGludXgtMi42LXhlbi1zcGFyc2UvaW5jbHVkZS9hc20teGVuL2h5cGVydmlzb3Iu aAlUdWUgQXVnICAyIDEyOjM3OjM3IDIwMDUKKysrIGIvbGludXgtMi42LXhlbi1zcGFyc2UvaW5j bHVkZS9hc20teGVuL2h5cGVydmlzb3IuaAlUdWUgQXVnICAyIDEzOjU4OjMwIDIwMDUKQEAgLTEz NiwxMCArMTM2LDggQEAKIAogdm9pZCB4ZW5fY29udGlnX21lbW9yeSh1bnNpZ25lZCBsb25nIHZz dGFydCwgdW5zaWduZWQgaW50IG9yZGVyKTsKIAotI2lmZGVmIENPTkZJR19YRU5fUEhZU0RFVl9B Q0NFU1MKIC8qIEFsbG9jYXRlIGEgY29udGlndW91cyBlbXB0eSByZWdpb24gb2YgbG93IG1lbW9y eS4gUmV0dXJuIHZpcnR1YWwgc3RhcnQuICovCiB1bnNpZ25lZCBsb25nIGFsbG9jYXRlX2VtcHR5 X2xvd21lbV9yZWdpb24odW5zaWduZWQgbG9uZyBwYWdlcyk7Ci0jZW5kaWYKIAogI2luY2x1ZGUg PGFzbS9oeXBlcmNhbGwuaD4KIAo= ------=_Part_5856_26183414.1122995495201 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ------=_Part_5856_26183414.1122995495201--