2012/10/23 Gonglei (Arei) <[email protected]>

>  Hi, Bei, ****
>
> Thanks a lot!****
>
> I have tried it with the ovmf.bin which you provided, and I get the boot
> info:****
>
> ** **
>
> 16****
>
> 32****
>
> b1****
>
> f1****
>
> 64****
>
> SecCoreStartupWithStack(0xFFFE6000, 0x80000)****
>
> File->Type: 0xB****
>
> Section->Type: 0x2****
>
> Section->Type: 0x19****
>
> Section->Type (0x19) != SectionType (0x17)****
>
> Section->Type: 0x17****
>
> File->Type: 0x2****
>
> File->Type (0x2) != FileType (0x4)****
>
> File->Type: 0xF0****
>
> File->Type (0xF0) != FileType (0x4)****
>
> File->Type: 0x4****
>
> Section->Type: 0x19****
>
> Section->Type (0x19) != SectionType (0x10)****
>
> Section->Type: 0x10****
>
> Register PPI Notify: DCD0BE23-9586-40F4-B643-06522CED4EDE****
>
> Install PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3****
>
> Install PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A****
>
> The 0th FV start address is 0x00000800000, size is 0x00600000, handle is
> 0x800000****
>
> Register PPI Notify: 49EDB1C1-BF21-4761-BB12-EB0031AABB39****
>
> Install PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6****
>
> Install PPI: DBE23AA9-A345-4B97-85B6-B226F1617389****
>
> … …****
>
> ** **
>
> And I can see EFI Shell of VM by VNC Viewer.****
>
> ** **
>
> I  used to build the OVMF encounter some errors about ”ms_abi”:****
>
> ** **
>
> OvmfPkg/build.sh -a X64  -D DEBUG_ON_SERIAL_PORT****
>
> Initializing workspace****
>
> WORKSPACE        =
> /home/sdb2/gonglei/xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf****
>
> ECP_SOURCE       =
> /home/sdb2/gonglei/xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/EdkCompatibilityPkg
> ****
>
> EDK_SOURCE       =
> /home/sdb2/gonglei/xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/EdkCompatibilityPkg
> ****
>
> EFI_SOURCE       =
> /home/sdb2/gonglei/xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/EdkCompatibilityPkg
> ****
>
> EDK_TOOLS_PATH   =
> /home/sdb2/gonglei/xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/BaseTools
> ****
>
> ** **
>
> Architecture(s)  = X64****
>
> Build target     = DEBUG****
>
> Toolchain        = GCC44****
>
> ** **
>
> /home/sdb2/arei/xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c:713:
> error: 'ms_abi' attribute directive ignored****
>
> /home/sdb2/ arei
> /xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c:745:
> error: 'ms_abi' attribute directive ignored****
>
> /home/sdb2/ arei
> /xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c:777:
> error: 'ms_abi' attribute directive ignored****
>
> /home/sdb2/ arei
> /xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c:800:
> error: 'ms_abi' attribute directive ignored****
>
> make[1]: *** [/home/sdb2/ arei
> /xen-upgrade/xen-4.2.0.bak/tools/firmware/ovmf/Build/OvmfX64/DEBUG_GCC44/X64/MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib/OUTPUT/MemoryAllocationLib.obj]
> Error 1****
>
> ** **
>
> I  delete “-DEFIAPI=__attribute__((sysv_abi))”so that the ovmf can be
> built successfully in the  ovmf/Conf/tools_def.txt:****
>
> DEFINE GCC44_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64
> "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno- red-zone
> -Wno-address -mcmodel=large****
>
> à DEFINE GCC44_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64
>  -DNO_BUILTIN_VA_FUNCS -mno- red-zone -Wno-address -mcmodel=large****
>
> ** **
>
> Hi Jordan, Bei,****
>
> Am I doing it wrong?
>
Hi Arei,
Sorry. I'm not sure why OVMF needs this attribute "ms_abi". Maybe Jordan
can give you the answer. However, without this attribute, OVMF cannot boot
on Xen in my environment.



