Page table stage 2 translation error

Forum related to ERIKA Enterprise and RT-Druid version 3

Moderator: paolo.gai

Locked
reis220

Page table stage 2 translation error

Post by reis220 »

Hello everyone,

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;

};
};
e.guidieri

Re: Page table stage 2 translation error

Post by e.guidieri »

Are you trying to access some peripherals registers, don't you?
reis220

Re: Page table stage 2 translation error

Post by reis220 »

No, i am trying to access some system RAM and not MMIO.
e.guidieri

Re: Page table stage 2 translation error

Post by e.guidieri »

So, how do you try to access this memory? It seems that you are not doing it through reference to variables, but through other techniques could you explain what are youd doing and why?
Locked