>From now on, the entry point of a cell is no longer fixed to 0x0 on ARM.

Default behaviour does not change, as non-defined entry settings in cell
configs default to zero.

Signed-off-by: Ralf Ramsauer <[email protected]>
---
 hypervisor/arch/arm-common/control.c       | 2 +-
 hypervisor/include/jailhouse/cell-config.h | 4 +++-
 tools/jailhouse-cell-linux                 | 2 +-
 tools/jailhouse-hardware-check             | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/hypervisor/arch/arm-common/control.c 
b/hypervisor/arch/arm-common/control.c
index 55d202a0..987e06d9 100644
--- a/hypervisor/arch/arm-common/control.c
+++ b/hypervisor/arch/arm-common/control.c
@@ -200,7 +200,7 @@ void arch_cell_reset(struct cell *cell)
         * All CPUs but the first are initially suspended.
         * The first CPU starts at address 0.
         */
-       per_cpu(first)->cpu_on_entry = 0;
+       per_cpu(first)->cpu_on_entry = cell->config->entry;
        for_each_cpu_except(cpu, cell->cpu_set, first)
                per_cpu(cpu)->cpu_on_entry = PSCI_INVALID_ADDRESS;
 
diff --git a/hypervisor/include/jailhouse/cell-config.h 
b/hypervisor/include/jailhouse/cell-config.h
index 62c8b4c7..833c385f 100644
--- a/hypervisor/include/jailhouse/cell-config.h
+++ b/hypervisor/include/jailhouse/cell-config.h
@@ -40,7 +40,7 @@
 #define _JAILHOUSE_CELL_CONFIG_H
 
 /* Incremented on any layout or semantic change of system or cell config. */
-#define JAILHOUSE_CONFIG_REVISION      4
+#define JAILHOUSE_CONFIG_REVISION      5
 
 #define JAILHOUSE_CELL_NAME_MAXLEN     31
 
@@ -72,6 +72,8 @@ struct jailhouse_cell_desc {
        __u32 num_pci_caps;
 
        __u32 vpci_irq_base;
+
+       __u64 entry;
 } __attribute__((packed));
 
 #define JAILHOUSE_MEM_READ             0x0001
diff --git a/tools/jailhouse-cell-linux b/tools/jailhouse-cell-linux
index dea6c3ef..70f670b1 100755
--- a/tools/jailhouse-cell-linux
+++ b/tools/jailhouse-cell-linux
@@ -512,7 +512,7 @@ class MemoryRegion:
 
 class Config:
     _HEADER_FORMAT = '6sH32s4xIIIIIIIII'
-    _HEADER_REVISION = 4
+    _HEADER_REVISION = 5
 
     def __init__(self, config_file):
         self.data = config_file.read()
diff --git a/tools/jailhouse-hardware-check b/tools/jailhouse-hardware-check
index fb820120..413b90d1 100755
--- a/tools/jailhouse-hardware-check
+++ b/tools/jailhouse-hardware-check
@@ -113,7 +113,7 @@ class Sysconfig:
     X86_MAX_IOMMU_UNITS = 8
     X86_IOMMU_SIZE = 20
 
-    HEADER_REVISION = 4
+    HEADER_REVISION = 5
     HEADER_FORMAT = '6sH'
 
     def __init__(self, path):
-- 
2.12.2

-- 
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.

Reply via email to