From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [PATCH 0/16] arm: support for initial modules (e.g. dom0) and DTB supplied in RAM Date: Thu, 6 Sep 2012 15:46:30 +0100 Message-ID: <5048B746.4070306@citrix.com> References: <1346678886.32462.9.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1346678886.32462.9.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On 03/09/12 14:28, Ian Campbell wrote: > The following series implements support for initial images and DTB in > RAM, as opposed to in flash (dom0 kernel) or compiled into the > hypervisor (DTB). It arranges to not clobber these with either the h/v > text on relocation or with the heaps and frees them as appropriate. > > Most of this is independent of the specific bootloader protocol which is > used to tell Xen where these modules actually are, but I have included a > simple PoC bootloader protocol based around device tree which is similar > to the protocol used by Linux to find its initrd > (where /chosen/linux,initrd-{start,end} indicate the physical address). > > In the PoC the modules are listed in the chosen node starting > with /chosen/nr-modules which contains the count and then /chosen/module > %d-{start,end} which gives the physical address of the module > and /chosen/module%d-args which give its command line. Until there is an agreement on this protocol I would prepend a "xen," prefix to the node names (xen,nr-modules etc.). bootargs instead of args would be more consistent perhaps. So, module1-args becomes xen,module1-bootargs. The proposed protocol is functional and useful using nodes for each module seems to be more device-tree-ish. I think in the longer term, perhaps something like the following would be better? chosen { module@1 { compatible = "multiboot-module"; regs = <0x12345678 0x01000>; bootargs = "frob"; }; module@2 { compatible = "multiboot-module"; regs = <0x12345678 0x01000>; } } David