Page table stage 2 translation error

Forum related to ERIKA Enterprise and RT-Druid version 3

Moderator: paolo.gai

Post Reply
reis220
Newbie
Posts: 9
Joined: Sun Feb 17, 2019 8:48 pm

Page table stage 2 translation error

Post by reis220 » Wed Apr 24, 2019 1:18 am

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
Full Member
Posts: 166
Joined: Tue May 10, 2011 2:05 pm

Re: Page table stage 2 translation error

Post by e.guidieri » Wed Apr 24, 2019 11:04 am

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

reis220
Newbie
Posts: 9
Joined: Sun Feb 17, 2019 8:48 pm

Re: Page table stage 2 translation error

Post by reis220 » Wed Apr 24, 2019 11:48 pm

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

e.guidieri
Full Member
Posts: 166
Joined: Tue May 10, 2011 2:05 pm

Re: Page table stage 2 translation error

Post by e.guidieri » Thu Apr 25, 2019 2:04 pm

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?

Post Reply