[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 7/7] xen/arm: Blacklist some sun7i UARTs



On 09/20/2013 05:18 PM, Ian Campbell wrote:
These are in the same page as the UART which is used as the Xen console. We are
not currently smart enough to avoid passing them through to the guest,
accidentally giving the guest access to the Xen console UART.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
v3: Use blacklist dev hook
---
  xen/arch/arm/platforms/sunxi.c |   14 ++++++++++++++
  1 file changed, 14 insertions(+)

diff --git a/xen/arch/arm/platforms/sunxi.c b/xen/arch/arm/platforms/sunxi.c
index ee0f39b..3a0ed68 100644
--- a/xen/arch/arm/platforms/sunxi.c
+++ b/xen/arch/arm/platforms/sunxi.c
@@ -28,8 +28,22 @@ static const char const *sunxi_dt_compat[] __initdata =
      NULL
  };

+static const struct dt_device_match sunxi_blacklist_dev[] __initconst =
+{
+    /*
+     * These UARTs share a page with the Xen console UART, so we don't
+     * want to map them through.
+     */
+    DT_MATCH_PATH("/soc@01c00000/serial@01c28000"),
+    DT_MATCH_PATH("/soc@01c00000/serial@01c28400"),
+    DT_MATCH_PATH("/soc@01c00000/serial@01c28800"),
+    DT_MATCH_PATH("/soc@01c00000/serial@01c28c00"),

Can we blacklist all the UARTs via a DT_MATCH_COMPATIBLE? It's better than relying on the path that can be changed easily in the device tree.

+    { /* sentinel */ },
+};
+
  PLATFORM_START(sunxi, "Allwinner A20")
      .compatible = sunxi_dt_compat,
+    .blacklist_dev = sunxi_blacklist_dev,
  PLATFORM_END

  /*



--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.