I am currently trying to make a non-root Linux-cell work on the Jetson
TX2-board. I have created a new jetson-tx2-linux-demo.c file and have made
a inmate-jetson-tx2.dts file according to the other ARM examples given.
When i try to start the cell with
sudo jailhouse cell linux
> ~/linux-jailhouse-jetson/configs/arm64/jetson-tx2-linux-demo.cell
> /boot/Image --dtb
> ~/linux-jailhouse-jetson/configs/arm64/dts/inmate-jetson-tx2.dtb -i
> /boot/initrd
i get the following error:
Traceback (most recent call last):
File "/usr/local/libexec/jailhouse/jailhouse-cell-linux", line 846, in
> <module>
arch.setup(args, config)
File "/usr/local/libexec/jailhouse/jailhouse-cell-linux", line 378, in
> setup
reg += struct.pack(reg_format, region.virt_start, region.size)
struct.error: 'I' format requires 0 <= number <= 4294967295
My jetson-tx2-demo-linux.c looks like this:
#include <jailhouse/types.h>
#include <jailhouse/cell-config.h>
> #define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
> struct {
struct jailhouse_cell_desc cell;
__u64 cpus[1];
struct jailhouse_memory mem_regions[5];
struct jailhouse_irqchip irqchips[1];
struct jailhouse_pci_device pci_devices[1];
} __attribute__((packed)) config = {
.cell = {
.signature = JAILHOUSE_CELL_DESC_SIGNATURE,
.revision = JAILHOUSE_CONFIG_REVISION,
.name = "jetson-tx2-linux-demo",
.flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
JAILHOUSE_CELL_DEBUG_CONSOLE,
> .cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
.num_irqchips = ARRAY_SIZE(config.irqchips),
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 300,
},
> .cpus = {
0x18,
},
> .mem_regions = {
/* UART */ {
.phys_start = 0x3100000,
.virt_start = 0x3100000,
.size = 0x1000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED,
},
/* RAM */ {
.phys_start = 0x270000000,
.virt_start = 0x0,
.size = 0x10000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
JAILHOUSE_MEM_LOADABLE,
},
/* RAM */ {
.phys_start = 0x255310000,
.virt_start = 0x255310000,
.size = 0x1acf0000,
.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,
},
> /* IVHSMEM 1*/ {
.phys_start = 0x27f000000,
.virt_start = 0x27f000000,
.size = 0x1000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE
| JAILHOUSE_MEM_ROOTSHARED,
> },
>
},
> .irqchips = {
/* GIC */
{
.address = 0x03881000,
.pin_base = 288,
.pin_bitmap = {
0,
1 << (330 - 320) /* irq 330 */
},
},
},
> .pci_devices = {
{
.type = JAILHOUSE_PCI_TYPE_IVSHMEM,
.bdf = 0x0,
.bar_mask = {
0xffffff00, 0xffffffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000,
},
.shmem_region = 3,
.shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED,
.domain = 0x0,
},
>
},
> };
So my question is, whrere to search for the error, since the defined memory
regions are in bounds of the value given by the error message.
Thanks for any advice
Julian
--
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/7c62da68-5d6e-49dc-8c4c-ea8eb8d56e1ao%40googlegroups.com.