On Tue, May 31, 2022 at 8:13 PM Lad, Prabhakar
<[email protected]> wrote:
>
> On Tue, May 31, 2022 at 1:52 PM Prabhakar Lad
> <[email protected]> wrote:
> >
> >
> <snip>
> > * Looking at some of the linux inmate configs there are two regions of RAM
> > specified is this a strict requirement?
> > * For the inmate RAM should the virt_start = CONFIG_INMATE_BASE?
> >
> After updating my memory layout, i.e. after creating one region for
> loading the linux another for DDR RAM and lastly the communication
> region in my inmate I no longer see the unhandled read error.
>
> /* linux-loader space */ {
> .phys_start = 0x59000000,
> .virt_start = 0x0,
> .size = 0x6400000,
> .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
> JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE,
> },
> /* RAM */ {
> .phys_start = 0x5F400000,
> .virt_start = 0x5F400000,
> .size = 0x19C00000,
> .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
> JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
> JAILHOUSE_MEM_LOADABLE,
> },
> /* communication region */ {
> .virt_start = 0x80000000,
> .size = 0x00001000,
> .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
> JAILHOUSE_MEM_COMM_REGION,
> },
>
> I am able to load the linux on one of the CPUs but I cannot see any
> console output on the serial.
>
> root@hihope-rzg2m:~# jailhouse cell linux
> renesas-r8a774a1-linux-demo.cell Image.gz -d
> inmate-r8a774a1-hihope.dtb -c "clk_ignore_unused rootwait rw"
> Started cell "renesas-r8a774a1-linux-demo"
> root@hihope-rzg2m:~#
> root@hihope-rzg2m:~# jailhouse cell list
> ID Name State Assigned CPUs
> Failed CPUs
> 0 Renesas HopeRun HiHope RZ/G2Mrunning 0,2-5
> 1 renesas-r8a774a1-linux-demorunning 1
> root@hihope-rzg2m:~#
>
> Any pointers on debugging this? (jailhouse cell stat 1 doesn't seem to
> updating the number so I assume it's panicked somewhere)
>
I was able to get the console output on the root cell for debugging by
setting "console=jailhouse earlycon..."
I'm seeing that when trying to initialize the GIC its causing a panic:
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] unable to map gic dist registers
[ 0.000000] WARNING: CPU: 0 PID: 0 at
drivers/irqchip/irq-gic.c:1393 gic_of_setup+0xa8/0xf0
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
5.10.31+ #37
[ 0.000000] Hardware name: Jailhouse cell on HopeRun HiHope RZ/G2M
R8A774A1 (DT)
[ 0.000000] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)
[ 0.000000] pc : gic_of_setup+0xa8/0xf0
[ 0.000000] lr : gic_of_setup+0xa8/0xf0
[ 0.000000] sp : ffff800011203dd0
[ 0.000000] x29: ffff800011203dd0 x28: ffff800010f936c0
[ 0.000000] x27: ffff80001120cc18 x26: ffff80001120cc18
[ 0.000000] x25: 0000000000000000 x24: ffff800011209000
[ 0.000000] x23: ffff000077c36460 x22: ffff80001120c000
[ 0.000000] x21: ffff800010f93000 x20: ffff000077c36460
[ 0.000000] x19: ffff80001120cc18 x18: ffffffffffffffff
[ 0.000000] x17: 00000000000000c0 x16: fffffdffffe00340
[ 0.000000] x15: ffff800011209948 x14: 0000000000000056
[ 0.000000] x13: ffff800011203a70 x12: 00000000ffffffea
[ 0.000000] x11: ffff8000112914c0 x10: ffff800011279480
[ 0.000000] x9 : ffff8000112794d8 x8 : 0000000000017fe8
[ 0.000000] x7 : c0000000ffffefff x6 : 0000000000000001
[ 0.000000] x5 : 0000000000000000 x4 : 0000000000000000
[ 0.000000] x3 : 00000000ffffffff x2 : ffff800011221450
[ 0.000000] x1 : 0000000000000000 x0 : 0000000000000000
[ 0.000000] Call trace:
[ 0.000000] gic_of_setup+0xa8/0xf0
[ 0.000000] gic_of_init+0x88/0x390
[ 0.000000] of_irq_init+0x194/0x33c
[ 0.000000] irqchip_init+0x18/0x40
[ 0.000000] init_IRQ+0xc8/0xfc
[ 0.000000] start_kernel+0x2ec/0x4f8
[ 0.000000] ---[ end trace f68728a0d3053b52 ]---
[ 0.000000] OF: of_irq_init: children remain, but no parents
[ 0.000000] Kernel panic - not syncing: No interrupt controller found.
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
5.10.31+ #37
[ 0.000000] Hardware name: Jailhouse cell on HopeRun HiHope RZ/G2M
R8A774A1 (DT)
[ 0.000000] Call trace:
[ 0.000000] dump_backtrace+0x0/0x1c0
[ 0.000000] show_stack+0x18/0x68
[ 0.000000] dump_stack+0xd8/0x134
[ 0.000000] panic+0x188/0x3a8
[ 0.000000] init_IRQ+0xe0/0xfc
[ 0.000000] start_kernel+0x2ec/0x4f8
[ 0.000000] ---[ end Kernel panic - not syncing: No interrupt
controller found. ]---
I have the below GIC node in the inmate dts:
gic: interrupt-controller@f1010000 {
compatible = "arm,gic-400";
#interrupt-cells = <3>;
#address-cells = <0>;
interrupt-controller;
reg = <0x0 0xf1010000 0 0x1000>,
<0x0 0xf1020000 0 0x20000>,
<0x0 0xf1040000 0 0x20000>,
<0x0 0xf1060000 0 0x20000>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
};
In the inmate cell file for GIC configuration, do we need to enable
pin_bitmap mask just for the peripherals which are only enabled in DT
(For now I have the pin_bitmap mask in the inmate cell same as the
root cell) ?
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-a8uJVDLNGjtcoZHN_FcvVMnxq5MjQRudtR1zQznPja2Kng%40mail.gmail.com.