On 11.05.22 19:09, Lad, Prabhakar wrote:
> Hi Jan,
>
> On Wed, May 11, 2022 at 4:11 PM Jan Kiszka <[email protected]> wrote:
>>
>> On 11.05.22 13:20, Prabhakar Lad wrote:
>>> To add further more details:
>>>
>>> I am using jailhouse-enabling/5.10 Linux branch [0] with -next branch
>>> for jailhouse [1].
>>>
>>> I added some debug prints and I see the panic is caused when entry()
>>> function is called (in enter_hypervisor). The entry function lands into
>>> assembly code (entry.S). I dont have a JTAG to see which exact
>>> instruction is causing this issue.
>>
>> So, already the first instruction in the loaded hypervisor binary is not
>> executable? That would explain why we see no hypervisor output at all.
>>
> To clarify when the hypervisor is loaded the output will be via
> debug_console specified in the root cell config?
>
Correct - if you reach entry() in setup.c.
>> Was that memory region properly reserved from Linux (via DTB carve-out
>> e.g.)?
>>
> Yes I have the below memory reserved in my dts:
>
> memory@48000000 {
> device_type = "memory";
> /* first 128MB is reserved for secure area. */
> reg = <0x0 0x48000000 0x0 0x78000000>;
> };
>
> reserved-memory {
> #address-cells = <2>;
> #size-cells = <2>;
> ranges;
>
> jh_inmate@a7f00000 {
> status = "okay";
> no-map;
> reg = <0x00 0xa7f00000 0x00 0xf000000>;
> };
>
> jailhouse: jailhouse@b6f00000 {
> status = "okay";
> reg = <0x0 0xb6f00000 0x0 0x1000000>;
> no-map;
> };
> };
>
> Linux does report the hole in RAM:
>
> root@smarc-rzg2l:~# cat /proc/iomem | grep RAM
> 48000000-a7efffff : System RAM
> b7f00000-bfffffff : System RAM
>
> And below is my root cell config related to hypervisor memory:
>
> .hypervisor_memory = {
> .phys_start = 0xb6f00000,
> .size = 0x1000000,
> },
>
> Is there anything obvious I have missed above?
>
Nothing obvious to me so far.
So, is this really the first instruction in
hypervisor/arch/arm64/entry.S, arch_entry, that triggers the undefinstr?
Check the reported address by Linux against the disassambly of the
hypervisor. You could also play with adding 'ret' as first instruction,
to check if that returns without a crash.
Jan
--
Siemens AG, Technology
Competence Center Embedded Linux
--
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/37be2e7c-c1f4-c5b6-f200-8d1cc48e0ee5%40siemens.com.