Re: Jetson TX2 - access to peripherals from inmate

2022-04-02 Thread Ralf Ramsauer




On 02/04/2022 10:14, Jan Kiszka wrote:

On 25.03.22 16:11, 'johannes lex' via Jailhouse wrote:

Hello everybody,

i'm investigating the jailhouse hypervisor for a research project of an
automotive company.

As a first step, i want to set up the Jetson TX2 Board and add an inmate
which toggels one GPIO Pin. I used the VM from the ERIKA V3
(https://www.erika-enterprise.com/index.php/download/virtual-machines.html)
as a base development platform.
So far, Jailhouse is running and my configs seem to work.

However, I can't access (not even read) the registers of the GPIO or any
other peripheral which i assign to my cell, except the already
configured UART.
The cell config and assignment of the registers themself seems to work:
i can, for example, read the register 0x02210890 from the Linux host
before creating the cell. After creating the cell, a read attempt from
the Linux host leads to a system crash.
Unfortunately, i can't read that register from the inmate as well :/

Do you have a clue why i can't read the register in my setup? I've
attached my configs and the source code for the bare metal application
of the inmate.

Or do you have any examples in which you access the GPIOs (or other
peripherals) of the Jetson TX2 from an inmate which you could share?


Already checked your configs for undesired overlaps (jailhouse config
check)?

Looking at the jetson-tx2-demo.c config you shared, the GPIO range is
exclusively assigned from the root cell to the non-root demo. So, any
further accesses from the Linux root cell should indeed trigger a
violation. But accesses from the demo cell must be possible. However,
I'm not seeing any violation reports regarding that cell.


We had a offlist converstation - map_range in inmate + ROOTSHARED solved 
the issue.


Thanks
  Ralf



Jan



--
Ralf Ramsauer
PGP: 0xC85252CC

--
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 jailhouse-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/bd0cbbc1-7abb-8924-5228-da22e2aa51c5%40vmexit.de.


Re: [PATCH] configs: arm64: resolve overlapping memory regions in k3-am654-idk cell

2022-04-02 Thread Jan Kiszka
On 24.03.22 02:23, 'Matt Ranostay' via Jailhouse wrote:
> There were several memory regions overlapping in current k3-am654-idk
> configuration including GICD/GICR regions for the interrupt controller.
>
> These issues have been resolved by changing region sizes and adding
> addition regions to avoid conflicts.
>
> Signed-off-by: Matt Ranostay 
> ---
>  configs/arm64/k3-am654-idk.c | 20 +---
>  1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/configs/arm64/k3-am654-idk.c b/configs/arm64/k3-am654-idk.c
> index ddd770fe..4e6857f8 100644
> --- a/configs/arm64/k3-am654-idk.c
> +++ b/configs/arm64/k3-am654-idk.c
> @@ -18,7 +18,7 @@
>  struct {
>   struct jailhouse_system header;
>   __u64 cpus[1];
> - struct jailhouse_memory mem_regions[18];
> + struct jailhouse_memory mem_regions[20];
>   struct jailhouse_irqchip irqchips[5];
>   struct jailhouse_pci_device pci_devices[1];
>  } __attribute__((packed)) config = {
> @@ -112,7 +112,21 @@ struct {
>   /* Most MAIN domain peripherals */ {
>   .phys_start = 0x0100,
>   .virt_start = 0x0100,
> - .size = 0x0af04000,
> + .size = 0x0080,
> + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
> + JAILHOUSE_MEM_IO,
> + },
> + {
> + .phys_start = 0x0181,
> + .virt_start = 0x0181,
> + .size = 0x0007,
> + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
> + JAILHOUSE_MEM_IO,
> + },
> + {
> + .phys_start = 0x018a,
> + .virt_start = 0x018a,
> + .size = 0xa664000,
>   .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
>   JAILHOUSE_MEM_IO,
>   },
> @@ -140,7 +154,7 @@ struct {
>   /* MCUSS */ {
>   .phys_start = 0x4204,
>   .virt_start = 0x4204,
> - .size = 0x03ac3000,
> + .size = 0x030c,
>   .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
>   JAILHOUSE_MEM_IO,
>   },

Thanks, rebased and applied over next.

Jan

-- 
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 jailhouse-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/6f2a091c-4617-4ffc-86c4-0c9b121349be%40web.de.


Re: Jetson TX2 - access to peripherals from inmate

2022-04-02 Thread Jan Kiszka
On 25.03.22 16:11, 'johannes lex' via Jailhouse wrote:
> Hello everybody,
>
> i'm investigating the jailhouse hypervisor for a research project of an
> automotive company.
>
> As a first step, i want to set up the Jetson TX2 Board and add an inmate
> which toggels one GPIO Pin. I used the VM from the ERIKA V3
> (https://www.erika-enterprise.com/index.php/download/virtual-machines.html)
> as a base development platform.
> So far, Jailhouse is running and my configs seem to work. 
>
> However, I can't access (not even read) the registers of the GPIO or any
> other peripheral which i assign to my cell, except the already
> configured UART.
> The cell config and assignment of the registers themself seems to work:
> i can, for example, read the register 0x02210890 from the Linux host
> before creating the cell. After creating the cell, a read attempt from
> the Linux host leads to a system crash.
> Unfortunately, i can't read that register from the inmate as well :/
>
> Do you have a clue why i can't read the register in my setup? I've
> attached my configs and the source code for the bare metal application
> of the inmate.
>
> Or do you have any examples in which you access the GPIOs (or other
> peripherals) of the Jetson TX2 from an inmate which you could share?

Already checked your configs for undesired overlaps (jailhouse config
check)?

Looking at the jetson-tx2-demo.c config you shared, the GPIO range is
exclusively assigned from the root cell to the non-root demo. So, any
further accesses from the Linux root cell should indeed trigger a
violation. But accesses from the demo cell must be possible. However,
I'm not seeing any violation reports regarding that cell.

Jan

-- 
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 jailhouse-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/27e635ef-500f-6f19-a461-9a5e88d12c8d%40web.de.