I try to install SGX PSW inside Xen guest VM, but the device /dev/mei0 is missing. I didn't find out there is the mei_me driver in the SGX patched Xen. What can I do for this?
- Host OS: Ubuntu 16.04 LTS
- Guest OS: Ubuntu 16.04 LTS
- Xen: Xen-4.10 SGX virtualization patched (https://github.com/01org/xen-sgx)
I can find the /dev/mei0 in the Host OS, and the SGX has been enabled in the Host OS BIOS.
I will be glad to help you solve this issue.
First, can you help post your hardware configuration of the host that you are using? I would like to know whether Intel ME is supported on that configuration.
Secondly, were you able to install SGX PSW on the host itself? If we can know whether the issue can be recreated on the host (and not only the guest OS), that would be helpful in debugging.
Please let us know.
Thank you for the reply, Hoang.
1. The hardware configuration:
- System Manufacturer: Dell Inc.
- System Model: Inspiron 13-7359
- BIOS: 01.00.00
- Processor: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz (4 CPUs), ~2.6GHz
- Memory: 8192MB RAM
- Available OS Memory: 8042MB RAM
2. Yes, I can install the SGX PSW on the Host OS. And the test program can be executed under hardware mode properly. The Host OS can recognize the /dev/mei0 device, which means the MEI is supported. So I think the Host machine hardware supports SGX, and the problem is caused by Xen.
I am unable to recreate this environment and duplicate this error. Would you be able to provide me with instructions on how you install XEN and how you start a new session? Please provide specific commands and installation resource sites and pointers to code that you have downloaded.
I installed Xen based on the following wiki:
1.Download Xen 4.10.
- # git clone https://github.com/01org/xen-sgx.git
2. Configure and build Xen. I install the Xen from a clean Ubuntu system.
- # ./configure
- # make world
- # make install
3. Reboot and enter the Xen environment. Start the Xen service manually, if it didn't start automatically.
- # /etc/init.d/xencommons start
4. Setup the bridge named 'xenbr0'. Create VM configure file like this:
builder = "hvm"
name = "ubuntu-sgx"
memory = 2048
vcpu = 2
vif = ['']
disk = ['phy:/var/lib/xen/images/ubuntu-sgx.img,hda,w']
vnc = 1
boot = "c"
epc = 32
5. Use xl command to create a seesion.
- # xl create ubuntu-sgx.cfg
After installing system in VM, you can start to install SGX.