[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Porting Xen to Jetson Nano
On 23/07/2020 18:04, Julien Grall wrote: Hi, On 23/07/2020 05:26, Christopher Clark wrote:On Wed, Jul 22, 2020 at 10:59 AM Srinivas Bangalore <srini@xxxxxxxxxx> wrote:Dear Xen experts,Would greatly appreciate some hints on how to move forward with this one…Hi Srini, I don't have any strong recommendations for you, but I do want to say that I'm very happy to see you taking this project on and I am hoping for your success. I have a newly-arrived Jetson Nano sitting on my desk here, purchased with the intention of getting Xen up and running on it, that I just haven't got to work on yet. I'm also familiar with Chris Patterson, Kyle Temkin and Ian Campbell's previous Tegra Jetson patches and it would be great to see some further progress made from those.I agree that it would be good to have the support in upstream!In my recent experience with the Raspberry Pi 4, one basic observation with ARM kernel bringup is that if your device tree isn't good, your dom0 kernel can be missing the configuration it needs to use the serial port correctly and you don't get any diagnostics from it after Xen attempts to launch it, so I would just patch the right serial port config directly into your Linux kernel (eg. hardcode specific things onto the kernel command line) so you're not messing about with that any more. The other thing I would recommend is patching in some printks into the earliest part of the Xen parts of the Dom0 Linux kernel start code. Others who are more familar with Xen on ARM may have some better recommendations, but linux/arch/arm/xen/enlighten.c has a function xen_guest_init that looks like a good place to stuff some extra printks for some early proof-of-entry from your kernel, and that way you'll have some indication whether execution has actually commenced in there.Linux provides earlyprintk facilities that can be used in Xen. To enable it, you need to have your kernel built with CONFIG_EARLY_PRINTK=y and CONFIG_XEN=y. This can then be enabled by passing earlyprintk=xenboot on your command line.Note that Linux needs to detect you are using Xen before using earlyprintk. Hmmm... I forgot to earlyprintk is x86 only. On Arm, you want to use earlycon=xenboot. This should be available as long as you build Linux with CONFIG_XEN=y. No need to detect Xen. However... If you need earlier, then what I usually do is hacking xen_raw_console_write() (in drivers/tty/hvc/hvc_xen.c) and replace 'if (xen_domain())' with 'if (1)'. ... this point is still valid if you want to use earlycon before it is actually initialized. Apologies for the confusion. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |