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

Hi,

This is the first patch series to 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.

There is few items that was not added in this series:
    * Set the correct number of CPUs for Dom0 by editing CPUs node
    * Remove and create the GIC node
    * Remove and create the timer node

I hope to add support for previous items in the next patch series.

At the beginning of the mail, I a bit lied about Xen is able to raw DTS :).
The latter, still need to carry Xen and Linux command line until U-Boot/Grub
will support multiboot2 protocol.
I have noticed that U-boot has some fdt commands to change on the fly the device
tree. I think we can use this solution as a workaround for the beginning.
I will send an email later to explain the procedure.

Cheers.

Julien Grall (24):
  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 functions
  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_memory_node
  xen/dts: Remove device_get_reg call in process_cpu_node
  xen/dts: Remove device_get_reg call 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/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: 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/arm: Check if the device is available before using it

 xen/arch/arm/device.c             |    3 +
 xen/arch/arm/domain_build.c       |  313 ++++++++++++++++++-------------------
 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               |   11 +-
 xen/arch/arm/traps.c              |    5 -
 xen/common/device_tree.c          |  273 ++++++++++++++++----------------
 xen/common/string.c               |   15 ++
 xen/drivers/char/dt-uart.c        |   16 +-
 xen/drivers/video/arm_hdlcd.c     |   58 ++++---
 xen/include/asm-arm/platform.h    |    7 +
 xen/include/asm-arm/psci.h        |    5 +
 xen/include/xen/device_tree.h     |  156 +++++++++++++++---
 xen/include/xen/init.h            |    1 +
 xen/include/xen/string.h          |   14 ++
 17 files changed, 565 insertions(+), 356 deletions(-)

-- 
1.7.10.4

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

