I am using Erika v3 with Jailhouse as hypervisor. While trying to access a memory within Erika, i came across a problem. The error refers to a "fault on the stage 2 translation of an access for a stage 1 translation table walk.". So, the guest's page table is actually giving the fault. I want to find out how to retrieve the address of that table entry.
Another thing that i've noticed is that, even if i can access that memory, i cannot access another contiguous memory afterwards, as the system simply halts forever, while in Linux i can do it.
OIL file:
CPU mySystem {
OS myOs {
/* EE_OPT = "OS_EE_VERBOSE"; */
EE_OPT = "OSEE_DEBUG";
EE_OPT = "OS_EE_APPL_BUILD_DEBUG";
EE_OPT = "OS_EE_BUILD_DEBUG";
EE_OPT = "OSEE_ASSERT";
CFLAGS = "-g -Wall";
CFLAGS = "-mstrict-align";
CFLAGS = "-I/home/joao/Desktop/jailhouse_v0.10/inmates/lib/arm-common/include";
CFLAGS = "-I/usr/aarch64-linux-gnu/include";
CPU_DATA = AARCH64 {
MULTI_STACK = TRUE;
COMPILER = GCC;
IDLEHOOK = TRUE {
HOOKNAME = "idle_hook";
};
};
/* SOC_DATA = NVIDIA_TEGRA_X1; */
SOC_DATA = XILINX_ZYNQ_ULTRASCALE_PLUS;
KERNEL_TYPE = OSEK {
CLASS = ECC1;
};
};
APPDATA aarch64_jailhouse_hello_world {
APP_SRC = "main.c";
};
TASK Task1 {
PRIORITY = 1;
AUTOSTART = TRUE;
STACK = PRIVATE {
SIZE = 1024;
};
SCHEDULE = FULL;
};
};