On Tue, Oct 23, 2012 at 4:42 AM, Gonglei (Arei) <[email protected]> wrote: > /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
Ah! This could certainly explain things. Does '/usr/bin/gcc -v' report GCC 4.4 or higher? > 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? Yes. You cannot change EFIAPI with the GCC44~GCC46 on X64 or else the calling convention on functions will not match the EFIAPI. Do you have gcc 4.4 or newer installed on your system in a location other than /usr/bin/gcc? If so, you can modify your Conf/tools_def.txt: GCC44_X64_PREFIX -Jordan > 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 > > ------------------------------------------------------------------------------ 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