end of thread, other threads:[~2013-08-22 15:32 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-16 21:05 [RFC 00/24] Allow Xen to boot with a raw Device Tree Julien Grall
2013-08-16 21:05 ` [RFC 01/24] xen/char: dt-uart: Allow the user to give a path to the node Julien Grall
2013-08-16 21:25   ` Andre Przywara
2013-08-19 15:09     ` Julien Grall
2013-08-22 12:23       ` Ian Campbell
2013-08-16 21:05 ` [RFC 02/24] xen: Introduce __initconst to store initial const data Julien Grall
2013-08-19  9:46   ` Jan Beulich
2013-08-19 14:56     ` Ian Campbell
2013-08-20  7:12       ` Jan Beulich
2013-08-20  8:31         ` Ian Campbell
2013-08-20  8:53           ` Jan Beulich
2013-08-20  8:59           ` Julien Grall
2013-08-22 13:07   ` Ian Campbell
2013-08-16 21:05 ` [RFC 03/24] xen/dts: Don't check the number of address and size cells in process_cpu_node Julien Grall
2013-08-19  0:59   ` Chen Baozi
2013-08-22 12:51   ` Ian Campbell
2013-08-22 13:14     ` Julien Grall
2013-08-22 14:05       ` Ian Campbell
2013-08-16 21:05 ` [RFC 04/24] xen/dts: Constify device_tree_flattened Julien Grall
2013-08-22 13:05   ` Ian Campbell
2013-08-22 13:35     ` Julien Grall
2013-08-22 14:07       ` Ian Campbell
2013-08-16 21:05 ` [RFC 05/24] xen/arm: Move __PSCI* from traps.c to the header Julien Grall
2013-08-22 13:05   ` Ian Campbell
2013-08-16 21:05 ` [RFC 06/24] xen: Add new string functions Julien Grall
2013-08-19  9:54   ` Jan Beulich
2013-08-19 14:57     ` Ian Campbell
2013-08-19 15:13       ` Julien Grall
2013-08-20  8:32         ` Jan Beulich
2013-08-16 21:05 ` [RFC 07/24] xen: Use the right string comparison function in device tree Julien Grall
2013-08-22 13:11   ` Ian Campbell
2013-08-22 13:23     ` Julien Grall
2013-08-16 21:05 ` [RFC 08/24] xen/dts: Don't add a fake property "name" in the " Julien Grall
2013-08-22 13:16   ` Ian Campbell
2013-08-22 13:43     ` Julien Grall
2013-08-22 14:08       ` Ian Campbell
2013-08-16 21:05 ` [RFC 09/24] xen/dts: Add new helpers to use " Julien Grall
2013-08-22 13:21   ` Ian Campbell
2013-08-22 13:48     ` Julien Grall
2013-08-22 14:09       ` Ian Campbell
2013-08-16 21:05 ` [RFC 10/24] xen/dts: Remove device_get_reg call in process_memory_node Julien Grall
2013-08-22 13:23   ` Ian Campbell
2013-08-22 13:54     ` Julien Grall
2013-08-22 14:10       ` Ian Campbell
2013-08-16 21:05 ` [RFC 11/24] xen/dts: Remove device_get_reg call in process_cpu_node Julien Grall
2013-08-16 21:05 ` [RFC 12/24] xen/dts: Remove device_get_reg call in process_multiboot_node Julien Grall
2013-08-16 21:05 ` [RFC 13/24] xen/dts: Check the CPU ID is not greater than NR_CPUS Julien Grall
2013-08-22 13:24   ` Ian Campbell
2013-08-16 21:05 ` [RFC 14/24] xen/video: hdlcd: Convert the driver to the new device tree API Julien Grall
2013-08-22 13:28   ` Ian Campbell
2013-08-22 14:02     ` Julien Grall
2013-08-22 14:11       ` Ian Campbell
2013-08-16 21:05 ` [RFC 15/24] xen/arm: Use dt_device_match to avoid multiple if conditions Julien Grall
2013-08-22 13:30   ` Ian Campbell
2013-08-22 14:04     ` Julien Grall
2013-08-16 21:05 ` [RFC 16/24] xen/arm: Build DOM0 FDT by browsing the device tree structure Julien Grall
2013-08-22 13:49   ` Ian Campbell
2013-08-22 14:10     ` Julien Grall
2013-08-22 14:13       ` Ian Campbell
2013-08-16 21:05 ` [RFC 17/24] xen/arm: Mark each device used by Xen as disabled in DOM0 FDT Julien Grall
2013-08-22 13:50   ` Ian Campbell
2013-08-22 14:15     ` Julien Grall
2013-08-22 14:22       ` Ian Campbell
2013-08-16 21:05 ` [RFC 18/24] xen/arm: Don't map disabled device in DOM0 Julien Grall
2013-08-16 21:05 ` [RFC 19/24] xen/arm: Create a fake PSCI node in dom0 device tree Julien Grall
2013-08-21 13:50   ` Julien Grall
2013-08-16 21:05 ` [RFC 20/24] xen/arm: Add new platform specific callback device_is_blacklist Julien Grall
2013-08-22 13:57   ` Ian Campbell
2013-08-16 21:05 ` [RFC 21/24] xen/arm: vexpress: Blacklist a list of board specific devices Julien Grall
2013-08-22 14:00   ` Ian Campbell
2013-08-22 14:24     ` Julien Grall
2013-08-22 14:36       ` Ian Campbell
2013-08-22 14:51         ` Julien Grall
2013-08-22 15:02           ` Ian Campbell
2013-08-22 15:28             ` Julien Grall
2013-08-22 15:32               ` Ian Campbell
2013-08-16 21:05 ` [RFC 22/24] xen/arm: exynos5: Blacklist MCT device Julien Grall
2013-08-16 21:05 ` [RFC 23/24] xen/dts: Clean up the exported API for device tree Julien Grall
2013-08-22 14:01   ` Ian Campbell
2013-08-16 21:05 ` [RFC 24/24] xen/arm: Check if the device is available before using it Julien Grall
2013-08-22 14:01   ` Ian Campbell
2013-08-19 22:11 ` [RFC 00/24] Allow Xen to boot with a raw Device Tree Julien Grall
2013-08-20  8:33   ` Ian Campbell
2013-08-20  8:48     ` 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).