Setting up Jailhouse on an Intel Xeon Machine

21 views
Skip to first unread message

Syed Aftab Rashid

unread,
Jun 5, 2024, 9:39:40 AMJun 5
to Jailhouse
Hi all,


I have managed to successfully install and use Jailhouse on an old x86 machine. However, I have recently got a relatively new intel Xeon machine that supports CAT etc so I want to test Jailhouse on that machine. The machine specs are given here HP Z4 G5 PTC certified, Intel Xeon W3-2435 SSD PCIe , NVIDIA RTX A4000 , Win10 Pro/Win (Xeon W, 64 GB, 1000 GB, SSD, GeForce RTX 4000 Ada) - digitec

I have jailhouse installed on the system, however when I try to enable the root cell the system hangs. I have a serial console and the output on the serial console is as follows

Initializing Jailhouse hypervisor v0.12 (342-gd6e64f90) on CPU 5
Code location: 0xfffffffff0000050
Using x2APIC
Page pool usage after early setup: mem 135/32207, remap 0/131072
Initializing processors:
CPU 5...

the system hangs afterward and there is no more output on the serial port.


I have traced the problem and it seems to be at this function call in jailhouse/hypervisor/arch/x86/setup.c


write_msr(MSR_IA32_PAT, PAT_HOST_VALUE);

the code never returns from this function when initializing the first processor and hangs. What might be the problem? The function is as follows


static inline void write_msr(unsigned int msr, unsigned long val)
{
asm volatile("wrmsr"
: /* no output */
: "c" (msr), "a" (val), "d" (val >> 32)
: "memory");
}

The problem seems to be in writing the MSR_IA32_PAT register. I have tried to write the same value I read from the register as well, e.g., 

cpu_data->pat = read_msr(MSR_IA32_PAT);
write_msr(MSR_IA32_PAT,  cpu_data->pat ); 

but the behavior is the same. Any insights on what can the problem be?

Reply all
Reply to author
Forward
0 new messages