Hi Jan,
On Sat, May 28, 2022 at 3:41 PM Jan Kiszka <[email protected]> wrote:
>
> On 28.05.22 15:22, Lad, Prabhakar wrote:
> > On Fri, May 27, 2022 at 6:07 AM Jan Kiszka <[email protected]> wrote:
> >>
> >> If that should be the case, you could use the JTAG to "trace" how far
> >> you get: Add an infinite loop at some point the setup should get along,
> >> and then check with the debugger if PC points to that address and if EL2
> >> is active. With that, you could also check if the UART print-out is
> >> executed.
> >>
> > After tracing back I see it's looping infinitely somewhere in the
> > hypervisor.o file, below is the code where it repeatedly loops.
> >
> > ffffc0209550: b9400680 ldr w0, [x20, #4]
> > ffffc0209554: b9403481 ldr w1, [x4, #52]
> > ffffc0209558: 6b00003f cmp w1, w0
> > ffffc020955c: 540013a8 b.hi ffffc02097d0 <entry+0x2d8>
> > .....
> > ffffc02097d0: 17ffff60 b ffffc0209550 <entry+0x58>
> >
> > I haven't managed to find where exactly in the C file this is
> > happening yet. Any thoughts on what could be happening?
> >
>
> That's very likely
>
> while (entered_cpus < hypervisor_header.online_cpus)
> cpu_relax();
>
Thanks for the pointer really appreciated.
> Did you configure more CPUs than there are in the system?
>
No I haven't, I've set it up as cpus = 0x3f for 6 CPUs (2xa57 +
4xa53). I don't know what was happening there when I removed the
infinite loop (which I used for break point) from entry.S that went
OK. There was also an issue with the debug uart driver which I've
fixed and able to get the prints now.
So now moving forward I am seeing "Unhandled data read"!
Looking at the address for Unhandled data read one belongs to GIC
(0xf102f00c) and the other one belongs to the debug uart (0xe6e88008).
The configuration for in the root cell is below:
.debug_console = {
.address = 0xe6e88000,
.size = 0x40,
.type = JAILHOUSE_CON_TYPE_SCIFA,
.flags = JAILHOUSE_CON_ACCESS_MMIO |
JAILHOUSE_CON_REGDIST_4,
},
.platform_info = {
.arm = {
.gic_version = 2,
.gicd_base = 0xf1010000,
.gicc_base = 0xf1020000,
.gich_base = 0xf1040000,
.gicv_base = 0xf1060000,
.maintenance_irq = 25,
}
},
Below is the log:
root@hihope-rzg2m:~# insmod jailhouse.ko
[ 19.054972] jailhouse: loading out-of-tree module taints kernel.
root@hihope-rzg2m:~#
root@hihope-rzg2m:~#
root@hihope-rzg2m:~# jailhouse enable renesas-r8a774a1.cell
[ 22.532474] entering.
Initializing Jailhouse hypervisor v0.12 (318-gcc2122a6-dirty) on CPU 5
Code location: 0x0000ffffc0200800
Page pool usage after early setup: mem 53/4063, remap 0/131072
Initializing processors:
CPU 5... OK
CPU 1... OK
CPU 3... OK
CPU 0... OK
CPU 2... OK
CPU 4... OK
Initializing unit: irqchip
Initializing unit: ARM SMMU v3
Initializing unit: ARM SMMU
Initializing unit: PVU IOMMU
Initializing unit: PCI
Page pool usage after late setup: mem 82/4063, remap 5/131072
Unhandled data read at 0xf102f00c(4)
FATAL: unhandled trap (exception class 0x24)
Cell state before exception:
pc: ffff8000104cc930 lr: ffff8000104cc9a4 spsr: 20000085 EL1
sp: ffff800011323fc0 elr: ffff8000104cc930 esr: 24 1 1800007
x0: 0000000000000000 x1: ffff80001101cb20 x2: ffff80062e813000
x3: 0000000000000003 x4: 001ff1326ed0c676 x5: 00ffffffffffffff
x6: 00000000108bece3 x7: 0000000000000000 x8: 0000000000000000
x9: 0000000000000000 x10: 0000000000000000 x11: 0000000000000000
x12: 0000000000000000 x13: 0000000000000000 x14: 0000000000000000
x15: 0000000000000000 x16: 0000000000000000 x17: 0000000000000000
x18: 0000000000000000 x19: 0000000000000001 x20: ffff80001134f010
x21: ffff80001134f00c x22: ffff80001117cc28 x23: ffff8000113dbde0
x24: ffff80001101cb38 x25: ffff800011320000 x26: ffff800011324000
x27: ffff0005c00c63c0 x28: ffff0005c00c63c0 x29: ffff800011323fc0
Parking CPU 3 (Cell: "Renesas HopeRun HiHope RZ/G2M")
Unhandled data read at 0xe6e88008(2)
FATAL: unhandled trap (exception class 0x24)
Cell state before exception:
pc: ffff8000106341f0 lr: ffff800010632af8 spsr: 60000085 EL1
sp: ffff80001131b420 elr: ffff8000106341f0 esr: 24 1 1410006
x0: ffff8000113bd000 x1: ffff8000113bd008 x2: 0000000000000000
x3: ffff800010bf9a58 x4: 0000000000000000 x5: 0000000000000064
x6: ffff800010632a48 x7: 72646461206c6175 x8: 3030303020737365
x9: 65636e6572656665 x10: 7472697620746120 x11: 696f70204c4c554e
x12: 726564207265746e x13: 656c646e6168206f x14: 206c656e72656b20
x15: ffff800011179948 x16: 0000000000000000 x17: 0000000000000000
x18: ffffffffffffffff x19: ffff8000112da2f8 x20: ffff8000112da2f8
x21: 0000000000000000 x22: ffff8000112da2f8 x23: ffff800011292128
x24: 0000000000000000 x25: ffff8000112da2f8 x26: ffff8000112918b8
x27: 0000000000000080 x28: 0000000000000064 x29: ffff80001131b420
Parking CPU 2 (Cell: "Renesas HopeRun HiHope RZ/G2M")
Any thoughts why we are getting "Unhandled data read"?
Cheers,
Prabhakar
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/CA%2BV-a8uMOW2PopUbMhaOmCs-RZWqzOJcC3zXOToF2pWSs_%3DO5w%40mail.gmail.com.