Junhao  


FYI there is a regression in master for OVFM right now: https://bugzilla.tianocore.org/show_bug.cgi?id=2266 so you might be hitting that.


Thanks,

Andrew Fish

On Oct 11, 2019, at 11:13 PM, Junhao Gao <junhao.gao@intel.com> wrote:



-----Original Message-----
From: David Woodhouse <dwmw2@infradead.org>
Sent: Friday, October 11, 2019 10:36 PM
To: Laszlo Ersek <lersek@redhat.com>; Gao, Junhao <junhao.gao@intel.com>;
devel@edk2.groups.io
Subject: Re: [edk2-devel] question about qemu+kvm+ovmf+winxp

On Fri, 2019-10-11 at 16:27 +0200, Laszlo Ersek wrote:
On 10/11/19 09:44, Gao, Junhao wrote:
Hi David

      I have found this compiled OVMF-with-csm.fd can support winxp booting
up.
      OVMF-with-csm.fd path:
https://www.kraxel.org/repos/jenkins/seabios/seabios.git-csm-1.12.0-
33.63.g43f5df7.x86_64.rpm
      Then could you help to provide me the compile method and base code to
reproduce this OVMF-with-csm.fd?

Ah, good point, I should have remembered that Gerd offers a CSM build in
his repo!

So, you can easily look up the build instructions, in Gerd's SeaBIOS and
OVMF RPM "spec" files. Check out these git repositories:

 https://git.kraxel.org/cgit/jenkins/seabios/
 https://git.kraxel.org/cgit/jenkins/edk2/

Specifically:

 https://git.kraxel.org/cgit/jenkins/seabios/tree/seabios.git.spec
 https://git.kraxel.org/cgit/jenkins/edk2/tree/edk2.git.spec.template

Right, thanks.

Ultimately it's as simple as:

• Build SeaBIOS with CONFIG_CSM
• Drop the resulting Csm16.bin into OvmfPkg/Csm/Csm16/ in the EDK2 tree
• Build EDK2 with -DCSM_ENABLE


Thanks David, follow these steps, I can reproduce the OVMF-with-csm.fd.
However, I find that when I choose remotes/origin/master branch, after compiling, qemu+kvm+ovmf+winxp can't 
boot up, but when I choose remotes/origin/UDK2018, the compiled OVMF.fd can work.
So the latest edk2 code have removed CSM support? Could I apply the CSM patch to 
the latest edk2 code to support my work because our project is based on the latest EDK2 code, thanks.

Someone else mailed me recently to say they'd copied the Csm packages
over from OvmfPkg to Quark and had Windows booting on Galileo boards.

Hm, I wonder if we should move the CSM support out of OVMF and into
somewhere more generic, since it really is generic and not platform-
specific?

I can't make some decisions, from my view, maybe CSM module can be 
an independent patch for user to apply or reject :)