Add all inmate console definitions to the cell config of the inmate.
Later, the hypervisor will take the definition and copy it over to the
communication region that may be accessed by the inmate.
This patch changes the structure of struct cell_desc, so increase the
header revision, and align jailhouse-cell-linux accordingly.
Note:
Addresses of those consoles are taken from mach.h
configs/arm/bananapi-gic-demo.c | 10 ++++++++++
configs/arm/bananapi-linux-demo.c | 10 ++++++++++
configs/arm/bananapi-uart-demo.c | 10 ++++++++++
configs/arm/emtrion-rzg1e-linux-demo.c | 10 ++++++++++
configs/arm/emtrion-rzg1e-uart-demo.c | 10 ++++++++++
configs/arm/emtrion-rzg1h-linux-demo.c | 10 ++++++++++
configs/arm/emtrion-rzg1h-uart-demo.c | 10 ++++++++++
configs/arm/emtrion-rzg1m-linux-demo.c | 10 ++++++++++
configs/arm/emtrion-rzg1m-uart-demo.c | 10 ++++++++++
configs/arm/jetson-tk1-demo.c | 10 ++++++++++
configs/arm/jetson-tk1-linux-demo.c | 10 ++++++++++
configs/arm/orangepi0-gic-demo.c | 7 +++++++
configs/arm/orangepi0-linux-demo.c | 7 +++++++
configs/arm/vexpress-gic-demo.c | 7 +++++++
configs/arm/vexpress-linux-demo.c | 7 +++++++
configs/arm/vexpress-uart-demo.c | 7 +++++++
configs/arm64/amd-seattle-gic-demo.c | 7 +++++++
configs/arm64/amd-seattle-linux-demo.c | 7 +++++++
configs/arm64/amd-seattle-uart-demo.c | 7 +++++++
configs/arm64/espressobin-gic-demo.c | 7 +++++++
configs/arm64/espressobin-linux-demo.c | 7 +++++++
configs/arm64/foundation-v8-gic-demo.c | 7 +++++++
configs/arm64/foundation-v8-linux-demo.c | 7 +++++++
configs/arm64/foundation-v8-uart-demo.c | 7 +++++++
configs/arm64/hikey-gic-demo.c | 7 +++++++
configs/arm64/hikey-linux-demo.c | 7 +++++++
configs/arm64/imx8mq-gic-demo.c | 7 +++++++
configs/arm64/jetson-tx1-demo.c | 7 +++++++
configs/arm64/jetson-tx1-linux-demo.c | 7 +++++++
configs/arm64/jetson-tx2-demo.c | 7 +++++++
configs/arm64/qemu-arm64-gic-demo.c | 7 +++++++
configs/arm64/qemu-arm64-linux-demo.c | 7 +++++++
configs/arm64/zynqmp-zcu102-gic-demo.c | 7 +++++++
configs/arm64/zynqmp-zcu102-linux-demo-2.c | 7 +++++++
configs/arm64/zynqmp-zcu102-linux-demo.c | 7 +++++++
include/jailhouse/cell-config.h | 2 ++
36 files changed, 280 insertions(+)
diff --git a/configs/arm/bananapi-gic-demo.c b/configs/arm/bananapi-gic-demo.c
index a96e9cfb..881207ee 100644
--- a/configs/arm/bananapi-gic-demo.c
+++ b/configs/arm/bananapi-gic-demo.c
@@ -31,6 +31,16 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0x01c29c00,
+ .clock_reg = 0x01c2006c,
+ .gate_nr = 23,
+ .divider = 0x0d,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/bananapi-linux-demo.c b/configs/arm/bananapi-linux-demo.c
index 93d401c6..50b2bb06 100644
--- a/configs/arm/bananapi-linux-demo.c
+++ b/configs/arm/bananapi-linux-demo.c
@@ -37,6 +37,16 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 123,
+
+ .console = {
+ .address = 0x01c29c00,
+ .clock_reg = 0x01c2006c,
+ .gate_nr = 23,
+ .divider = 0x0d,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/bananapi-uart-demo.c b/configs/arm/bananapi-uart-demo.c
index d33cd952..bd110146 100644
--- a/configs/arm/bananapi-uart-demo.c
+++ b/configs/arm/bananapi-uart-demo.c
@@ -31,6 +31,16 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0x01c29c00,
+ .clock_reg = 0x01c2006c,
+ .gate_nr = 23,
+ .divider = 0x0d,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/emtrion-rzg1e-linux-demo.c b/configs/arm/emtrion-rzg1e-linux-demo.c
index 7ddd20e7..f005d9a9 100644
--- a/configs/arm/emtrion-rzg1e-linux-demo.c
+++ b/configs/arm/emtrion-rzg1e-linux-demo.c
@@ -36,6 +36,16 @@ struct {
.num_irqchips = ARRAY_SIZE(config.irqchips),
/* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 123, */
+
+ .console = {
+ .address = 0xe6ee0000,
+ .clock_reg = 0xe615014c,
+ .gate_nr = 15,
+ .divider = 0x10,
+ .flags = JAILHOUSE_CON1_TYPE_HSCIF |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/emtrion-rzg1e-uart-demo.c b/configs/arm/emtrion-rzg1e-uart-demo.c
index c063b4c8..0af05bc7 100644
--- a/configs/arm/emtrion-rzg1e-uart-demo.c
+++ b/configs/arm/emtrion-rzg1e-uart-demo.c
@@ -31,6 +31,16 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0xe6ee0000,
+ .clock_reg = 0xe615014c,
+ .gate_nr = 15,
+ .divider = 0x10,
+ .flags = JAILHOUSE_CON1_TYPE_HSCIF |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/emtrion-rzg1h-linux-demo.c b/configs/arm/emtrion-rzg1h-linux-demo.c
index 97389245..ac0866c1 100644
--- a/configs/arm/emtrion-rzg1h-linux-demo.c
+++ b/configs/arm/emtrion-rzg1h-linux-demo.c
@@ -36,6 +36,16 @@ struct {
.num_irqchips = ARRAY_SIZE(config.irqchips),
/* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 123, */
+
+ .console = {
+ .address = 0xe6c40000,
+ .clock_reg = 0xe6150138,
+ .gate_nr = 4,
+ .divider = 0x1b,
+ .flags = JAILHOUSE_CON1_TYPE_SCIFA |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/emtrion-rzg1h-uart-demo.c b/configs/arm/emtrion-rzg1h-uart-demo.c
index 8bcfb9bd..597337c5 100644
--- a/configs/arm/emtrion-rzg1h-uart-demo.c
+++ b/configs/arm/emtrion-rzg1h-uart-demo.c
@@ -31,6 +31,16 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0xe6c40000,
+ .clock_reg = 0xe6150138,
+ .gate_nr = 4,
+ .divider = 0x1b,
+ .flags = JAILHOUSE_CON1_TYPE_SCIFA |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/emtrion-rzg1m-linux-demo.c b/configs/arm/emtrion-rzg1m-linux-demo.c
index e7893512..61f2ba3a 100644
--- a/configs/arm/emtrion-rzg1m-linux-demo.c
+++ b/configs/arm/emtrion-rzg1m-linux-demo.c
@@ -36,6 +36,16 @@ struct {
.num_irqchips = ARRAY_SIZE(config.irqchips),
/* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 123, */
+
+ .console = {
+ .address = 0xe6ee0000,
+ .clock_reg = 0xe615014c,
+ .gate_nr = 15,
+ .divider = 0x10,
+ .flags = JAILHOUSE_CON1_TYPE_HSCIF |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/emtrion-rzg1m-uart-demo.c b/configs/arm/emtrion-rzg1m-uart-demo.c
index 752f7aeb..a961f8c4 100644
--- a/configs/arm/emtrion-rzg1m-uart-demo.c
+++ b/configs/arm/emtrion-rzg1m-uart-demo.c
@@ -31,6 +31,16 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0xe6ee0000,
+ .clock_reg = 0xe615014c,
+ .gate_nr = 15,
+ .divider = 0x10,
+ .flags = JAILHOUSE_CON1_TYPE_HSCIF |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/jetson-tk1-demo.c b/configs/arm/jetson-tk1-demo.c
index 15c90e61..5a2ed067 100644
--- a/configs/arm/jetson-tk1-demo.c
+++ b/configs/arm/jetson-tk1-demo.c
@@ -37,6 +37,16 @@ struct {
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
.cpu_reset_address = CONFIG_INMATE_BASE,
+
+ .console = {
+ .address = 0x70006300,
+ /* .clock_reg = 0x60006000 + 0x330, */
+ /* .gate_nr = (65 % 32), */
+ /* .divider = 0xdd, */
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/jetson-tk1-linux-demo.c b/configs/arm/jetson-tk1-linux-demo.c
index c66a6863..0e04c42b 100644
--- a/configs/arm/jetson-tk1-linux-demo.c
+++ b/configs/arm/jetson-tk1-linux-demo.c
@@ -37,6 +37,16 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 152,
+
+ .console = {
+ .address = 0x70006300,
+ /* .clock_reg = 0x60006000 + 0x330, */
+ /* .gate_nr = (65 % 32), */
+ /* .divider = 0xdd, */
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/orangepi0-gic-demo.c b/configs/arm/orangepi0-gic-demo.c
index fe199bcd..a391ad53 100644
--- a/configs/arm/orangepi0-gic-demo.c
+++ b/configs/arm/orangepi0-gic-demo.c
@@ -31,6 +31,13 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0x01c28000,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/orangepi0-linux-demo.c b/configs/arm/orangepi0-linux-demo.c
index a3da1053..a561491a 100644
--- a/configs/arm/orangepi0-linux-demo.c
+++ b/configs/arm/orangepi0-linux-demo.c
@@ -37,6 +37,13 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 123,
+
+ .console = {
+ .address = 0x01c28000,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/vexpress-gic-demo.c b/configs/arm/vexpress-gic-demo.c
index fd59dfa2..1e109c10 100644
--- a/configs/arm/vexpress-gic-demo.c
+++ b/configs/arm/vexpress-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x1c090000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/vexpress-linux-demo.c b/configs/arm/vexpress-linux-demo.c
index 7f1b8198..63247757 100644
--- a/configs/arm/vexpress-linux-demo.c
+++ b/configs/arm/vexpress-linux-demo.c
@@ -35,6 +35,13 @@ struct {
.num_irqchips = 1,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x1c090000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm/vexpress-uart-demo.c b/configs/arm/vexpress-uart-demo.c
index eedcad90..829d288d 100644
--- a/configs/arm/vexpress-uart-demo.c
+++ b/configs/arm/vexpress-uart-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x1c090000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/amd-seattle-gic-demo.c b/configs/arm64/amd-seattle-gic-demo.c
index aaccdf25..36e5c16b 100644
--- a/configs/arm64/amd-seattle-gic-demo.c
+++ b/configs/arm64/amd-seattle-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0xe1010000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/amd-seattle-linux-demo.c b/configs/arm64/amd-seattle-linux-demo.c
index 88b9740d..6a7efe95 100644
--- a/configs/arm64/amd-seattle-linux-demo.c
+++ b/configs/arm64/amd-seattle-linux-demo.c
@@ -35,6 +35,13 @@ struct {
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
.num_irqchips = ARRAY_SIZE(config.irqchips),
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
+
+ .console = {
+ .address = 0xe1010000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/amd-seattle-uart-demo.c b/configs/arm64/amd-seattle-uart-demo.c
index b620919b..d29f9ae2 100644
--- a/configs/arm64/amd-seattle-uart-demo.c
+++ b/configs/arm64/amd-seattle-uart-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0xe1010000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/espressobin-gic-demo.c b/configs/arm64/espressobin-gic-demo.c
index 2cd1e5cd..ce586dc2 100644
--- a/configs/arm64/espressobin-gic-demo.c
+++ b/configs/arm64/espressobin-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0xd0012000,
+ .flags = JAILHOUSE_CON1_TYPE_MVEBU |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/espressobin-linux-demo.c b/configs/arm64/espressobin-linux-demo.c
index 1d358c31..9cc84140 100644
--- a/configs/arm64/espressobin-linux-demo.c
+++ b/configs/arm64/espressobin-linux-demo.c
@@ -37,6 +37,13 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 140-32,
+
+ .console = {
+ .address = 0xd0012000,
+ .flags = JAILHOUSE_CON1_TYPE_MVEBU |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/foundation-v8-gic-demo.c b/configs/arm64/foundation-v8-gic-demo.c
index 02a8f38b..2b35c352 100644
--- a/configs/arm64/foundation-v8-gic-demo.c
+++ b/configs/arm64/foundation-v8-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x1c090000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/foundation-v8-linux-demo.c b/configs/arm64/foundation-v8-linux-demo.c
index 1601a4f0..fbf65d3d 100644
--- a/configs/arm64/foundation-v8-linux-demo.c
+++ b/configs/arm64/foundation-v8-linux-demo.c
@@ -35,6 +35,13 @@ struct {
.num_irqchips = 1,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x1c090000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/foundation-v8-uart-demo.c b/configs/arm64/foundation-v8-uart-demo.c
index bde46352..ce7d67e2 100644
--- a/configs/arm64/foundation-v8-uart-demo.c
+++ b/configs/arm64/foundation-v8-uart-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x1c090000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/hikey-gic-demo.c b/configs/arm64/hikey-gic-demo.c
index f5618863..596cd2ad 100644
--- a/configs/arm64/hikey-gic-demo.c
+++ b/configs/arm64/hikey-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0xf7113000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/hikey-linux-demo.c b/configs/arm64/hikey-linux-demo.c
index 57cfb959..df85fde3 100644
--- a/configs/arm64/hikey-linux-demo.c
+++ b/configs/arm64/hikey-linux-demo.c
@@ -37,6 +37,13 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 143-32,
+
+ .console = {
+ .address = 0xf7113000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/imx8mq-gic-demo.c b/configs/arm64/imx8mq-gic-demo.c
index 7f13f7ae..d33e6b83 100644
--- a/configs/arm64/imx8mq-gic-demo.c
+++ b/configs/arm64/imx8mq-gic-demo.c
@@ -31,6 +31,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x30860000,
+ .flags = JAILHOUSE_CON1_TYPE_IMX |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/jetson-tx1-demo.c b/configs/arm64/jetson-tx1-demo.c
index e369d00b..3d904ece 100644
--- a/configs/arm64/jetson-tx1-demo.c
+++ b/configs/arm64/jetson-tx1-demo.c
@@ -31,6 +31,13 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0x70006000,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/jetson-tx1-linux-demo.c b/configs/arm64/jetson-tx1-linux-demo.c
index 8ea66a32..084f64a5 100644
--- a/configs/arm64/jetson-tx1-linux-demo.c
+++ b/configs/arm64/jetson-tx1-linux-demo.c
@@ -46,6 +46,13 @@ struct {
.vpci_irq_base = 152,
.cpu_reset_address = CONFIG_INMATE_BASE,
+
+ .console = {
+ .address = 0x70006000,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/jetson-tx2-demo.c b/configs/arm64/jetson-tx2-demo.c
index 93b3fbf9..e3c87eb3 100644
--- a/configs/arm64/jetson-tx2-demo.c
+++ b/configs/arm64/jetson-tx2-demo.c
@@ -26,6 +26,13 @@ struct {
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
+
+ .console = {
+ .address = 0x3100000,
+ .flags = JAILHOUSE_CON1_TYPE_8250 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/qemu-arm64-gic-demo.c b/configs/arm64/qemu-arm64-gic-demo.c
index 33e95dc3..5ee2ddc3 100644
--- a/configs/arm64/qemu-arm64-gic-demo.c
+++ b/configs/arm64/qemu-arm64-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0x09000000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/qemu-arm64-linux-demo.c b/configs/arm64/qemu-arm64-linux-demo.c
index b72d6ab6..4aba161d 100644
--- a/configs/arm64/qemu-arm64-linux-demo.c
+++ b/configs/arm64/qemu-arm64-linux-demo.c
@@ -38,6 +38,13 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 140-32,
+
+ .console = {
+ .address = 0x09000000,
+ .flags = JAILHOUSE_CON1_TYPE_PL011 |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/zynqmp-zcu102-gic-demo.c b/configs/arm64/zynqmp-zcu102-gic-demo.c
index a12799c0..d03c9d00 100644
--- a/configs/arm64/zynqmp-zcu102-gic-demo.c
+++ b/configs/arm64/zynqmp-zcu102-gic-demo.c
@@ -34,6 +34,13 @@ struct {
.num_irqchips = 0,
.pio_bitmap_size = 0,
.num_pci_devices = 0,
+
+ .console = {
+ .address = 0xff010000,
+ .flags = JAILHOUSE_CON1_TYPE_XUARTPS |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/zynqmp-zcu102-linux-demo-2.c b/configs/arm64/zynqmp-zcu102-linux-demo-2.c
index 1091712c..54a6ac88 100644
--- a/configs/arm64/zynqmp-zcu102-linux-demo-2.c
+++ b/configs/arm64/zynqmp-zcu102-linux-demo-2.c
@@ -37,6 +37,13 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 144-32,
+
+ .console = {
+ .address = 0xff010000,
+ .flags = JAILHOUSE_CON1_TYPE_XUARTPS |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/configs/arm64/zynqmp-zcu102-linux-demo.c b/configs/arm64/zynqmp-zcu102-linux-demo.c
index d226ca7a..d208df40 100644
--- a/configs/arm64/zynqmp-zcu102-linux-demo.c
+++ b/configs/arm64/zynqmp-zcu102-linux-demo.c
@@ -37,6 +37,13 @@ struct {
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.vpci_irq_base = 140-32,
+
+ .console = {
+ .address = 0xff010000,
+ .flags = JAILHOUSE_CON1_TYPE_XUARTPS |
+ JAILHOUSE_CON1_ACCESS_MMIO |
+ JAILHOUSE_CON1_REGDIST_4,
+ },
},
.cpus = {
diff --git a/include/jailhouse/cell-config.h b/include/jailhouse/cell-config.h
index 7af7d6a8..09a45a40 100644
--- a/include/jailhouse/cell-config.h
+++ b/include/jailhouse/cell-config.h
@@ -81,6 +81,8 @@ struct jailhouse_cell_desc {
__u64 cpu_reset_address;
__u64 msg_reply_timeout;
+
+ struct jailhouse_console console;
} __attribute__((packed));
#define JAILHOUSE_MEM_READ 0x0001
--
2.17.0