Getting ACRN to work

Dubravko Moravski | Exor Embedded S.r.l. <dubravko.moravski@...>


My schedule finally allows me to continue working on getting ACRN to work on our board. I have downloaded the newest version few days ago, added a configuration for our board, used the python/web tool to generate code patches, menuconfig, and built acrn.efi. Everything went well so far. Unfortunately the hypervisor crashes quite early, but at least I've got debug prints to work.

Here is a part from mmu.c from hypervisor/arch/x86/, debug printouts added by me:

* remove 'NX' bit for pages that contain hv code section, as by default XD bit is set for
* all pages, including pages for guests.
printf("paging 6\n");
mmu_modify_or_del((uint64_t *)ppt_mmu_pml4_addr, round_pde_down(hv_hpa),
round_pde_up(text_end) - round_pde_down(hv_hpa), 0UL,
PAGE_NX, &ppt_mem_ops, MR_MODIFY);

mmu_modify_or_del((uint64_t *)ppt_mmu_pml4_addr, (uint64_t)get_reserve_sworld_memory_base(),

printf("paging 7\n");
/* Enable paging */
"paging 6" gets printed out, "7" doesn't. That's the last sign of life from ACRN, nothing happens afterwards. What should I do to make it work?

My board has 8 GB of RAM, verified with multiple passes of MemTest to work correctly. CPU is Apollo Lake E3940. Some configuration parameters from menuconfig that might be of relevance:
  • LOW_RAM_SIZE = 0x10000 (default value)
  • HV_RAM_START = 0x13151000 (default value)
  • HV_RAM_SIZE = 0x7800000 (default value)
  • PLATFORM_RAM_SIZE = 0x200000000 (8 GB)
  • SOS_RAM_SIZE = 0x200000000 (8 GB)
  • UOS_RAM_SIZE = 0x100000000 (4 GB)
I suspect, since it seems to crash while adjusting memory parameters, that some of the parameter values above are bad. I think all the initial values were set for some 16 or 32 GB board, so perhaps I didn't adjust everything that I should have? Unfortunately I'm not familiar with inner workings of x86 CPUs at this low level.

Best regards,
Dubravko Moravski

Dubravko Moravski
SW engineering
Exor Embedded S.r.l.
p: +38 512455659  m: +38 5915402413
a: Slavonska avenija, 50, Zagreb, Croatia, 10000

 Prima di stampare pensa ai costi ambientali. Please consider the environment before printing this email.


Join to automatically receive all group messages.