[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] xen/tools: Introduce QNX IFS loader
On Thu, Sep 18, 2014 at 10:11 PM, Julien Grall <julien.grall@xxxxxxxxxx> wrote: > Hi Oleksandr, Hi Julien > > On 18/09/14 03:55, Oleksandr Tyshchenko wrote: >>> >>> Also, it looks like that with this solution, the QNX image will be tight >>> to >>> a specific version of Xen. Indeed, you have to specify the physical >>> address >>> in the QNX image. >> >> >> I just specify the starting address in buildfile which shiped with >> BSP. The starting address is the base address of the image. >> In our case we have next image attribute: >> [image=0x80008000] > > > This RAM base address has changed in Xen 4.5. I suspect you are trying this > patch on top of Xen 4.4, right? Right. I know about RAM base address, I keep in mind it. As I know there are other significant differences between these versions. > > If so, it would be nice if you can try this patch also on Xen 4.5. Sure, I will try. > >> This is one of the required actions for QNX to load on top of XEN. >> Yes, if the rambase addr changes in XEN, I will need to change the >> image attr in QNX. > > > Is it possible to make QNX position independent? Unfortunately, I was trying but I couldn't make. More detailed: we have base address of the image: [image=0x80008000] startup_vaddr is based on "base address" domainbuilder: detail: xc_dom_probe_qnx_ifs: startup_vaddr: 0x800085bc I dropped base address from IFS buildfile: domainbuilder: detail: xc_dom_probe_qnx_ifs: startup_vaddr: 0x000005bc and tried to do next thing: dom->parms.virt_entry = v_start + startup_hdr->startup_vaddr; But this didn't work. QNX didn't boot. Perhaps, the QNX uses this image attribute for his own purposes (and checks somethings at early stages). Need to investigate more. > > If not, I would add a check that the load address is effectively part of the > RAM and throw an error if it's not the case. Yes. Something like this: /* Performs a sanity check for a valid startup entry point */ if ( (dom->startup_vaddr < v_start) || (dom->startup_vaddr > v_end) ) { xc_dom_printf(dom->xch, "%s: QNX IFS has wrong startup entry point", __FUNCTION__); return -EINVAL; } Are you OK with it? > > Regards, > > -- > Julien Grall Thank you -- Oleksandr Tyshchenko | Embedded Dev GlobalLogic www.globallogic.com _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |