This patch updates the config file for the Nvidia TX1 board. Besides enlarging the amount of memory for the root cell, the patch fixes an issue with pulseaudio on X11 and error messages printed by the memory controller driver on the stock Nvidia 3.10 kernel. Tested on both the Nvidia 3.10 and the Vanilla 4.9 kernels.
Signed-off-by: Claudio Scordino <[email protected]> Signed-off-by: Errico Guidieri <[email protected]> --- configs/jetson-tx1.c | 318 ++++++++++++++++++--------------------------------- 1 file changed, 113 insertions(+), 205 deletions(-) diff --git a/configs/jetson-tx1.c b/configs/jetson-tx1.c index f47ebfd..5c97a48 100644 --- a/configs/jetson-tx1.c +++ b/configs/jetson-tx1.c @@ -10,7 +10,7 @@ * This work is licensed under the terms of the GNU GPL, version 2. See * the COPYING file in the top-level directory. * - * NOTE: Add "mem=1920M vmalloc=512M" to the kernel command line. + * NOTE: Add "mem=3968M vmalloc=512M" to the kernel command line. */ #include <jailhouse/types.h> @@ -21,14 +21,14 @@ struct { struct jailhouse_system header; __u64 cpus[1]; - struct jailhouse_memory mem_regions[55]; + struct jailhouse_memory mem_regions[42]; struct jailhouse_irqchip irqchips[2]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, .revision = JAILHOUSE_CONFIG_REVISION, .hypervisor_memory = { - .phys_start = 0xfc000000, + .phys_start = 0x17c000000, .size = 0x4000000, }, .debug_console = { @@ -60,6 +60,13 @@ struct { .mem_regions = { + /* APE 1 */ { + .phys_start = 0x00000000, + .virt_start = 0x00000000, + .size = 0x00D00000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* PCIE */ { .phys_start = 0x01000000, .virt_start = 0x01000000, @@ -81,87 +88,10 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* host1x/vi */ { - .phys_start = 0x54080000, - .virt_start = 0x54080000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* TSEC2 */ { - .phys_start = 0x54100000, - .virt_start = 0x54100000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* Display 2 */ { - .phys_start = 0x54240000, - .virt_start = 0x54240000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* VIC */ { - .phys_start = 0x54340000, - .virt_start = 0x54340000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* NVJPG */ { - .phys_start = 0x54380000, - .virt_start = 0x54380000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* NVDEC */ { - .phys_start = 0x54480000, - .virt_start = 0x54480000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* NVENC */ { - .phys_start = 0x544c0000, - .virt_start = 0x544c0000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* TSEC */ { - .phys_start = 0x54500000, - .virt_start = 0x54500000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* SOR1 */ { - .phys_start = 0x54580000, - .virt_start = 0x54580000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* ISP */ { - .phys_start = 0x54600000, - .virt_start = 0x54600000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* ISPB */ { - .phys_start = 0x54680000, - .virt_start = 0x54680000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* VII2C (I2C) */ { - .phys_start = 0x546c0000, - .virt_start = 0x546c0000, - .size = 0x40000, + /* Graphics Host */ { + .phys_start = 0x54000000, + .virt_start = 0x54000000, + .size = 0x1000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, @@ -207,6 +137,13 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, + /* AHB-DMA */ { + .phys_start = 0x60008000, + .virt_start = 0x60008000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* System registers, secure boot, activity monitor */ { .phys_start = 0x6000c000, .virt_start = 0x6000c000, @@ -217,7 +154,21 @@ struct { /* GPIOs + exception vectors */ { .phys_start = 0x6000d000, .virt_start = 0x6000d000, - .size = 0x1000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* IPATCH */ { + .phys_start = 0x60010000, + .virt_start = 0x60010000, + .size = 0x0010000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* APB-DMA + VGPIO */ { + .phys_start = 0x60020000, + .virt_start = 0x60020000, + .size = 0x5000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, @@ -231,14 +182,14 @@ struct { /* UARTs */ { .phys_start = 0x70006000, .virt_start = 0x70006000, - .size = 0x600, + .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* PWM Controller */ { .phys_start = 0x7000a000, .virt_start = 0x7000a000, - .size = 0x100, + .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, @@ -256,6 +207,13 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, + /* Sensors */ { + .phys_start = 0x70010000, + .virt_start = 0x70010000, + .size = 0x0008000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* MC */ { .phys_start = 0x70019000, .virt_start = 0x70019000, @@ -263,6 +221,13 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, + /* SATA */ { + .phys_start = 0x70020000, + .virt_start = 0x70020000, + .size = 0x0010000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* HDA */ { .phys_start = 0x70030000, .virt_start = 0x70030000, @@ -270,6 +235,13 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, + /* CLUSTER CLOCK */ { + .phys_start = 0x70040000, + .virt_start = 0x70040000, + .size = 0x0040000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* XUSB */ { .phys_start = 0x70090000, .virt_start = 0x70090000, @@ -277,6 +249,13 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, + /* DDS */ { + .phys_start = 0x700a0000, + .virt_start = 0x700a0000, + .size = 0x0002000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* SDMMCs */ { .phys_start = 0x700b0000, .virt_start = 0x700b0000, @@ -284,6 +263,20 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, + /* SPEEDO */ { + .phys_start = 0x700c0000, + .virt_start = 0x700c0000, + .size = 0x0008000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* DP2 + APB2JTAG */ { + .phys_start = 0x700e0000, + .virt_start = 0x700e0000, + .size = 0x0002000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, /* SOC_THERM */ { .phys_start = 0x700e2000, .virt_start = 0x700e2000, @@ -298,154 +291,69 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* DVFS */ { - .phys_start = 0x70110000, - .virt_start = 0x70110000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* ADMAIF */ { - .phys_start = 0x702d0000, - .virt_start = 0x702d0000, - .size = 0x800, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* AXBAR */ { - .phys_start = 0x702d0800, - .virt_start = 0x702d0800, - .size = 0x800, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* I2S */ { - .phys_start = 0x702d1000, - .virt_start = 0x702d1000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* SFC */ { - .phys_start = 0x702d2000, - .virt_start = 0x702d2000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* AMX */ { - .phys_start = 0x702d3000, - .virt_start = 0x702d3000, - .size = 0x800, + /* SYSCTR0 */ { + .phys_start = 0x700f0000, + .virt_start = 0x700f0000, + .size = 0x0010000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* ADX */ { - .phys_start = 0x702d3800, - .virt_start = 0x702d3800, - .size = 0x800, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* DMIC */ { - .phys_start = 0x702d4000, - .virt_start = 0x702d4000, - .size = 0x4000, + /* SYSCTR1 */ { + .phys_start = 0x70100000, + .virt_start = 0x70100000, + .size = 0x0010000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* SPDIF */ { - .phys_start = 0x702d6000, - .virt_start = 0x702d6000, - .size = 0x200, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* AFC */ { - .phys_start = 0x702d7000, - .virt_start = 0x702d7000, + /* DVFS */ { + .phys_start = 0x70110000, + .virt_start = 0x70110000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* OPE1 */ { - .phys_start = 0x702d8000, - .virt_start = 0x702d8000, - .size = 0x400, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* OPE2 */ { - .phys_start = 0x702d8400, - .virt_start = 0x702d8400, - .size = 0x400, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* MVC */ { - .phys_start = 0x702da000, - .virt_start = 0x702da000, - .size = 0xc00, + /* APE 2 */ { + .phys_start = 0x702c0000, + .virt_start = 0x702c0000, + .size = 0x40000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* MIXER */ { - .phys_start = 0x702dbb00, - .virt_start = 0x702dbb00, - .size = 0x800, + /* QSPI */ { + .phys_start = 0x70410000, + .virt_start = 0x70410000, + .size = 0x0001000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* ADMA */ { - .phys_start = 0x702e2000, - .virt_start = 0x702e2000, - .size = 0x2000, + /* STM + CSITE */ { + .phys_start = 0x71000000, + .virt_start = 0x71000000, + .size = 0x2000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* AMISC */ { - .phys_start = 0x702ec000, - .virt_start = 0x702ec000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* ABRIDGE */ { - .phys_start = 0x702ee000, - .virt_start = 0x702ee000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, - /* AAS */ { - .phys_start = 0x702ef000, - .virt_start = 0x702ef000, - .size = 0x1000, + /* AHB_A1 */ { + .phys_start = 0x78000000, + .virt_start = 0x78000000, + .size = 0x1000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* USB */ { - .phys_start = 0x7d000000, - .virt_start = 0x7d000000, - .size = 0x4000, + /* AHB_A2 or USB */ { + .phys_start = 0x7c000000, + .virt_start = 0x7c000000, + .size = 0x2000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* 87: System RAM */ { + /* System RAM */ { .phys_start = 0x80000000, .virt_start = 0x80000000, - .size = 0x7c000000, + .size = 0xfc000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, }, - /* 88: persistent_ram */ { - .phys_start = 0xff000000, - .virt_start = 0xff000000, - .size = 0x2400000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE, - }, - }, .irqchips = { /* GIC */ { -- 2.7.4 -- 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]. For more options, visit https://groups.google.com/d/optout.
