xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V1 00/29] Allow Xen to boot with a raw Device Tree
@ 2013-08-28 14:47 Julien Grall
  2013-08-28 14:47 ` [PATCH V1 01/29] xen/char: dt-uart: Allow the user to give a path to the node Julien Grall
                   ` (29 more replies)
  0 siblings, 30 replies; 93+ messages in thread
From: Julien Grall @ 2013-08-28 14:47 UTC (permalink / raw)
  To: xen-devel
  Cc: patches, Julien Grall, ian.campbell, andre.przywara,
	stefano.stabellini

Hi,

This is the second version of this patch series. It allow Xen to boot with
a raw device tree, ie without any specific modification for Xen.

Few months ago, the patch series "Support multiple ARM platform in XEN", has
added a tree structure to handle easier the device tree. Each node can carry
metadata to specify if the node can be pass-through to Dom0. Therefore, this
patch series take advantage of the "new" Device Tree API and get a rid of
the FDT API that is currently used to build Dom0 dts and in some drivers.

Major changes since v1:
    - Add multiple commandlines patch from Andre and rebase it (mostly
      use the new helpers): http://patches.linaro.org/19356/
    - Remove and add fake node for cpus, gic and timer

All the changes can be found in each patch.

TODO list:
    - Add support for memreserve. This is needed for HDLCD framebuffer on the
    versatile express.

Cheers,

Andre Przywara (1):
  ARM: parse separate DT properties for different commandlines

Julien Grall (28):
  xen/char: dt-uart: Allow the user to give a path to the node
  xen: Introduce __initconst to store initial const data
  xen/dts: Don't check the number of address and size cells in
    process_cpu_node
  xen/dts: Constify device_tree_flattened
  xen/arm: Move __PSCI* from traps.c to the header
  xen: Add new string function
  xen: Use the right string comparison function in device tree
  xen/dts: Don't add a fake property "name" in the device tree
  xen/dts: Add new helpers to use the device tree
  xen/dts: Remove device_get_reg call in process_cpu_node
  xen/dts: Check "reg" property length in process_multiboot_node
  xen/dts: Check the CPU ID is not greater than NR_CPUS
  xen/video: hdlcd: Convert the driver to the new device tree API
  xen/video: hdlcd: Use early_printk instead of printk
  xen/arm: Use dt_device_match to avoid multiple if conditions
  xen/arm: Build DOM0 FDT by browsing the device tree structure
  xen/arm: Mark each device used by Xen as disabled in DOM0 FDT
  xen/arm: Don't map disabled device in DOM0
  xen/arm: Create a fake PSCI node in dom0 device tree
  xen/arm: Create a fake cpus node in dom0 device tree
  xen/arm: Create a fake GIC node in dom0 device tree
  xen/arm: Create a fake timer node in dom0 device tree
  xen/arm: Add new platform specific callback device_is_blacklist
  xen/arm: vexpress: Blacklist a list of board specific devices
  xen/arm: exynos5: Blacklist MCT device
  xen/dts: Clean up the exported API for device tree
  xen/dts: device_get_reg: cells are 32 bits big endian value
  xen/arm: Check if the device is available before using it

 docs/misc/arm/device-tree/booting.txt |   28 +-
 xen/arch/arm/device.c                 |    3 +
 xen/arch/arm/domain_build.c           |  582 ++++++++++++++++++++++++---------
 xen/arch/arm/platform.c               |   10 +
 xen/arch/arm/platforms/exynos5.c      |   11 +
 xen/arch/arm/platforms/vexpress.c     |   17 +
 xen/arch/arm/setup.c                  |    6 +-
 xen/arch/arm/time.c                   |   10 +-
 xen/arch/arm/traps.c                  |    5 -
 xen/common/device_tree.c              |  281 +++++++++-------
 xen/common/string.c                   |   15 +
 xen/drivers/char/dt-uart.c            |   16 +-
 xen/drivers/video/arm_hdlcd.c         |   69 ++--
 xen/include/asm-arm/platform.h        |    7 +
 xen/include/asm-arm/psci.h            |    5 +
 xen/include/xen/device_tree.h         |  172 ++++++++--
 xen/include/xen/init.h                |    1 +
 xen/include/xen/string.h              |    3 +
 18 files changed, 894 insertions(+), 347 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 93+ messages in thread