>  ****
>
> ** **
>
> Bei,****
>
>    Have you encountered error when you built the OVMF?
>
I'm afraid I have never encountered this error. Maybe it's related to your
environment in which you build OVMF. My complete building environment  is
Linux-2.6.32-5-xen-amd64-x86_64-with-Ubuntu-10.04-lucid.


Thanks,
Bei




> ****
>
> ** **
>
> Best Regards!****
>
> Arei****
>
> ** **
>
> *From:* Bei Guan [mailto:[email protected]]
> *Sent:* Tuesday, October 23, 2012 9:59 AM
> *To:* Jordan Justen
> *Cc:* Gonglei (Arei); Andrei Warkentin; [email protected];
> Luonengjun
>
> *Subject:* Re: xen OVMF problem****
>
>  ** **
>
> ** **
>
> 2012/10/23 Jordan Justen <[email protected]>****
>
> On Mon, Oct 22, 2012 at 5:20 AM, Gonglei (Arei) <[email protected]>
> wrote:
> > Hi, Jordan
> >         What's your opinion about this problem?  Thanks!****
>
> Sorry. I'm still working to setup a Xen test environment.
>
> Bei, Andrei,
>
> How recently have you been able to test Xen with OVMF?
>
> Do you have time to verify that the latest OVMF svn is still booting
> on Xen for you?****
>
> Hi Jordan,****
>
> ** **
>
> I have tested the latest OVMF(r13876) with Xen. It's still working.****
>
> ** **
>
> ** **
>
> Hi Arei,****
>
> ** **
>
> This is my environment:****
>
> Xen-4.2-unstable (changeset: 25388) + Dom0 (2.6.32-5-xen-amd64)  +
> OVMF(r13876) . ****
>
> I use the device model "device_model_version = 'qemu-xen'" in my hvm
> config file, so maybe it's not the upstream QEMU. ****
>
> ** **
>
> ** **
>
> I have attached my OVMF file(ovmf.bin of X64) for Xen and the OVMF boot
> log got in my environment. If you like, you can try it with this OVMF file.
> Note: The OVMF boot log file includes some Xen PV debug info(line 111-138),
> you can get rid of them.****
>
> ** **
>
> ** **
>
> ** **
>
> Thanks,****
>
> Bei****
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
>  ****
>
>
> Thanks,
>
> -Jordan****
>
>
> > -----Original Message-----
> > From: Gonglei (Arei)
> > Sent: Wednesday, October 17, 2012 9:00 AM
> > To: 'Jordan Justen'
> > Cc: [email protected]; Andrei Warkentin
> > Subject: RE: xen OVMF problem
> >
> > Jordan,
> >  My environment is xen-4.2-testing + upstream qemu-1.2  +  Dom0 (Linux
> kernel 2.6.32) + OVMF(
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/)
> >
> > -----Original Message-----
> > From: Jordan Justen [mailto:[email protected]]
> > Sent: Wednesday, October 17, 2012 5:21 AM
> > To: Gonglei (Arei); [email protected]; Andrei Warkentin
> > Subject: Re: xen OVMF problem
> >
> > Adding Andrei's current email...
> >
> > On Tue, Oct 16, 2012 at 2:20 PM, Jordan Justen <[email protected]>
> wrote:
> >> On Tue, Oct 16, 2012 at 2:18 AM, Gonglei (Arei) <
> [email protected]> wrote:
> >>> Hi Jordan,
> >>>   I have gotten more detailed location where it stuck.
> >>>
> >>> linux-aVzzFl:~ # xl create win2008.cfg -c
> >>> Parsing config from win2008.cfg
> >>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>>   Loader:        0000000000100000->000000000029c344
> >>>   TOTAL:         0000000000000000->000000007f800000
> >>>   ENTRY ADDRESS: 0000000000100000
> >>> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>>   4KB PAGES: 0x0000000000000200
> >>>   2MB PAGES: 0x00000000000003fb
> >>>   1GB PAGES: 0x0000000000000000
> >>> Daemon running with PID 3105
> >>> 16
> >>> 32
> >>> b1
> >>> f1
> >>> 64
> >>> ===gl===: 1th hello world!
> >>> SecCoreStartupWithStack(0x80000000, 0x43636553)
> >>
> >> 0x43636553 concerns me here. It is the TopOfCurrentStack parameter,
> >> and it most likely should be aligned to a reasonable boundary.
> >>
> >> On QEMU/KVM I see:
> >> SecCoreStartupWithStack(0xFFFEC000, 0x80000)
> >>
> >> Bei, Andrei,
> >>
> >> What do you see when you boot Xen?
> >>
> >> Arei, Bei, Andrei,
> >>
> >> Can you guys describe your environment so I might try to set up a
> >> similar Xen based OVMF to help debug things?
> >>
> >> Thanks,
> >>
> >> -Jordan
> >>
> >>> ===gl===: 5th hello world!
> >>> ===gl===: 1th SecStartupPhase2
> >>> ===gl===: 1th FindAndReportEntryPoints
> >>> ===gl===: 1th FindImageBase
> >>> ===gl===: 1th EFI_NOT_FOUND: 0x80000000
> >>> ===gl===: 2th FindAndReportEntryPoints, Status=0x80000000
> >>>
> >>> ASSERT_EFI_ERROR (Status = 00000000)
> >>> ASSERT (522976):
> >>>
> >>> FindImageBase function:
> >>>  for (EndOfFile = CurrentAddress +
> BootFirmwareVolumePtr->HeaderLength; ; ) {
> >>>
> >>>     CurrentAddress = (EndOfFile + 7) & 0xfffffffffffffff8ULL;
> >>>     if (CurrentAddress > EndOfFirmwareVolume) {
> >>>       return EFI_NOT_FOUND;  //return from this place
> >>>     }
> >>>
> >>> FindAndReportEntryPoints function:
> >>>
> >>>   // Find SEC Core and PEI Core image base
> >>>   Status = FindImageBase (*BootFirmwareVolumePtr, &SecCoreImageBase);
> >>>   ASSERT_EFI_ERROR (Status); //print the error info
> >>>
> >>> -----Original Message-----
> >>> From: Gonglei (Arei)
> >>> Sent: Tuesday, October 16, 2012 11:21 AM
> >>> To: 'Jordan Justen'
> >>> Cc: [email protected]; [email protected];
> [email protected]; Luonengjun; Fanhenglong; Hanweidong; Yanqiangjun;
> Yangxiaowei; Qianhuibin; Wangzhenguo
> >>> Subject: RE: xen OVMF problem
> >>>
> >>> No,  I'm not using "-D SOURCE_DEBUG_ENABLE", but adding DEBUG info in
> the source code.
> >>>
> >>> linux-aVzzFl:~# xl create win2008.cfg -c
> >>> Parsing config from win2008_dc_r2_64_2U.cfg
> >>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>>   Loader:        0000000000100000->000000000029c344
> >>>   TOTAL:         0000000000000000->000000007f800000
> >>>   ENTRY ADDRESS: 0000000000100000
> >>> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>>   4KB PAGES: 0x0000000000000200
> >>>   2MB PAGES: 0x00000000000003fb
> >>>   1GB PAGES: 0x0000000000000000
> >>> Daemon running with PID 11057
> >>> 16
> >>> 32
> >>> b1
> >>> f1
> >>> 64
> >>> ===gl===: 1th hello world!
> >>> SecCoreStartupWithStack(0x80000000, 0x43636553)
> >>> ===gl===: 2th hello world!
> >>> ===gl===: 3th hello world!
> >>> ===gl===: 4th hello world!
> >>> ===gl===: 5th hello world!
> >>>
> >>> ASSERT_EFI_ERROR (Status = 00000000)
> >>> ASSERT (522976):
> >>>
> >>> The source code:
> >>>
> >>>   AsmWriteIdtr (&IdtDescriptor);
> >>>   DEBUG((EFI_D_ERROR, "===gl===: 4th hello world!\n"));
> >>>   ... ...
> >>>   //
> >>>   // Make sure the 8259 is masked before initializing the Debug Agent
> and the debug timer is enabled
> >>>   //
> >>>   IoWrite8 (0x21, 0xff);
> >>>   IoWrite8 (0xA1, 0xff);
> >>>   DEBUG((EFI_D_ERROR, "===gl===: 5th hello world!\n"));
> >>>   //
> >>>   // Initialize Debug Agent to support source level debug in SEC/PEI
> phases before memory ready.
> >>>   //
> >>>   InitializeDebugAgent (DEBUG_AGENT_INIT_PREMEM_SEC, &SecCoreData,
> SecStartupPhase2);
> >>>   DEBUG((EFI_D_ERROR, "===gl===: 6th hello world!\n"));
> >>>
> >>> -----Original Message-----
> >>> From: Jordan Justen [mailto:[email protected]]
> >>> Sent: Tuesday, October 16, 2012 11:14 AM
> >>> To: Gonglei (Arei)
> >>> Cc: [email protected]; [email protected];
> [email protected]; Luonengjun; Fanhenglong; Hanweidong; Yanqiangjun;
> Yangxiaowei; Qianhuibin; Wangzhenguo
> >>> Subject: Re: xen OVMF problem
> >>>
> >>> On Mon, Oct 15, 2012 at 7:54 PM, Gonglei (Arei) <
> [email protected]> wrote:
> >>>> Thanks Jordan,
> >>>>  I am now doing this as your says. And I get the OVMF debugging
> output:
> >>>> linux-aVzzFl:~# xl create win2008.cfg -c
> >>>> Parsing config from win2008_dc_r2_64_2U.cfg
> >>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>>>   Loader:        0000000000100000->000000000029c344
> >>>>   TOTAL:         0000000000000000->000000007f800000
> >>>>   ENTRY ADDRESS: 0000000000100000
> >>>> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>>>   4KB PAGES: 0x0000000000000200
> >>>>   2MB PAGES: 0x00000000000003fb
> >>>>   1GB PAGES: 0x0000000000000000
> >>>> Daemon running with PID 30001
> >>>> 16
> >>>> 32
> >>>> b1
> >>>> f1
> >>>> 64
> >>>> SecCoreStartupWithStack(0x80000000, 0x43636553)
> >>>>
> >>>> ASSERT_EFI_ERROR (Status = 00000000)
> >>>> ASSERT (522976):
> >>>>
> >>>> --------------------------------------------------------
> >>>> Using the DEBUG I find it stop in this function:
> SecCoreStartupWithStack
> >>>>
> >>>> line 652: InitializeDebugAgent (DEBUG_AGENT_INIT_PREMEM_SEC,
> &SecCoreData, SecStartupPhase2);
> >>>> (OvmfPkg/Sec/SecMain.c)
> >>>
> >>> Are you using
> >>> -D SOURCE_DEBUG_ENABLE
> >>> when building?
> >>>
> >>> I recommend not using that at this point.
> >>>
> >>> -Jordan
> >>>
> >>>> -----Original Message-----
> >>>> From: Jordan Justen [mailto:[email protected]]
> >>>> Sent: Monday, October 15, 2012 11:33 PM
> >>>> To: Gonglei (Arei)
> >>>> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; Luonengjun;
> Fanhenglong; Hanweidong; Yanqiangjun; Yangxiaowei; Qianhuibin; Wangzhenguo
> >>>> Subject: Re: xen OVMF problem
> >>>>
> >>>> Ok, I think I understand the issue then. With the latest code you need
> >>>> this on the build command line to see debug messages printed to the
> >>>> serial port.
> >>>>
> >>>> -D DEBUG_ON_SERIAL_PORT
> >>>>
> >>>> Does Xen support QEMU's debug console device?
> >>>>
> >>>> -Jordan
> >>>>
> >>>> On Mon, Oct 15, 2012 at 1:44 AM, Gonglei (Arei) <
> [email protected]> wrote:
> >>>>> Hi Jordan,
> >>>>>
> >>>>> 1) I get the OVMF from
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/.
> >>>>>
> >>>>> 2) I build the ResetVector code and modify
> >>>>> UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf to use the serial
> >>>>> debug versions (Bin/ResetVector.x64.serial.raw and
> >>>>> Bin/ResetVector.ia32.serial.raw).
> >>>>>
> >>>>> -Arei
> >>>>>****
>
>
>
> ****
>
> ** **
>
> --
> Best Regards,****
>
> Bei Guan****
>
> ** **
>



-- 
Best Regards,
Bei Guan
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to