Laszlo,
Yes! After I switched to a newer platform the system can boot to Shell very 
well!

Thank you very much for your patient help.

Regards,
Ray

>-----Original Message-----
>From: Laszlo Ersek [mailto:[email protected]]
>Sent: Friday, March 18, 2016 3:02 PM
>To: Ni, Ruiyu <[email protected]>
>Cc: Paolo Bonzini <[email protected]>; Justen, Jordan L 
><[email protected]>; [email protected]
><[email protected]>
>Subject: Re: [edk2] Software SMI STS bit is not set when writing port B2 in 
>QEMU Q35
>
>On 03/18/16 04:23, Ni, Ruiyu wrote:
>> Laszlo,
>> I downloaded the stable 4.4.6 and build it myself.
>> 1. enable KVM as a module in "make menuconfig"
>> 2. "make -j3"
>> 2. install the modules/kernel: "sudo make install_modules" and "sudo make 
>> install"
>> 3. update the boot loader "sudo update-grub2"
>> 4. reboot to use the new kernel "sudo reboot"
>>
>> I can confirm that the new kernel is used because in the first time I built 
>> the kernel,
>> I forgot to turn on KVM which resulted the QEMU failed to start.
>> After I turned on the KVM in "make menuconfig", the new kernel can start 
>> QEMU.
>>
>> However, I got the same result as that when I used the 4.4.1 in ppa.
>> The QEMU stops at UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c : 
>> SmmRelocateBases()
>> in the line: while (!mRebased[BspIndex]);
>>
>> What else did I miss?
>>
>> Is there any advanced feature requirement to the HOST CPU besides the 
>> fundamental VT?
>> Could it because my HOST CPU is too old?
>> Please forgive my ignorance. :(
>> I attached the /proc/cpuinfo.
>
>I think you didn't miss anything. Thank you for going the extra mile and
>building your kernel.
>
>I believe it is possible that your host CPU is too old, but I can't say
>for sure. I'd like to ask Paolo for help with that.
>
>Can you please post the output of the following command:
>
>  tail /sys/module/kvm_intel/parameters/*
>
>If the output says that "unrestricted_guest" is "N", then it could be a
>problem. Paolo should correct me if necessary, but when entering SMM, it
>is real mode, and for virtualizing real mode, you need "unrestricted_guest".
>
>KVM can also emulate some aspects of real mode, if you lack
>"unrestricted_guest" (see "emulate_invalid_guest_state" as well in the
>output of the above command -- it defaults to Y).
>
>... Hm, according to wikipedia
><https://en.wikipedia.org/wiki/X86_virtualization>,
>
>    Intel started to include Extended Page Tables (EPT), a technology
>    for page-table virtualization, since the Nehalem architecture,
>    released in 2008. In 2010, Westmere added support for launching the
>    logical processor directly in real mode – a feature called
>    "unrestricted guest", which requires EPT to work.
>
>I don't see "ept" in your "cpuinfo.txt" file.
>
>http://ark.intel.com/products/30784/Intel-Core2-Duo-Processor-E6750-4M-Cache-2_66-GHz-1333-MHz-FSB
>
>FWIW, my old company workstation, a HP Z400 with "Intel(R) Xeon(R) CPU
>W3550", also lacks "unrestricted_guest" (although it does have EPT).
>
>http://ark.intel.com/products/39720/Intel-Xeon-Processor-W3550-8M-Cache-3_06-GHz-4_80-GTs-Intel-QPI
>
>I've retested SMM in OVMF just now, on that workstation, and it works
>fine. (The host kernel is "4.4.3-201.fc22.x86_64", for the record.)
>
>So I think your host processor might be too old indeed, but I can't tell
>which feature exactly is missing. :(
>
>... Hm, wait a second, maybe I can. It could be EPT after all. I
>reloaded my kvm_intel module with ept=N (i.e., it wouldn't use EPT even
>if the host processor provided it), and indeed my guest failed to boot
>as well; it got stuck in OVMF while pegging a few host CPU cores. The
>last lines I saw in the log were:
>
>Detect CPU count: 8
>Does not find any HOB stored CPU BIST information!
>
>Can you try on a less ancient machine?
>
>Thanks
>Laszlo
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to