* Re: [PATCH V1 17/29] xen/arm: Mark each device used by Xen as disabled in DOM0 FDT
@ 2013-08-29  1:19 Bamvor Jian Zhang
  2013-08-29  8:34 ` Ian Campbell
  2013-08-29 12:20 ` Julien Grall
  0 siblings, 2 replies; 93+ messages in thread
From: Bamvor Jian Zhang @ 2013-08-29  1:19 UTC (permalink / raw)
  To: xen-devel
  Cc: patches, julien.grall, ian.campbell, andre.przywara,
	stefano.stabellini

Hi Julien

> On some board, there is no alias to the UART. To avoid modification in
> the device tree, dt-uart should also search device by path.
> 
> To distinguish an alias from a path, dt-uart will check the first character.
> If it's a / then it's path, otherwise it's an alias.
> 
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> Acked-by: Ian Cambell <ian.campbell@xxxxxxxxxx>
> ---
>  xen/drivers/char/dt-uart.c |   16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/drivers/char/dt-uart.c b/xen/drivers/char/dt-uart.c
> index 93bb0f5..d7204fb 100644
> --- a/xen/drivers/char/dt-uart.c
> +++ b/xen/drivers/char/dt-uart.c
> @@ -26,9 +26,10 @@
>  
>  /*
>   * Configure UART port with a string:
> - * alias,options
> + * path,options
>   *
> - * @alias: alias used in the device tree for the UART
> + * @path: full path used in the device tree for the UART. If the path
> + * doesn't start with '/', we assuming that it's an alias.
>   * @options: UART speficic options (see in each UART driver)
>   */
>  static char __initdata opt_dtuart[30] = "";
> @@ -38,7 +39,7 @@ void __init dt_uart_init(void)
>  {
>      struct dt_device_node *dev;
>      int ret;
> -    const char *devalias = opt_dtuart;
> +    const char *devpath = opt_dtuart;
>      char *options;
>  
>      if ( !console_has("dtuart") || !strcmp(opt_dtuart, "") )
> @@ -53,12 +54,15 @@ void __init dt_uart_init(void)
>      else
>          options = "";
>  
> -    early_printk("Looking for UART console %s\n", devalias);
> -    dev = dt_find_node_by_alias(devalias);
> +    early_printk("Looking for UART console %s\n", devpath);
> +    if ( *devpath == '/' )
> +        dev = dt_find_node_by_path(devpath);
> +    else
> +        dev = dt_find_node_by_alias(devpath);
if '/' start an alias, it should be
+    if ( *devpath == '/' )
+        dev = dt_find_node_by_alias(devpath);
+    else
+        dev = dt_find_node_by_path(devpath);




bamvor
>  
>      if ( !dev )
>      {
> -        early_printk("Unable to find device \"%s\"\n", devalias);
> +        early_printk("Unable to find device \"%s\"\n", devpath);
>          return;
>      }
>  
> -- 
> 1.7.10.4

^ permalink raw reply	[flat|nested] 93+ messages in thread

end of thread, other threads:[~2013-09-10 13:02 UTC | newest]

Thread overview: 93+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-28 14:47 [PATCH V1 00/29] Allow Xen to boot with a raw Device Tree Julien Grall
2013-08-28 14:47 ` [PATCH V1 01/29] xen/char: dt-uart: Allow the user to give a path to the node Julien Grall
2013-09-06 13:08   ` Ian Campbell
2013-09-06 13:34     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 02/29] xen: Introduce __initconst to store initial const data Julien Grall
2013-09-10 10:50   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 03/29] xen/dts: Don't check the number of address and size cells in process_cpu_node Julien Grall
2013-09-06 16:24   ` Ian Campbell
2013-09-10 10:52     ` Ian Campbell
2013-09-10 10:54       ` Julien Grall
2013-09-10 11:03         ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 04/29] xen/dts: Constify device_tree_flattened Julien Grall
2013-09-10 10:44   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 05/29] xen/arm: Move __PSCI* from traps.c to the header Julien Grall
2013-08-28 14:47 ` [PATCH V1 06/29] xen: Add new string function Julien Grall
2013-09-06 16:26   ` Ian Campbell
2013-09-09  9:23     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 07/29] xen: Use the right string comparison function in device tree Julien Grall
2013-09-10 10:35   ` Ian Campbell
2013-09-10 12:51     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 08/29] xen/dts: Don't add a fake property "name" in the " Julien Grall
2013-09-06 16:28   ` Ian Campbell
2013-09-09  9:30     ` Julien Grall
2013-09-09  9:40       ` Ian Campbell
2013-09-09  9:59         ` Julien Grall
2013-09-09 10:03           ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 09/29] xen/dts: Add new helpers to use " Julien Grall
2013-09-06 16:31   ` Ian Campbell
2013-09-09  9:38     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 10/29] xen/dts: Remove device_get_reg call in process_cpu_node Julien Grall
2013-09-06 16:36   ` Ian Campbell
2013-09-09  9:43     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 11/29] xen/dts: Check "reg" property length in process_multiboot_node Julien Grall
2013-09-06 16:40   ` Ian Campbell
2013-09-09 11:11     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 12/29] xen/dts: Check the CPU ID is not greater than NR_CPUS Julien Grall
2013-08-28 14:47 ` [PATCH V1 13/29] xen/video: hdlcd: Convert the driver to the new device tree API Julien Grall
2013-09-06 16:44   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 14/29] xen/video: hdlcd: Use early_printk instead of printk Julien Grall
2013-09-06 16:48   ` Ian Campbell
2013-09-09 11:21     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 15/29] xen/arm: Use dt_device_match to avoid multiple if conditions Julien Grall
2013-09-06 16:50   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 16/29] xen/arm: Build DOM0 FDT by browsing the device tree structure Julien Grall
2013-09-09 11:33   ` Ian Campbell
2013-09-09 12:26     ` Julien Grall
2013-09-09 12:39       ` Ian Campbell
2013-09-09 21:53         ` Julien Grall
2013-09-10  8:58           ` Ian Campbell
2013-09-10 10:39             ` Julien Grall
2013-09-10 10:47               ` Ian Campbell
2013-09-10 10:51                 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 17/29] xen/arm: Mark each device used by Xen as disabled in DOM0 FDT Julien Grall
2013-09-09 11:37   ` Ian Campbell
2013-09-09 21:53     ` Julien Grall
2013-09-10  9:01       ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 18/29] xen/arm: Don't map disabled device in DOM0 Julien Grall
2013-09-09 11:40   ` Ian Campbell
2013-09-09 21:59     ` Julien Grall
2013-09-10  9:03       ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 19/29] xen/arm: Create a fake PSCI node in dom0 device tree Julien Grall
2013-09-09 11:41   ` Ian Campbell
2013-09-09 22:04     ` Julien Grall
2013-09-10  9:04       ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 20/29] xen/arm: Create a fake cpus " Julien Grall
2013-09-09 11:44   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 21/29] xen/arm: Create a fake GIC " Julien Grall
2013-09-09 11:49   ` Ian Campbell
2013-09-10 10:49     ` Julien Grall
2013-09-10 13:02       ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 22/29] xen/arm: Create a fake timer " Julien Grall
2013-09-09 11:51   ` Ian Campbell
2013-09-10 10:56     ` Julien Grall
2013-09-10 13:02       ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 23/29] xen/arm: Add new platform specific callback device_is_blacklist Julien Grall
2013-09-09 11:52   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 24/29] xen/arm: vexpress: Blacklist a list of board specific devices Julien Grall
2013-09-09 11:54   ` Ian Campbell
2013-09-10 11:03     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 25/29] xen/arm: exynos5: Blacklist MCT device Julien Grall
2013-09-09 11:55   ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 26/29] xen/dts: Clean up the exported API for device tree Julien Grall
2013-08-28 14:47 ` [PATCH V1 27/29] xen/dts: device_get_reg: cells are 32 bits big endian value Julien Grall
2013-09-09 11:57   ` Ian Campbell
2013-09-10 11:08     ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 28/29] xen/arm: Check if the device is available before using it Julien Grall
2013-08-28 14:47 ` [PATCH V1 29/29] ARM: parse separate DT properties for different commandlines Julien Grall
2013-09-09 11:59   ` Ian Campbell
2013-09-09 14:06     ` Andre Przywara
2013-09-10 10:50 ` [PATCH V1 00/29] Allow Xen to boot with a raw Device Tree Ian Campbell
  -- strict thread matches above, loose matches on Subject: below --
2013-08-29  1:19 [PATCH V1 17/29] xen/arm: Mark each device used by Xen as disabled in DOM0 FDT Bamvor Jian Zhang
2013-08-29  8:34 ` Ian Campbell
2013-08-29 12:20 ` Julien Grall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).