Hi, guys
   I build the OVMF on xen successfully with GCC-4.4.7, and I can see the EFI 
Shell.
   However, I have set the "disk" option in hvm config file: disk=[ 
'file:/mnt/sdd/arei/image/win2008.img,xvda,w', 
'file:/mnt/sdd/arei/image/win2008_st_sp2_64.iso,xvdc:cdrom,r' ]

The VNC Viewer is hanged, and the console show me:

PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
Memory  Previous  Current    Next   
 Type    Pages     Pages     Pages  
======  ========  ========  ========
  0A    00000004  00000001  00000004
  09    00000008  0000001A  00000020
  00    00000004  00000002  00000004
  06    00000024  00000038  00000046
  05    00000030  00000043  00000053
  03    00000180  00000283  00000323
  04    00000F00  000011E8  00001662
Booting EFI DVD/CDROM
 BlockSize : 2048 
 LastBlock : 160062 
 BlockSize : 2048 
 LastBlock : 3 
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B EED8FE40
Loading driver at 0x00010000000 EntryPoint=0x00010001000 cdboot.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF EE72FE18
ASSERT 
/mnt/sdd/arei/xen-4.2.0.bak/tools/firmware/ovmf-remote/MdePkg/Library/BaseDebugLibSerialPort/DebugLib.c(179):
 Buffer != ((void *) 0)

Hi, Bei
  Would you verify Installing the operating system by device CDROM on the OVMF. 
Thanks!

Best Regards!
Arei

-----Original Message-----
From: Gonglei (Arei) 
Sent: Wednesday, October 24, 2012 9:24 AM
To: 'Jordan Justen'; '[email protected]'
Cc: Bei Guan; Andrei Warkentin; [email protected]; Luonengjun
Subject: RE: xen OVMF problem

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

Reply via email to