On 06/14/2011 12:04 PM, Scott Wood wrote:
On Tue, 14 Jun 2011 14:17:01 -0400
Steve Best<sfb...@us.ibm.com>  wrote:

On Tue, 2011-06-14 at 12:30 -0500, Nathan Lynch wrote:
Hi Steve,

On Tue, 2011-06-14 at 12:58 -0400, Steve Best wrote:
+/*
+ * devmem_is_allowed() checks to see if /dev/mem access to a certain address
+ * is valid. The argument is a physical page number.
+ *
+ * On PowerPC, access has to be given to data regions used by X. We have to
+ * disallow access to device-exclusive MMIO regions and system RAM.
+ */
+int devmem_is_allowed(unsigned long pfn)
+{
+        if ((pfn>= 57360 || pfn<= 57392))
+                return 1;

That seems... fragile.  Where do these numbers come from, and are they
appropriate for all platforms and configurations?

This is the range I got from testing pseries blades and servers. maybe
there is a better way to get this range anyone know of a way?

Use iomem_is_exclusive(), as other architectures (e.g. x86, arm) do.

Anything else is both platform-specific, and inappropriate hardcoding of
policy.

x86 allows access to the first 256 pages. Are there other regions that we should allow in power besides the !iomem_is_exclusive() region ?


-Scott

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to