Hi Jordan, Laszlo, Bei
Thanks for your help! My compiler is gcc-4.3.4
linux-aVzzFl:~ # /usr/bin/gcc -v
Using built-in specs.
Target: x86_64 -linux
Thread model: posix
gcc version 4.3.4 [gcc-4_3-branch revision 152973]
Next, As your says, I will try it with higher GCC.
Best Regards!
Arei
-----Original Message-----
From: Jordan Justen [mailto:[email protected]]
Sent: Wednesday, October 24, 2012 12:36 AM
To: Gonglei (Arei)
Cc: Bei Guan; Andrei Warkentin; [email protected]; Luonengjun
Subject: Re: xen OVMF problem
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