|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen on ARMv8
On Mon, 2013-12-09 at 19:22 +0530, Vijay Kilari wrote:
> On Fri, Dec 6, 2013 at 8:55 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> I don't have any work around as of now. I just reverted changes made
> to pl011 driver in staging branch on top of stable 4.3. I see couple of
> patches that has changed pl011 registers initialization.
>
> I will check once I get the my setup is up & running.
OK, thanks.
>
> >> (XEN) Using PSCI for SMP bringup
> [..]
> >> (XEN) Panic on CPU 0:
> >> (XEN) Unable to copy the DTB to dom0 memory (rc = 18446744073709551602)
> >> (XEN) ****************************************
> >
> > It looks like you are trying to load an ELF format kernel, which
> > probably doesn't work for Linux. Try passing it the
> > arch/arm64/boot/Image and it should work.
> >
> > (ELF is useful for *BSD I think, which is why we don't just nuke this
> > support right now)
> >
> Yes, I have set my Image to vmlinux (stripped) for 4.3 stable as it was
> failing
> to load plain arch/arm64/boot/Image
> I forget to revert back this change with staging branch. Now I could
> boot Xen hypervisor.
Excellent!
> Thanks for this help.
>
> But my console on dom0 is not showing any logs.
> However ARMv8 simulator shows that dom0 is booted and
> cpu has entered idle loop.
Do you have console=hvc0 on your dom0 command line and CONFIG_HVC_XEN in
your kernel build?
You might also want to try enabling earlyprintk, either via a second
UART not used by Xen, or the vuart which Xen replaces its console with
for dom0 (assuming your Xen console driver exports the right hooks) or
with something like:
diff --git a/arch/arm64/kernel/early_printk.c b/arch/arm64/kernel/early_printk.c
index fbb6e18..9302d7a 100644
--- a/arch/arm64/kernel/early_printk.c
+++ b/arch/arm64/kernel/early_printk.c
@@ -26,6 +26,8 @@
#include <linux/amba/serial.h>
#include <linux/serial_reg.h>
+#include <asm/xen/hypercall.h>
+
static void __iomem *early_base;
static void (*printch)(char ch);
@@ -52,6 +54,11 @@ static void smh_printch(char ch)
: : "r" (&ch) : "x0", "x1", "memory");
}
+static void xen_printch(char ch)
+{
+ HYPERVISOR_console_io(CONSOLEIO_write, 1, &ch);
+}
+
/*
* 8250/16550 (8-bit aligned registers) single character TX.
*/
@@ -80,6 +87,7 @@ struct earlycon_match {
static const struct earlycon_match earlycon_match[] __initconst = {
{ .name = "pl011", .printch = pl011_printch, },
{ .name = "smh", .printch = smh_printch, },
+ { .name = "xen", .printch = xen_printch, },
{ .name = "uart8250-8bit", .printch = uart8250_8bit_printch, },
{ .name = "uart8250-32bit", .printch = uart8250_32bit_printch, },
{}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |