Re: [edk2] location of OvmfVideo.rom file?

2014-03-05 Thread John Davis
Hello Laszlo,

Many thanks.  The readme says the video is no longer being built.  I simply
ignored it and did the rest of the procedure on
http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=How_to_run_OVMF#Run_QEMU_using_OVMF
and I could get a UEFI shell.

Oddly, the ls/dir command does not work.  Other commands do work though.
 Thank you for the info.

John




On Wed, Mar 5, 2014 at 10:01 AM, Laszlo Ersek ler...@redhat.com wrote:

 On 03/05/14 18:30, John Davis wrote:
  Hello
 
  I'm building the Ovmf code as part of the edk2.  The website mentions
  OvmfVideo.rom in the install procedure for working with Qemu.  Where do
  I get this file? My build made a Ovmf.fv so I think its working for me.

 Please search the README for this file name.

 
  On a related note. How do I search all the edk2 mailing lists? Clicking
  on each month in the sourceforge archive and browsing through the mail
  is tedious.  Is there a way to search the entire archive?

 One example: go to http://search.gmane.org/, and enter
 gmane.comp.bios.tianocore.devel as group. The first expression to test
 it with could be OvmfVideo.rom :)

 Laszlo




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Subversion Kills Productivity. Get off Subversion  Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] DevicePathToStr

2014-02-26 Thread John Davis
Hello Brian,

That is a good explanation and guideline.  Many thanks.  I'll add this to
my notes.

John


On Wed, Feb 26, 2014 at 7:25 AM, Brian J. Johnson bjohn...@sgi.com wrote:

 On 02/25/2014 07:14 PM, John Davis wrote:
  Hello Jaben,
 
  No I did not.  Its odd. Sometimes you add packages and it seems to
  compile and link.  Other times I have to add a library package.  In this
  case, I added the GenericBdsLib in the [LibraryClasses] and now it
  links.  Many thanks.  I'll look into your suggestion on the other
  routine to get the path.

 Sometimes you get lucky.  If you call a function in library A, and you
 have library B in your [LibraryClasses], and library B has library A in
 its [LibraryClasses], then your code will be linked against both library
 A and library B.  So you won't get a linker error.  But if library B
 didn't already depend on library A, then your module wouldn't be linked
 against library A, and you'd get an error.

 It's best to list in your .inf file all the library classes which your
 code calls directly.  The rule of thumb is that if you include a
 library's header file (#include Library/SomeLib.h), you should list
 that library class in your [LibraryClasses].  The build system is smart
 enough to handle dependencies, remove redundant items, etc.
 --

  Brian

 

 I have discovered that all human evil comes from this, man's being
  unable to sit still in a room.
 -- Blaise Pascal


 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] Locating a file in the file system

2014-02-26 Thread John Davis
Hello

Is there an example someplace for accessing a file in the filesystem?  I
would like to be able to read a file into a buffer as a simple exercise. I
saw the earlier notes about doing this via stdlib/posix api calls.  I
figure there is a similar method to do this via uefi api.  Later I want to
be able to locate a .fv file for use by the firmware volume routines.

On a related note, how do you folks find routines? I'm doing massive greps
though the header files trying to find routines which have a similar name
to what I am doing.  I'm also using google to search but that is hit and
miss.  For example, google UEFI file open gives me results about opening
a .efi file via explorer.  That is not what I want to do.

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] Locating a file in the file system

2014-02-26 Thread John Davis
I wonder if you have them in a specific folder and that is why they open
correctly for you.


On Wed, Feb 26, 2014 at 11:55 AM, Andrew Fish af...@apple.com wrote:


 On Feb 26, 2014, at 11:30 AM, John Davis davi...@gmail.com wrote:

 Hello Andrew,

 The link there has a second link which says:
 Looking for the latest version? *Download
 UDK2010.SR1.UP1.P1.Complete.MyWorkSpace.zip (88.1 MB)
 http://sourceforge.net/projects/edk2/files/latest/download?source=files*

 *When I downloaded that zip file it has a lot of .chm files in the zip
 file.  The .chm files look corrupted. You can see nodes on the left in the
 microsoft help viewer but the actual pages are blank and will say an error
 has occured.*


 I can read the .chm files on my Mac, but I had to download a CHM reading
 App. It looks like these are just built from the source code via oxygen.

 At some point in the past there was a Library doc for the MdePkg, I’m not
 sure where that as at this point. I don’t see it under:
 http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK_II_User_Documentation


 Thanks,

 Andrew Fish


 *John*


 On Wed, Feb 26, 2014 at 10:50 AM, Andrew Fish af...@apple.com wrote:


 On Feb 26, 2014, at 10:30 AM, John Davis davi...@gmail.com wrote:

  Hello
 
  Is there an example someplace for accessing a file in the filesystem?
  I would like to be able to read a file into a buffer as a simple exercise.
 I saw the earlier notes about doing this via stdlib/posix api calls.  I
 figure there is a similar method to do this via uefi api.  Later I want to
 be able to locate a .fv file for use by the firmware volume routines.
 
  On a related note, how do you folks find routines? I'm doing massive
 greps though the header files trying to find routines which have a similar
 name to what I am doing.  I'm also using google to search but that is hit
 and miss.  For example, google UEFI file open gives me results about
 opening a .efi file via explorer.  That is not what I want to do.
 

 There are Library documents here you can use:


 http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK_II_Libraries_and_Helper_files

  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  Flow-based real-time traffic analytics software. Cisco certified tool.
  Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
  Customize your own dashboards, set traffic alerts and generate reports.
  Network behavioral analysis  security monitoring. All-in-one tool.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 John F. Davis
 6 Kandes Court
 Durham, NC 27713
 919-888-8358

 独树一帜


 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic

Re: [edk2] Locating a file in the file system

2014-02-26 Thread John Davis
Ahh, I see the problem.  All the zip files in the directories need to be
unzipped first.  once I did that, I could open the .chm files.


On Wed, Feb 26, 2014 at 12:03 PM, John Davis davi...@gmail.com wrote:

 I wonder if you have them in a specific folder and that is why they open
 correctly for you.


 On Wed, Feb 26, 2014 at 11:55 AM, Andrew Fish af...@apple.com wrote:


 On Feb 26, 2014, at 11:30 AM, John Davis davi...@gmail.com wrote:

 Hello Andrew,

 The link there has a second link which says:
 Looking for the latest version? *Download
 UDK2010.SR1.UP1.P1.Complete.MyWorkSpace.zip (88.1 MB)
 http://sourceforge.net/projects/edk2/files/latest/download?source=files*

 *When I downloaded that zip file it has a lot of .chm files in the zip
 file.  The .chm files look corrupted. You can see nodes on the left in the
 microsoft help viewer but the actual pages are blank and will say an error
 has occured.*


 I can read the .chm files on my Mac, but I had to download a CHM reading
 App. It looks like these are just built from the source code via oxygen.

 At some point in the past there was a Library doc for the MdePkg, I’m not
 sure where that as at this point. I don’t see it under:
 http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK_II_User_Documentation


 Thanks,

 Andrew Fish


 *John*


 On Wed, Feb 26, 2014 at 10:50 AM, Andrew Fish af...@apple.com wrote:


 On Feb 26, 2014, at 10:30 AM, John Davis davi...@gmail.com wrote:

  Hello
 
  Is there an example someplace for accessing a file in the filesystem?
  I would like to be able to read a file into a buffer as a simple exercise.
 I saw the earlier notes about doing this via stdlib/posix api calls.  I
 figure there is a similar method to do this via uefi api.  Later I want to
 be able to locate a .fv file for use by the firmware volume routines.
 
  On a related note, how do you folks find routines? I'm doing massive
 greps though the header files trying to find routines which have a similar
 name to what I am doing.  I'm also using google to search but that is hit
 and miss.  For example, google UEFI file open gives me results about
 opening a .efi file via explorer.  That is not what I want to do.
 

 There are Library documents here you can use:


 http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK_II_Libraries_and_Helper_files

  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  Flow-based real-time traffic analytics software. Cisco certified tool.
  Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
  Customize your own dashboards, set traffic alerts and generate reports.
  Network behavioral analysis  security monitoring. All-in-one tool.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 John F. Davis
 6 Kandes Court
 Durham, NC 27713
 919-888-8358

 独树一帜


 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 John F. Davis
 6

[edk2] any idea why LocateHandleBuffer would fail with NT32?

2014-02-26 Thread John Davis
I'm trying to mimic some existing code. I have
gEfiFirmwareVolumeProtocolGuid in my .efi [Protocols] section and previous
gBS-HandleProtocol calls work.

EFI_STATUSStatus;
UINTN HandleCount;
EFI_HANDLE *HandleBuffer;
 // MdePkg/Include/Uefi/UefiSpec.h has a struct for BootServices which is
of type EFI_BOOT_SERVICES
// I think gBS is is a pointer to this table.  Not only does it have a
entry for HandleProtocol, it also
// has a entry for LocateHandleBuffer. Perhaps that will get me to the
routine which has types similar to the firmware volumes.
//
Status = gBS-LocateHandleBuffer(ByProtocol,
gEfiFirmwareVolumeProtocolGuid, NULL, HandleCount, HandleBuffer);
Print(LStatus = %d\n, Status);
ASSERT_EFI_ERROR (Status);

This code when run, will fail on the assert line with the following status
in the console.
ASSERT_EFI_ERROR (Status = Not Found)

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] any idea why LocateHandleBuffer would fail with NT32?

2014-02-26 Thread John Davis
Yes indeed that fixed it. Many thanks.

Includes for .c
#include Protocol/FirmwareVolume2.h

Api call
Status = gBS-HandleProtocol (ImageHandle, gEfiLoadedImageProtocolGuid,
(VOID **)LoadedImage);

.inf entry
[ Protocols ]
  gEfiFirmwareVolume2ProtocolGuid





On Wed, Feb 26, 2014 at 4:36 PM, Andrew Fish af...@apple.com wrote:


 On Feb 26, 2014, at 4:22 PM, John Davis davi...@gmail.com wrote:

  I'm trying to mimic some existing code.  I have
 gEfiFirmwareVolumeProtocolGuid in my .efi [Protocols] section and previous
 gBS-HandleProtocol calls work.
 
EFI_STATUS  Status;
UINTN
 HandleCount;
EFI_HANDLE
  *HandleBuffer;
 
// MdePkg/Include/Uefi/UefiSpec.h has a struct for BootServices
 which is of type EFI_BOOT_SERVICES
// I think gBS is is a pointer to this table.  Not only does it
 have a entry for HandleProtocol, it also
// has a entry for LocateHandleBuffer. Perhaps that will get me to
 the routine which has types similar to the firmware volumes.
//
Status = gBS-LocateHandleBuffer(ByProtocol,
 gEfiFirmwareVolumeProtocolGuid, NULL, HandleCount, HandleBuffer);
Print(LStatus = %d\n, Status);
ASSERT_EFI_ERROR (Status);
 
  This code when run, will fail on the assert line with the following
 status in the console.
  ASSERT_EFI_ERROR (Status = Not Found)
 

 Your system is not a Tiano/IntelFramework system (older EDK code is like
 this) so it does not produce this protocol. The version if the PI spec is
 called gEfiFirmwareVolume2ProtocolGuid.


 https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Protocol/FirmwareVolume2.h

 Thanks,

 Andrew Fish

  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  Flow-based real-time traffic analytics software. Cisco certified tool.
  Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
  Customize your own dashboards, set traffic alerts and generate reports.
  Network behavioral analysis  security monitoring. All-in-one tool.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] DevicePathToStr

2014-02-25 Thread John Davis
Hello

I see some code which uses DevicePathToStr.  When I do a grep on it, I see
it  a few include files.

1. IntelFrameworkModulePkg
2. OvmfPkg
3. SecruityPkg

I am working with the NT32 emulator so I'm guessing that I don't need the
ones from source 2 and 3.  However, when I try to include the header file
for
#include Library/GenericBdsLib.h // DevicePathToStr  from the
IntelFrameworkModulePkg it fails to compile.

I also noticed that there is a .c file in MdeModulePkg
(PlatDriOverrideDxe.c) which uses this routine.  I was thinking that maybe
there is some other way to get access to it, but I don't know. I don't see
it any other header files.

Any advice on how to use this routine?

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] DevicePathToStr

2014-02-25 Thread John Davis
Hmm. That is what I did to begin with.

Here are my includes and my .inf.

Now, I am really puzzled.  When I pasted the error from the build below, I
noticed the error is actually in the code I used as a model for this app.
How could this app cause the other app which used to build to fail?

-
#include Uefi.h
#include Pi/PiFirmwareFile.h
#include Library/DebugLib.h // ASSERT_EFI_ERROR
#include Protocol/LoadedImage.h // EFI_LOADED_IMAGE_PROTOCOL
#include Pi/PiFirmwareVolume.h
#include Library/PcdLib.h
#include Library/UefiLib.h
#include Library/UefiApplicationEntryPoint.h
#include Library/UefiBootServicesTableLib.h
#include Library/UefiRuntimeServicesTableLib.h
#include Protocol/FirmwareVolume.h
#include Library/GenericBdsLib.h // DevicePathToStr
-
some snipped
[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib
  PcdLib

[ Protocols ]
  gEfiLoadedImageProtocolGuid
  gEfiDevicePathToTextProtocolGuid

[FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable

[Pcd]
  ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintString ||
gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable

  ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintTimes  ||
gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
--

This is the error:


MyFindRom.c
GenFw -e UEFI_APPLICATION -o
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\HelloWorld.efi
c:\fw\edk2\Build\
DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\HelloWorld.dll
C:\Program Files (x86)\Microsoft Visual Studio
10.0\Vc\bin\link.exe
/OUT:c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSystemDxe\WinNtSim
stemDxe\DEBUG\WinNtSimpleFileSystemDxe.dll /NOLOGO /NODEFAULTLIB
/IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D
/SECTION:.pdata,D /MACHINE:X86 /LTCG /D
:_ModuleEntryPoint /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0
/DRIVER /DEBUG /EXPORT:InitializeDriver=_ModuleEntryPoint /BASE:0x1
/ALIGN:4096 /FILEALIGN:40
STEM:CONSOLE
 
@c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSystemDxe\WinNtSimpleFileSystemDxe\OUTPUT\static_library_files.lst
copy /y
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\HelloWorld.efi
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x8
eModulePkg\Application\HelloWorld\HelloWorld\OUTPUT
c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(239) :
error C2143: syntax error : missing ')' before '*'
c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(239) :
error C2143: syntax error : missing '{' before '*'
c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(240) :
error C2059: syntax error : ')'
c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(240) :
warning C4431: missing type specifier - int assumed. Note: C no longer
supports default-int
c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(240) :
warning C4218: nonstandard extension used : must specify at least a storage
class or a type
1 file(s) copied.
C:\Program Files (x86)\Microsoft Visual Studio
10.0\Vc\bin\link.exe
/OUT:c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtGopDxe\WinNtGopDxe\DEBUG\Win
dll /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32
/SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL
/ENTRY:_ModuleEntryPoint /SUBSYSTEM:
SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
/EXPORT:InitializeDriver=_ModuleEntryPoint /BASE:0x1 /ALIGN:4096
/FILEALIGN:4096 /SUBSYSTEM:CONSOLE  @c:\fw\edk2\Buil
2\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtGopDxe\WinNtGopDxe\OUTPUT\static_library_files.lst
copy /y
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\HelloWorld.efi
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x8
   Creating library
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSystemDxe\WinNtSimpleFileSystemDxe\DEBUG\WinNtSimpleFileSystemDxe.lib
and object
2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSystemDxe\WinNtSimpleFileSystemDxe\DEBUG\WinNtSimpleFileSystemDxe.exp
Generating code
1 file(s) copied.
NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio
10.0\Vc\bin\cl.exe' : return code '0x2'
Stop.
copy /y
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\*.map
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Md
g\Application\HelloWorld\HelloWorld\OUTPUT
--
Flow-based 

Re: [edk2] DevicePathToStr

2014-02-25 Thread John Davis
That fails as well.

   Creating library
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\MyFindRom\MyFindRom\DEBUG\MyFindRom.lib
and object c:\fw\edk2\Build\NT32IA32\DEBUG_VS201
0x86\IA32\MdeModulePkg\Application\MyFindRom\MyFindRom\DEBUG\MyFindRom.exp
MyFindRom.lib(MyFindRom.obj) : error LNK2001: unresolved external symbol
_DevicePathToStr
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\MyFindRom\MyFindRom\DEBUG\MyFindRom.dll
: fatal error LNK1120: 1 unresolved externals
NAMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual
Studio 10.0\Vc\bin\link.exe' : return code '0x460'
utoGen.c
Stop.

#include Uefi.h
#include PiPei.h
#include Pi/PiFirmwareFile.h
#include Library/DebugLib.h // ASSERT_EFI_ERROR
#include Protocol/LoadedImage.h // EFI_LOADED_IMAGE_PROTOCOL
#include Pi/PiFirmwareVolume.h
#include Library/PcdLib.h
#include Library/UefiLib.h
#include Library/UefiApplicationEntryPoint.h
#include Library/UefiBootServicesTableLib.h
#include Library/UefiRuntimeServicesTableLib.h
#include Protocol/FirmwareVolume.h
#include Library/GenericBdsLib.h // DevicePathToStr





On Tue, Feb 25, 2014 at 4:43 PM, Carsey, Jaben jaben.car...@intel.comwrote:

 Depending on what you are doing with the resultant string
 ConvertDevicePathToText from DevicePathLib (header file located in MdePkg)
 is a much more common method to convert a device path to a text.  This also
 supports some options on some conversion results.

 -Jaben

 -Original Message-
 From: Bill Paul [mailto:wp...@windriver.com]
 Sent: Tuesday, February 25, 2014 4:24 PM
 To: edk2-devel@lists.sourceforge.net
 Subject: Re: [edk2] DevicePathToStr

 Of all the gin joints in all the towns in all the world, John Davis had to
 walk into mine at 16:10:15 on Tuesday 25 February 2014 and say:

  Hello
 
  I see some code which uses DevicePathToStr.  When I do a grep on it, I
  see it  a few include files.
 
  1. IntelFrameworkModulePkg
  2. OvmfPkg
  3. SecruityPkg
 
  I am working with the NT32 emulator so I'm guessing that I don't need
  the ones from source 2 and 3.  However, when I try to include the
  header file for
  #include Library/GenericBdsLib.h // DevicePathToStr  from the
  IntelFrameworkModulePkg it fails to compile.
 
  I also noticed that there is a .c file in MdeModulePkg
  (PlatDriOverrideDxe.c) which uses this routine.  I was thinking that
  maybe there is some other way to get access to it, but I don't know. I
  don't see it any other header files.
 
  Any advice on how to use this routine?

 I'm not certain this is the right way to do it, but what I did was to edit
 my .inf file and add the following line under the [Packages] section:

   IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

 Then I was able to include Library/GenericBdsLib.h in my code and use
 DevicePathToStr() without any issue.

 -Bill

 --

 =
 -Bill Paul(510) 749-2329 | Senior Member of Technical Staff,
  wp...@windriver.com | Master of Unix-Fu - Wind River
 Systems
 =
I put a dollar in a change machine. Nothing changed. - George Carlin
 =


 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel


 --
 Flow-based real-time traffic analytics software. Cisco certified tool.
 Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
 Customize your own dashboards, set traffic alerts and generate reports.
 Network behavioral analysis  security monitoring. All-in-one tool.

 http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one

Re: [edk2] DevicePathToStr

2014-02-25 Thread John Davis
Hello Jaben,

No I did not.  Its odd. Sometimes you add packages and it seems to compile
and link.  Other times I have to add a library package.  In this case, I
added the GenericBdsLib in the [LibraryClasses] and now it links.  Many
thanks.  I'll look into your suggestion on the other routine to get the
path.

Many thanks

John
--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis  security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] DevicePathToStr

2014-02-25 Thread John Davis
Hello Andrew,

Thanks, I appreciate the pointer.

FWIW, I have also learned based upon Bill Pauls previous Moo code sample,
you don't need to put apps in packages.  I was using the
MdeModulePkg/Application/HelloWorld/ directory as a source.  I got tired of
having to stop the emulator each time I made a change to my code in order
for it to build.  Consquently, I learned you can do this:

1. Create you app at top level directory.
ex. MyFindRom2/MyFindRom2.inf and .c
2.  Add the .inf to Nt32Pkg/Nt32Pkg.dsc
3.  Build all
4. Build run
5. Run app via MyFindRom2
6. Make change to app
7. Build app via  build -m MyFindRom2\MyFindRom2.inf
8. return to emulator and run the new app without having to shutdown the
emulator.

Bill was building a completely new package with a .dsc. I am just building
a component using a .inf.  I believe it was you who told me previously
about the contents of a .fdf and .dsc file.

Thanks again

John


On Tue, Feb 25, 2014 at 5:55 PM, Andrew Fish af...@apple.com wrote:


 On Feb 25, 2014, at 4:46 PM, Bill Paul wp...@windriver.com wrote:

 Of all the gin joints in all the towns in all the world, John Davis had to
 walk into mine at 16:34:49 on Tuesday 25 February 2014 and say:

 Hmm. That is what I did to begin with.

 Here are my includes and my .inf.

 Now, I am really puzzled.  When I pasted the error from the build below, I
 noticed the error is actually in the code I used as a model for this app.
 How could this app cause the other app which used to build to fail?

 -
 #include Uefi.h


 Try adding

 #include PiPei.h


 To be pedantic you would want #include PiDxe.h, and then you don’t need
 Uefi.h

 I’ll explain what is going on….

 UEFI spec replaces legacy BIOS and is an interface specification that
 talks to Option ROMs, Applications, and OS Loaders.  It does not go into
 how the firmware is constructed internally.

 The PI spec is a a standaard way to construct firmware based on the
 Platform Initialization specifications. A UEFI platform does not have to
 support PI, but a PI platform supports UEFI.

 PEI - is Pre EFI Initialization. This is the IA32 code that turns on
 memory and jumps to X64 mode (on a typical PC). The DXE Phase is the Driver
 Execution Phase. The DXE Core produces the EFI services.

 The general rule of thumb is match your module type:
 PEIM - #include PiPei.h
 DXE_DRIVER - #include PiDxe.h
 UEFI_DRIVER - #include Uefi.h
 UEFI_APPLICATION - #include Uefi.h

 If you need to write an application that accesses things PI (it may not
 run everywhere) you can #include PiDxe.h in place of Uefi.h as this will
 also include the main stuff from the UEFI spec.

 https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/PiDxe.h

 #ifndef __PI_DXE_H__
 #define __PI_DXE_H__

 #include Uefi/UefiBaseType.h
 #include Uefi/UefiSpec.h

 #include Pi/PiDxeCis.h

 #endif

 Thanks,

 Andrew Fish

 here.

 The compiler is complaining because the EFI_BOOT_MODE macro isn't defined.
 It's define in PiBootMode.h, which gets pulled in if you use the above
 #include.

 That's how I dealt with this in my code at any rate.

 -Bill

 #include Pi/PiFirmwareFile.h
 #include Library/DebugLib.h // ASSERT_EFI_ERROR
 #include Protocol/LoadedImage.h // EFI_LOADED_IMAGE_PROTOCOL
 #include Pi/PiFirmwareVolume.h
 #include Library/PcdLib.h
 #include Library/UefiLib.h
 #include Library/UefiApplicationEntryPoint.h
 #include Library/UefiBootServicesTableLib.h
 #include Library/UefiRuntimeServicesTableLib.h
 #include Protocol/FirmwareVolume.h
 #include Library/GenericBdsLib.h // DevicePathToStr
 -
 some snipped
 [Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

 [LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib
  PcdLib

 [ Protocols ]
  gEfiLoadedImageProtocolGuid
  gEfiDevicePathToTextProtocolGuid

 [FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable

 [Pcd]
  ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintString ||
 gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable

  ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintTimes  ||
 gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
 --

 This is the error:


 MyFindRom.c
GenFw -e UEFI_APPLICATION -o
 c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\Hel
 loWorld\HelloWorld\DEBUG\HelloWorld.efi c:\fw\edk2\Build\
 DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\H
 elloWorld.dll C:\Program Files (x86)\Microsoft Visual Studio
 10.0\Vc\bin\link.exe
 /OUT:c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFile
 SystemDxe\WinNtSim stemDxe\DEBUG\WinNtSimpleFileSystemDxe.dll /NOLOGO
 /NODEFAULTLIB
 /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D
 /SECTION:.pdata,D

Re: [edk2] DevicePathToStr

2014-02-25 Thread John Davis
About the debugger. I did not know that. I had set a breakpoint in the uefi
source back when you told me about the load address a while back. I'll try
to debug an app using similar method.
On Feb 25, 2014 6:10 PM, Andrew Fish af...@apple.com wrote:


 On Feb 25, 2014, at 6:03 PM, John Davis davi...@gmail.com wrote:

 Hello Andrew,

 Thanks, I appreciate the pointer.

 FWIW, I have also learned based upon Bill Pauls previous Moo code sample,
 you don't need to put apps in packages.  I was using the
 MdeModulePkg/Application/HelloWorld/ directory as a source.  I got tired of
 having to stop the emulator each time I made a change to my code in order
 for it to build.  Consquently, I learned you can do this:

 1. Create you app at top level directory.
 ex. MyFindRom2/MyFindRom2.inf and .c
 2.  Add the .inf to Nt32Pkg/Nt32Pkg.dsc
 3.  Build all
 4. Build run
 5. Run app via MyFindRom2
 6. Make change to app
 7. Build app via  build -m MyFindRom2\MyFindRom2.inf
 8. return to emulator and run the new app without having to shutdown the
 emulator.


 Yep that works. You can load Apps or Drivers from the EFI shell from a USB
 key. Since the emulator makes some magic OS directories show up as EFI
 drives in the emulator you can just copy things over there.

 Thanks,

 Andrew Fish

 PS The source level debugging is based on finding the PE/COFF debug
 directory and with VC++ that will point to your PDB file. So as long as you
 are running on the system where you built the App you should get source
 level debug.

 Bill was building a completely new package with a .dsc. I am just building
 a component using a .inf.  I believe it was you who told me previously
 about the contents of a .fdf and .dsc file.

 Thanks again

 John


 On Tue, Feb 25, 2014 at 5:55 PM, Andrew Fish af...@apple.com wrote:


 On Feb 25, 2014, at 4:46 PM, Bill Paul wp...@windriver.com wrote:

 Of all the gin joints in all the towns in all the world, John Davis had
 to
 walk into mine at 16:34:49 on Tuesday 25 February 2014 and say:

 Hmm. That is what I did to begin with.

 Here are my includes and my .inf.

 Now, I am really puzzled.  When I pasted the error from the build below, I
 noticed the error is actually in the code I used as a model for this app.
 How could this app cause the other app which used to build to fail?

 -
 #include Uefi.h


 Try adding

 #include PiPei.h


 To be pedantic you would want #include PiDxe.h, and then you don’t need
 Uefi.h

 I’ll explain what is going on….

 UEFI spec replaces legacy BIOS and is an interface specification that
 talks to Option ROMs, Applications, and OS Loaders.  It does not go into
 how the firmware is constructed internally.

 The PI spec is a a standaard way to construct firmware based on the
 Platform Initialization specifications. A UEFI platform does not have to
 support PI, but a PI platform supports UEFI.

 PEI - is Pre EFI Initialization. This is the IA32 code that turns on
 memory and jumps to X64 mode (on a typical PC). The DXE Phase is the Driver
 Execution Phase. The DXE Core produces the EFI services.

 The general rule of thumb is match your module type:
 PEIM - #include PiPei.h
 DXE_DRIVER - #include PiDxe.h
 UEFI_DRIVER - #include Uefi.h
 UEFI_APPLICATION - #include Uefi.h

 If you need to write an application that accesses things PI (it may not
 run everywhere) you can #include PiDxe.h in place of Uefi.h as this will
 also include the main stuff from the UEFI spec.

 https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/PiDxe.h

 #ifndef __PI_DXE_H__
 #define __PI_DXE_H__

 #include Uefi/UefiBaseType.h
 #include Uefi/UefiSpec.h

 #include Pi/PiDxeCis.h

 #endif

 Thanks,

 Andrew Fish

 here.

 The compiler is complaining because the EFI_BOOT_MODE macro isn't
 defined.
 It's define in PiBootMode.h, which gets pulled in if you use the above
 #include.

 That's how I dealt with this in my code at any rate.

 -Bill

 #include Pi/PiFirmwareFile.h
 #include Library/DebugLib.h // ASSERT_EFI_ERROR
 #include Protocol/LoadedImage.h // EFI_LOADED_IMAGE_PROTOCOL
 #include Pi/PiFirmwareVolume.h
 #include Library/PcdLib.h
 #include Library/UefiLib.h
 #include Library/UefiApplicationEntryPoint.h
 #include Library/UefiBootServicesTableLib.h
 #include Library/UefiRuntimeServicesTableLib.h
 #include Protocol/FirmwareVolume.h
 #include Library/GenericBdsLib.h // DevicePathToStr
 -
 some snipped
 [Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

 [LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib
  PcdLib

 [ Protocols ]
  gEfiLoadedImageProtocolGuid
  gEfiDevicePathToTextProtocolGuid

 [FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable

 [Pcd]
  ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
  gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintString ||
 gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable

  ## Valid when

Re: [edk2] hello world application sample and beyond

2014-02-22 Thread John Davis
Hello Scott

Yes o noticed that as well after I played with it some. Thanks.

John
On Feb 22, 2014 11:33 AM, Scott Duplichan sc...@notabs.org wrote:

 John Davis [mailto:davi...@gmail.com] wrote:

 ]Hello
 ]
 ]Is there an official source for something a little more complex than the
 helloworld ]application?  I'm trying to use it as a model for something
 more complex and I can not get ]simple types to even build.  I see that
 UINT32 is in the edkcompatibilitypkg dir and I have ]added it to my
 [packages] section in my .inf file but I still can't get the include files
 in the ]foundation subdir beneath there to satisfy my build requirements.

 [...]

 ]# if I remove the EfiTypes.h in the .c source, this is my error:
 ]c:\fw\edk2\MdeModulePkg\Application\MyFindRom\MyFindRom.c(81) : error
 C2275: 'UINT32' : illegal ]use of this type as an expression
 ]c:\fw\edk2\MdePkg\Include\Ia32\ProcessorBind.h(116) : see
 declaration of 'UINT32'
 ]C:\Program Files (x86)\Microsoft Visual Studio
 10.0\Vc\bin\cl.exe

 Hello John,

 In the test above, a valid definition for UINT32 was found.
 The proper header file is getting included. The error message
 is because Microsoft Visual Studio 2010 does not fully support
 the C99 language standard. Your code is using the C99 feature,
 mixed declarations and code.

 Microsoft support for the C99 language standard is work in
 progress. While no Microsoft compiler fully supports C99,
 Visual Studio 2013 does support mixed declarations and code.

 Two solutions are possible: 1) Switch to Microsoft Visual
 Studio 2013. 2) Avoid use of mixed declarations and code.
 For example:

 // fails with VS2010
 UINT32 test1 (UINT32 a)
 {
 a++;
 UINT32 b = 1;
 return a + b;
 }

 // passes with VS2010
 UINT32 test2 (UINT32 a)
 {
 UINT32 b = 1;
 a++;
 return a + b;
 }

 Thanks,
 Scott


 [...]

 ]--
 ]John F. Davis
 ]6 Kandes Court
 ]Durham, NC 27713
 ]919-888-8358
 ]
 ]独树一帜




 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121054471iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel

--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] hello world application sample and beyond

2014-02-21 Thread John Davis
Hello

Is there an official source for something a little more complex than the
helloworld application?  I'm trying to use it as a model for something more
complex and I can not get simple types to even build.  I see that UINT32 is
in the edkcompatibilitypkg dir and I have added it to my [packages] section
in my .inf file but I still can't get the include files in the foundation
subdir beneath there to satisfy my build requirements.

Here is my setup:

The .inf file:
[Sources]
  MyFindRom.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  EdkCompatibilityPkg/EdkCompatibilityPkg.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib
  PcdLib

The .c includes
/** @file
**/

#include Uefi.h

#include stdlib.h
#include EfiTypes.h

// EdkCompatibilityPkg\Foundation\Efi\Include\EfiTypes.h:typedef uint32_t
UINT32;
#include Library/PcdLib.h
#include Library/UefiLib.h
#include Library/UefiApplicationEntryPoint.h


# the error in build

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\cl.exe
/Foc:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Universal\Network\DpcDxe\DpcDxe\OUTPUT\.\
Dpc.obj /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h
/EHs-c- /GR- /GF /Gy /Zi /Gm
/Ic:\fw\edk2\MdeModulePkg\Universal\Network\DpcDxe  /Ic:\fw\edk2\Build\NT32
IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Universal\Network\DpcDxe\DpcDxe\DEBUG
 /Ic:\fw\edk2\MdePkg  /Ic:\fw\edk2\MdePkg\Include
 /Ic:\fw\edk2\MdePkg\Include\Ia32  /Ic:\fw\edk2\MdeMo
dulePkg  /Ic:\fw\edk2\MdeModulePkg\Include
c:\fw\edk2\MdeModulePkg\Universal\Network\DpcDxe\Dpc.c
c:\fw\edk2\MdeModulePkg\Application\MyFindRom\MyFindRom.c(7) : fatal error
C1083: Cannot open include file: 'EfiTypes.h': No such file or directory
Dpc.c
NMAKE : fatal error U1077: 'C:\Program Files (x86)\Microsoft Visual Studio
10.0\Vc\bin\cl.exe' : return code '0x2'
Stop.

# if I remove the EfiTypes.h in the .c source, this is my error:
c:\fw\edk2\MdeModulePkg\Application\MyFindRom\MyFindRom.c(81) : error
C2275: 'UINT32' : illegal use of this type as an expression
c:\fw\edk2\MdePkg\Include\Ia32\ProcessorBind.h(116) : see
declaration of 'UINT32'
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\cl.exe
/Foc:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Un
UTPUT\.\HiiDatabaseEntry.obj /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE
/O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Ic:\fw\edk2\Md
c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Universal\HiiDatabaseDxe\HiiDatabaseDxe\DEBUG
 /Ic:\fw\edk2\MdePkg  /Ic:\fw\edk2\
lude\Ia32  /Ic:\fw\edk2\MdeModulePkg  /Ic:\fw\edk2\MdeModulePkg\Include
c:\fw\edk2\MdeModulePkg\Universal\HiiDatabaseDxe\HiiDatabaseEntry.c
c:\fw\edk2\MdeModulePkg\Application\MyFindRom\MyFindRom.c(81) : error
C2146: syntax error : missing ';' before identifier 'include'
c:\fw\edk2\MdeModulePkg\Application\MyFindRom\MyFindRom.c(81) : error
C2065: 'include' : undeclared identifier

fwiw, I have UINT32 include; in my .c source.


-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] hello world application sample and beyond

2014-02-21 Thread John Davis
Hello

I got a few emails.  Perhaps I should repose the question.

I was reading the EDKII Coding Guidelines document on tianocore.  In it, it
says do not use int or char native types.  Consquently, I was trying to use
UINT32 and UNIT8 types.
When I try to extend the HelloWorld sample application from the
MdeModulePkg with simple type definitions as UINT32 it fails to compile.  I
am confused by the other sample main since it seems to be doing precisely
what the coding guidelines say not to do.

So, how do you setup your includes in your .c file and the .inf file to
build code which uses UINT types?

John
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] hello world application sample and beyond

2014-02-21 Thread John Davis
I appreciate the help folks. Rick, Laurie, Andrew, Jabin, Tim and Bill.

I've got something at least compiling now.

Here is the relevant includes for the .c source.

#include Uefi.h

#include Pi/PiFirmwareFile.h

#include Pi/PiFirmwareVolume.h

#include Library/PcdLib.h

#include Library/UefiLib.h

#include Library/UefiApplicationEntryPoint.h

#include Library/UefiBootServicesTableLib.h

#include Library/UefiRuntimeServicesTableLib.h

#include Protocol/FirmwareVolume.h


This requires the following entries in the .inf file.


[Packages]

  MdePkg/MdePkg.dec

  MdeModulePkg/MdeModulePkg.dec

  IntelFrameworkPkg/IntelFrameworkPkg.dec


[LibraryClasses]

  UefiApplicationEntryPoint

  UefiLib

  PcdLib



This allows the following types to compile.


EFI_STATUS EFIAPI getData(UINTN count, EFI_HANDLE handles[]) {


UINTN rc;

UINTN include;

UINTN Index;

VOID  *RomImage;

UINTN RomSize;

UINT32AuthenticationStatus;

EFI_STATUSStatus;

EFI_GUID  FirmwareVolumeProtocolGuid =
EFI_FIRMWARE_VOLUME_PROTOCOL_GUID;

EFI_FIRMWARE_VOLUME_PROTOCOL  *FirmwareVolume;

EFI_FV_FILE_ATTRIBUTESAttributes;

EFI_FV_FILETYPE   Type;
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] can you use the emulator with dmem in the rom region?

2014-02-12 Thread John Davis
Andrew and others,

Here is the process I used to build a rom and how I tried to verify it.
 The process seems to make it to the FV, but when I try to verify it with
the simulator it crashes.  Any advice is appreciated.

http://sourceforge.net/p/uefinotes/wiki/Add%20a%20ROM%20to%20FV/

John


On Tue, Feb 11, 2014 at 7:04 PM, John Davis davi...@gmail.com wrote:

 I guess I am confused. I don't have the files handy but I thought the
 entire fv would be loaded at the top of memory. I'll post more detail
 tomorrow morning.
 On Feb 11, 2014 6:06 PM, Andrew Fish af...@apple.com wrote:


 On Feb 11, 2014, at 4:34 PM, John Davis davi...@gmail.com wrote:

  Hello
 
  Can you use the emulator to dump memory associated with roms?
 

 The “emulator” is not a VM. If you want to assume magic addresses and
 hardware exist you need to run the OVFM, as it runs in a VM.

 The “emulator” is an OS application where there are drivers that abstract
 POSIX/Win32 APIs as hardware devices. For example on a Mac a 64-bit
 application can not map any memory  4G (hard to have a pointer bug you
 don’t notice porting from 32-bit).

 If you run a memmap command in the Shell you can generally find the ROM
 as it will have a MemMapIO type and the upper bit of the attribute will be
 set.

 Thanks,

 Andrew Fish

 PS The EFI memory map is not used to tell the OS about MMIO, it is just
 used to get virtual MMIO mapping for EFI runtime services. So at a minimum
 the variable services need an virtual mapping to make the EFI Variable
 services to work. Note there is no requirement that the EFI Variables are
 in the same device as the Firmware code, but it is a common implementation.

  For instance, dmem fff3c9e8 is a region where I believe I have a rom
 mapped, but that command will crash the emulator.
 
  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  Android apps run on BlackBerry 10
  Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
  Now with support for Jelly Bean, Bluetooth, Mapview and more.
  Get your Android app in front of a whole new audience.  Start now.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 Android apps run on BlackBerry 10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.

 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] Fwd: can you use the emulator with dmem in the rom region?

2014-02-12 Thread John Davis
-- Forwarded message --
From: John Davis davi...@gmail.com
Date: Wed, Feb 12, 2014 at 11:37 AM
Subject: Re: [edk2] can you use the emulator with dmem in the rom region?
To: af...@apple.com


I just noticed this:


On Wed, Feb 12, 2014 at 10:10 AM, Andrew Fish af...@apple.com wrote:


 On Feb 12, 2014, at 9:51 AM, John Davis davi...@gmail.com wrote:



 stuff snipped



 NT32 (I’ve not run it in like 6 years) does not used a fixed address for
 the FD, it is an address that is dynamically allocated in the emulator (The
 Unix EmulatorPkg tries to use a fixed address to better emulate FLASH).


Ahh that is the difference.  EmulatorPkg is a unix/linux emulator and NT32
is a windows emulator.  Now I understand why there are two.  Many thanks.

John




 stuff snipped

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜





-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] can you use the emulator with dmem in the rom region?

2014-02-12 Thread John Davis
Hello Andrew and others,


I used Andrew's suggestion and set a debugger breakpoint in the emulator.
 The results are close to what I was looking for.  Its 28 bytes off.  If
any of you could please take a look and tell me why, I would appreciate it.
 Also, if its patch worthy to get the address I can submit the minor patch
to print out the start address is output.

https://sourceforge.net/p/uefinotes/wiki/Add%20a%20ROM%20to%20FV/

John


On Wed, Feb 12, 2014 at 10:10 AM, Andrew Fish af...@apple.com wrote:


 On Feb 12, 2014, at 9:51 AM, John Davis davi...@gmail.com wrote:

 Andrew and others,

 Here is the process I used to build a rom and how I tried to verify it.
  The process seems to make it to the FV, but when I try to verify it with
 the simulator it crashes.  Any advice is appreciated.

 http://sourceforge.net/p/uefinotes/wiki/Add%20a%20ROM%20to%20FV/


 NT32 (I’ve not run it in like 6 years) does not used a fixed address for
 the FD, it is an address that is dynamically allocated in the emulator (The
 Unix EmulatorPkg tries to use a fixed address to better emulate FLASH).

 If you dump out gFdInfo in the debugger you should be able to see the load
 address. You could also update the prints to dump out the address and size
 of the FD that was loaded if that would help you, looks like it is just
 dumping out the filename.

 https://svn.code.sf.net/p/edk2/code/trunk/edk2/Nt32Pkg/Sec/SecMain.c

//
 // Open the FD and remmeber where it got mapped into our processes 
 address space
 //
 Status = WinNtOpenFile (
   FileName,
   0,
   OPEN_EXISTING,
   gFdInfo[Index].Address,
   gFdInfo[Index].Size
   );



 John


 On Tue, Feb 11, 2014 at 7:04 PM, John Davis davi...@gmail.com wrote:

 I guess I am confused. I don't have the files handy but I thought the
 entire fv would be loaded at the top of memory. I'll post more detail
 tomorrow morning.
 On Feb 11, 2014 6:06 PM, Andrew Fish af...@apple.com wrote:


 On Feb 11, 2014, at 4:34 PM, John Davis davi...@gmail.com wrote:

  Hello
 
  Can you use the emulator to dump memory associated with roms?
 

 The “emulator” is not a VM. If you want to assume magic addresses and
 hardware exist you need to run the OVFM, as it runs in a VM.

 The “emulator” is an OS application where there are drivers that
 abstract POSIX/Win32 APIs as hardware devices. For example on a Mac a
 64-bit application can not map any memory  4G (hard to have a pointer bug
 you don’t notice porting from 32-bit).

 If you run a memmap command in the Shell you can generally find the ROM
 as it will have a MemMapIO type and the upper bit of the attribute will be
 set.

 Thanks,

 Andrew Fish

 PS The EFI memory map is not used to tell the OS about MMIO, it is just
 used to get virtual MMIO mapping for EFI runtime services. So at a minimum
 the variable services need an virtual mapping to make the EFI Variable
 services to work. Note there is no requirement that the EFI Variables are
 in the same device as the Firmware code, but it is a common implementation.

  For instance, dmem fff3c9e8 is a region where I believe I have a rom
 mapped, but that command will crash the emulator.
 
  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  Android apps run on BlackBerry 10
  Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
  Now with support for Jelly Bean, Bluetooth, Mapview and more.
  Get your Android app in front of a whole new audience.  Start now.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 Android apps run on BlackBerry 10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.

 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 John F. Davis
 6 Kandes Court
 Durham, NC 27713
 919-888-8358

 独树一帜



 --
 Android apps run on BlackBerry 10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.

 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
 edk2-devel mailing list
 edk2-devel

[edk2] can you use the emulator with dmem in the rom region?

2014-02-11 Thread John Davis
Hello

Can you use the emulator to dump memory associated with roms?

For instance, dmem fff3c9e8 is a region where I believe I have a rom
mapped, but that command will crash the emulator.

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] can you use the emulator with dmem in the rom region?

2014-02-11 Thread John Davis
I guess I am confused. I don't have the files handy but I thought the
entire fv would be loaded at the top of memory. I'll post more detail
tomorrow morning.
On Feb 11, 2014 6:06 PM, Andrew Fish af...@apple.com wrote:


 On Feb 11, 2014, at 4:34 PM, John Davis davi...@gmail.com wrote:

  Hello
 
  Can you use the emulator to dump memory associated with roms?
 

 The “emulator” is not a VM. If you want to assume magic addresses and
 hardware exist you need to run the OVFM, as it runs in a VM.

 The “emulator” is an OS application where there are drivers that abstract
 POSIX/Win32 APIs as hardware devices. For example on a Mac a 64-bit
 application can not map any memory  4G (hard to have a pointer bug you
 don’t notice porting from 32-bit).

 If you run a memmap command in the Shell you can generally find the ROM as
 it will have a MemMapIO type and the upper bit of the attribute will be set.

 Thanks,

 Andrew Fish

 PS The EFI memory map is not used to tell the OS about MMIO, it is just
 used to get virtual MMIO mapping for EFI runtime services. So at a minimum
 the variable services need an virtual mapping to make the EFI Variable
 services to work. Note there is no requirement that the EFI Variables are
 in the same device as the Firmware code, but it is a common implementation.

  For instance, dmem fff3c9e8 is a region where I believe I have a rom
 mapped, but that command will crash the emulator.
 
  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  Android apps run on BlackBerry 10
  Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
  Now with support for Jelly Bean, Bluetooth, Mapview and more.
  Get your Android app in front of a whole new audience.  Start now.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 Android apps run on BlackBerry 10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.

 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel

--
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] corrections questions Ch 2 EDK II Build Spec

2014-02-10 Thread John Davis
Corrections:
Section 2 - Under the second Note on page 2. - Repeated The the

Section 2.5.2 - Shouldn't the title be Firmware Files or a Firmware File
System Files
In the text beneath it also says are combined into a Firmware File (FFS)
but if you go back to Figure 1 It shows EFI Section Files combined into a
single Firmware Filesystem File. Probably would not hurt to add this file
extension to the graphic as (.FFS) like the (.FD) and (.FV) are shown.
 Also, in section 2.5.2 Table 3 it uses FFS in the defines but the
description column describes them as Firmware File System files.


Questions:
Section 2.2 - Figure 1 - If you were to have column headings for the two
columns/Stacks, the one on the left is Tools and the one on the right
would be Layers, right?

In this same picture, the second layer on right is a PE32/PE32+ files, the
Firmware Image files is what? S-Records? Image as it appears in memory?

Section 2.4 - Figure 6 - What is a Typical IPD FD Layout?  I'm assuming its
a more generic FD for ARM processors.

Section 2.5.3 Firmware Volumes - Figure 11 . General FV Layout
o What is the difference between the FV Name GUID in the optional FV Header
and File System GUID the FV Header?  I'm thinking that the File System GUID
in the FV Header is a constant for all .FV files =
EFI_FIRMWARE_FILE_SYSTEM2_GUID as shown in section 2.6.10.1.  The struct in
this section   FV_INFO above that has FvName[MAX_PATH] does that correspond
to the FV_NAME_GUID in the optional FV Header and is it a GUID
corresponding to the FIle Name of the .FV file?
-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Androidtrade; apps run on BlackBerryreg;10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] have any of you guys ever worked with option roms?

2014-02-10 Thread John Davis
Hello Brian,

Right now, not many.  I want to build a .fd from a set of option roms. I
believe I can use ovmfpkg\csm\cs16\csm16.inf for the mode of my option roms
and I can include these in my emulator.  I know the emulator can't use
them, but is there anyway I can see if they are present and loaded in the
emulator? Perhaps I would need to write an UEFI app to query the GUID to
get the base address for a dump?

Joh


On Mon, Feb 10, 2014 at 4:31 PM, Richardson, Brian 
brian.richard...@intel.com wrote:

  Do you have a specific question? We have discussed Option ROMs before on
 this mailing list.



 Thanks ... br

 ---

 Brian Richardson -- brian.richard...@intel.com -- Twitter: intel_brian



 *From:* John Davis [mailto:davi...@gmail.com]
 *Sent:* Monday, February 10, 2014 7:25 PM
 *To:* edk2-devel@lists.sourceforge.net
 *Subject:* [edk2] have any of you guys ever worked with option roms?



 If so and you want to chat, I would be extremely happy to talk to you.



 --

 John F. Davis

 6 Kandes Court

 Durham, NC 27713

 919-888-8358


 独树一帜



 --
 Android apps run on BlackBerry 10
 Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
 Now with support for Jelly Bean, Bluetooth, Mapview and more.
 Get your Android app in front of a whole new audience.  Start now.

 http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] so i am trying to build a copy of DriverSampleDxe

2014-02-08 Thread John Davis
Hello Gao,  Andrew

Thank you again.  That indeed was the trick.  The emulator .fdf file needed
to be edited along with the firmware .fdf file.  I'm getting a runtime
error now. I figured that would happen since i did not differenitate all
the guids. I'm working on that now.  Not sure besides the one in the .inf
file which is the source of problem, but i'm sure it will shake out.

Thank you again


John
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] so i am trying to build a copy of DriverSampleDxe

2014-02-08 Thread John Davis
Hello again

Here is the completed page with build and run instructions. I don't know
why images for screenshots don't show up. I'll correct that later.

https://sourceforge.net/p/uefinotes/wiki/MyDriverSample/


On Sat, Feb 8, 2014 at 10:29 AM, John Davis davi...@gmail.com wrote:

 Hello Gao,  Andrew

 Thank you again.  That indeed was the trick.  The emulator .fdf file
 needed to be edited along with the firmware .fdf file.  I'm getting a
 runtime error now. I figured that would happen since i did not
 differenitate all the guids. I'm working on that now.  Not sure besides the
 one in the .inf file which is the source of problem, but i'm sure it will
 shake out.

 Thank you again


 John




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] fv components to high level source dir map

2014-02-07 Thread John Davis
Maybe this will help somebody. I made it while trying to work from build
output in reverse.

I examined the final .fv output and then created a table pointing back to
the source directory for each of the components in an NT32 emulator build.

https://sourceforge.net/p/uefinotes/wiki/FV%20Sources/

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] so i am trying to build a copy of DriverSampleDxe

2014-02-07 Thread John Davis
Hello

I am trying to build a copy of DriverSampleDxe.  This is the process I am
using.  The build completes and I see it building MyDriverSampleDxe.
 However, when I examine the
C:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\FV\Ffs directory I don't see a
GUIDMyDriverSample folder.

--
This is the process for building a clone of DriverSample called
MyDriverSample.

MyDriverSample is just a copy of DriverSample with the exception that it
has a new guid and new routines names.

1. Copy the directory in fw\edk2\DriverSampleDxe to fw\edk2\MyDriverSample.
2. Change file names from DriverSample to MyDriverSample.
3. Edit edk2\MdeModulePkg\MdeModulePkg.dsc so that the peer to DriverSample
is duplicated.
4. Examine the contents of each of the files in that directory. Look for
DriverSample and DRIVER_SAMPLE and replace to MyDriverSample and
MY_DRIVER_SAMPLE.
5.  In MyDriverSampleDxe.inf replace the GUID with one from www.GuidGen.com
6. Notice that NVDataStruc.h includes Guid/MyDriverSampleHii.h now.  This
file has to be cloned.  Chances are these GUIDs will need to be differed.
For now leave them as is.
7. Edit edk2\Nt32Pkg\Nt32Pkg.dsc and clone the DriverSample entry.
8. Edit edk2\EmulatorPkg\EmulatorPkg.dsc and clone the DriverSample entry.
9. Edit edk2\EmulatorPkg\EmulatorPkg.fdf and clone the DriverSample entry.

--

Any idea why this would fail?  The only thing which I did not change was
StrGather.py where it refers to DriverSampleDxe.  I figure that is for
python tools in the shell.  I figure for now, I don't need to use the
python tools so I omitted duping it.

John

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] so i am trying to build a copy of DriverSampleDxe

2014-02-07 Thread John Davis
Hello Andrew,

At first I was like yay, then I noticed in step 9 I had edited the .fdf
file to include MyDriverSample.

FWIW, I do have a MyDriverSample in the ..FV\Guid.xref file.  I even have
 MyDriverSample.efi in DEBUG_VS2010x86/IA32 folder.

Its just not in the fv folder.

John
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] Toolchain question...

2014-02-07 Thread John Davis
Hello bill

This might not help but once a long time ago I had built a driver using the
ddk and a user stack using the SDK. Both of these were free.

Later when I tried to integrate it with a larger component built using a
devstudio app the app failed to use the use mode stack  DLLs I had built
with the SDK. Despite fiddling with compiler settings I could never get
this to work.

Once I switched my user stack to being built with the same version of
devstuidio it all magically worked.

I guess I'm thinking that edk2 wants to avoid a similar problem.
On Feb 7, 2014 3:50 PM, Bill Paul wp...@windriver.com wrote:

 The other day I decided fix my code so that it could build with the EDKII
 on
 Windows without a GNU toolchain (which meant re-writing some assembly from
 GNU
 ATT syntax to Intel syntax -- don't ask), so I looked through the
 supported
 toolchains list in tools_def.txt to see what that would entail.

 I noticed there's a DDK3790 option which allows you to build just with the
 WinDDK compilers directly (e.g. no Visual Studio needed).

 It happens I have an actual CD copy of this kit -- I ordered it from
 Microsoft
 (for free!) some years ago when it was still a current product and held
 onto
 it, so I installed it on my Win7 machine in my office and lo and behold
 everything worked as expected (including the Microsoft C compiler being
 exceptionally fascist).

 But I noticed that the descriptions for the VS2003, VS2005, VS2008, VS2010
 and
 VS2012 toolchain tags all say they require the WinDDK as well, e.g.:

 #   VS2012  -win32-  Requires:
 # Microsoft Visual Studio 2012 Professional
 Edition
 # Microsoft Windows Server 2003 Driver
 Development
 Kit (Microsoft WINDDK) version 3790.1830

 My question is: what's the dependency that forces this requirement? It
 doesn't
 look as if the definitions in tools_def.txt cause the DDK tools to be used
 when one of the Visual Studio toolchain tags is selected, but I could be
 wrong.

 The reason I ask is that the WinDDK is obsolete and while you can still
 download it for free from Microsoft if you hunt for it, it seems the
 Windows
 Driver Kit 7.1 has taken its place. I think it includes the same basic
 tools,
 but they're installed in a different path.

 -Bill

 --

 =
 -Bill Paul(510) 749-2329 | Senior Member of Technical Staff,
  wp...@windriver.com | Master of Unix-Fu - Wind River
 Systems

 =
I put a dollar in a change machine. Nothing changed. - George Carlin

 =


 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel

--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] so i am trying to build a copy of DriverSampleDxe

2014-02-07 Thread John Davis
Hello limming

Ahh emulator and not fdf files. Thanks I'll try that. I appreciate your
expertise.

John
On Feb 7, 2014 5:45 PM, Gao, Liming liming@intel.com wrote:

  John:

Your step 9 edits EmulatorPkg.fdf to include MyDriverSample. But, no
 step edits Nt32Pkg.fdf to include it. So, you can't see it NT32 FV Output
 folder.



 Thanks

 Liming

 *From:* John Davis [mailto:davi...@gmail.com]
 *Sent:* Saturday, February 08, 2014 6:49 AM
 *To:* edk2-devel@lists.sourceforge.net
 *Subject:* Re: [edk2] so i am trying to build a copy of DriverSampleDxe



 Hello Andrew,



 At first I was like yay, then I noticed in step 9 I had edited the .fdf
 file to include MyDriverSample.



 FWIW, I do have a MyDriverSample in the ..FV\Guid.xref file.  I even have
  MyDriverSample.efi in DEBUG_VS2010x86/IA32 folder.



 Its just not in the fv folder.



 John








 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel


--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] minnowboard and duet

2014-02-06 Thread John Davis
Hello

As I am looking through the EDKII workspace, I am wondering where is the
port for minnowboard? I saw a video from an Intel guy on youtube and it
mentioned the minnowboard as a atom based board which could be used as a
cheap UEFI reference development kit.  This sounds like a good deal for the
UEFI support alone.  The tunnelmountain kits are way out of my range for
something to do in my personal time, but I'm wondering.  I see BeagleBoard
and Omap trees in the source but no minnowboard.  Why is that? Does it not
require its own seperate tree since it runs on the core workspace?

Also, I see this tree for something called Duet.  What is Duet?  Is it
another board port?

Lastly, I see a lot of Ovmp discussion on the board lately.  Is that a
virtual UEFI bios port?  I'm guessing, but not sure that you could build a
.fv for it just as you build a .fv for the emulator and use it to boot a vm
os.  Is that the case?

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] minnowboard and duet

2014-02-06 Thread John Davis
Hello Bibbet,

Thank you for the info. I appreciate it.  FWIW, I was just curious what the
package was as I was poking around.

Speaking of opensource, here is a good video on UEFI and Android.  Off
camera you can hear Dong Wei from HP speaking a few times.  I just happened
to be listening to this one while digging around in the code.

https://www.youtube.com/watch?v=w6XbTGSGsy0list=PLisMMQz00Chydm-DeNZ0mgYbQj9DXMnzpindex=23



On Thu, Feb 6, 2014 at 12:36 PM, Blibbet blib...@gmail.com wrote:

 Use QEMU/OVMF, it gets more attention from Intel than DUET, which was an
 older tech. I don't think anyone at ARM cares about DUET, but theydo
 care about helping QEMU/OVMF.

 The UEFI Forum doesn't bother to update OVMF binaries to their download
 site, they're ancient. They presume you'll use the UDK/EDK2 to build
 your own fresh ones. If you don't want to build your own and need some
 existing binaries, look to the Linux community, for their research in
 learning how to work around SecureBoot. There are multiple fresh OVMFs
 there. Focus on the few Linux companies that're members of the UEFI
 Forum (Canonical, RedHat, Ubuntu), and their free distros, Fedora,
 Ubuntu, OpenSUSE.

 http://www.linux-kvm.org/page/OVMF
 http://en.opensuse.org/openSUSE:UEFI_Secure_boot_using_qemu-kvm
 https://fedoraproject.org/wiki/Testing_secureboot_with_KVM
 https://wiki.ubuntu.com/SecurityTeam/SecureBoot
 http://blog.hansenpartnership.com/uefi-secure-boot/
 http://mjg59.dreamwidth.org/

 If you really want to try and use DUET, look to external DUET extensions
 that make the TianoCore DUET release usable. There's this one, and one
 other I can't find at the moment:
 https://gitorious.org/tianocore_uefi_duet_builds

 If you're on a budget and can't get a Tunnel Mountain, I'd suggest an
 ARM dev board, over the Minnow. Minnowboard is good, but AFAIK you can't
 update the firmware, you have to wait for Intel to produce the binaries,
 so it's not that useful. If/when you can update your own firmware, then
 it'll become a lot more useful for EFI dev.

 Take a look at Linaro.org's ARM dev boards, and their fork of EDK2 for
 ARM. You can use their Ubuntu or Android binaries, and use their UEFI,
 in QEMU, or with live hardware.
 http://releases.linaro.org/latest/components/kernel/uefi-linaro
 https://wiki.linaro.org/ARM/UEFI
 https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/
 https://launchpad.net/linaro-uefi
 https://snapshots.linaro.org/components/kernel/uefi-next
 https://snapshots.linaro.org/components/kernel/uefi/
 https://wiki.linaro.org/LEG/Enginering/Kernel/UEFI/UEFI_Network_Booting

 If you're on a budget, ignore hardware and just use QEMU/OVMF.

 My $.02




 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] How do I quickly determine info such as what is difference between .efi and .ifi files?

2014-02-05 Thread John Davis
Hello

I notice that there are many file types in the edkII build workspace.  I
notice the workspace also contains files like .efi and .ifi.  Besides
knowing these are both PE files by examining them with a hex editor its not
easy for me to find what the difference in these files are.  From the EDK
II Build Spec in chapter 10 it has some info on the file types by
extension, but when I look at the UEFI specs I don't see anything which
jumps out.

For instance I the tables in Chapter 10 say that .efi
  o Is an input to GenFds.
  o Is an input to ImageGen

I know there is a _EFI_FILE Structure Protocol which seems to be a file
handle for accessing files on the EFI Partition.  I'm guessing its kind of
like a FILE handle for regular user mode file I/O.  I also know that in the
shell, whn you hit F8 and do dir you see a bunch of .efi files.

Some of the files are xxx.efi and others are xxxDxe.efi. I thought the
xxx.efi form would be applications since the Hello program I made from the
Beyond Bios book makes a Hello.efi.  The hello.efi program can be run by
simply saying Hello, but the others like Cpu.efi or Cpu can not.  I was
thinking it would be something like cpuinfo in linux.

As far as the xxxDxe.efi files, I'm pretty sure they are drivers since they
correspond to the output of the drivers command.  I don't know what the
difference between a dxe driver and dxe application other than one might be
an installer for a driver.  Anyway, I notice that you can load and unload
drivers in the shell.  Odd that you can load a driver multiple times.  Its
also odd that if you load a driver it will show up in drivers output as
\/ArpDxe.efi instead of ArpDxe as it is when loaded at boot.

Also load Cpu.efi will crash the emulator.

TLDR. Where in the UEFI spec is the pointer to all the different file
types? .efi, .ifi, What is difference between drivers, driver applications?


-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] How do I quickly determine info such as what is difference between .efi and .ifi files?

2014-02-05 Thread John Davis
Hello Andrew



Thanks again for your help.

On Wed, Feb 5, 2014 at 11:10 AM, Andrew Fish af...@apple.com wrote:


 On Feb 5, 2014, at 10:27 AM, John Davis davi...@gmail.com wrote:



 Stuff snipped

Wow, that is good info you gave me.  I was surprised that PEView ( a free
program) actually decodes the Subsystem field in the IMAGE_OPTIONAL_HEADER.

DEBUG_VS2010x86/IA32/MyHello/Output/MyHello.efi is 0xa
IMAGE_SUBSYSTEM_EFI_APPLICATION
DEBUG_VS2010x86/FV/Ffs/GUID?Tcp4Dxe/no .efi files here, but take the
.p32 file and strip off leading bytes to the dos header and save to diff
file and edit is 0xB IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER
DEBUG ditto/GUIDReset/ditto decodes to EFI_BOOT_SERVICE_DRIVER
DEBUG ditto/GUIDTimer/dito ditto
DEBUG ditto/GUIDCpu/ditto ditto
DEBUG ditto/GUIDCapsuleRuntimeDxe/ 0xc IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER

Odd, I figured the Dxe vs no Dxe suffix would correspond to different image
types.

//
 // PE32+ Subsystem type for EFI images
 //
 #define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION 10
 #define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
 #define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER  12



So things which make sense:

o  CapsuleRuntimeDxe is a runtime driver. This jives with chapter 5 of
Beyond Bios where it says capsule services is part of the runtime services.
o MyHello application which is in the seperate folder is a Application,
since it was presented as an application code and discussed in the book as
an application.
o Cpu, Reset, Tcp are boottime drivers.

Things which don't make sense:
o Timer is boottime but its mentioned as a runtime service.
o Why some drivers end with Dxe suffix and others don't. GUIDReset vs
GUIDCapsuleRuntimeDxe







 Thanks,

 Andrew Fish


 --
 John F. Davis
 6 Kandes Court
 Durham, NC 27713
 919-888-8358

 独树一帜


 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] pcd, fd and loading option roms/firmware at runtime

2014-02-04 Thread John Davis
Hello

In the EDK II build spec, Chapter 10 on Post-Build ImageGen Stage - Flash
Images, it mentions PCD's (Some of the PCD's defined...) and FD (..
combined into FD image files..).

What are these files?

The glossary has PCD defined as a Platform Configuration Database, but I
thought there would only be one Platform Configuration Database.  Why the
plural s?


The work flow diagram in Figure 22 shows a .FD file as a Full Firmware
Image. I notice there are NT32.fd and FVRECOVERY.Fv files of similar size
in the NT32IA32/DEBUG_VSxx/FV directory. What is the difference in these
two files?  Only thing I can tell based upon a hex editor is that the
strings which are in common are at different addresses and that the .fd
file is used by the emulator as a firmware volume. From the description
file:   gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareVolume|L..\\Fv\\Nt32.fd


Lastly, is there anyway to load firmware in the emulator at runtime and
dump it?  From the shell book, I can see you can load drivers but I haven't
found anything on .fv files yet.

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] EFI OS Loaders and Beyond BIOS book

2014-01-31 Thread John Davis
Hello

The sequence described in Chapter 4 Protocols You Should Know, on EFI OS
Loaders looks interesting.  Can this code be used with the emulator?

The only place I found one of the routines (LibGetSystemConfigurationTable)
 in the codebase was in two patch files associated with EfiDump.c.

There is an efi version (efiLibGetSystemConfigurationTable) but it is used
in a bunch of library files.

Is there a sample EFI OS Loader written using the new api I could
reference, tweak and test?

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] Fwd: EFI OS Loaders and Beyond BIOS book

2014-01-31 Thread John Davis
I looked at that code in the EFI Toolkit.  It looks like it is similar code
to the OS Loader shown in the book except it uses stdlib.  Thanks for the
pointer, Vincent.

This prompts a few more questions.

It appears this code has been superseded by the EADK.  Other than the
stdlibinternals code all these components in EADK have been duplicated in
the EDK2.  Is that simply to prevent people from using the internals part?
 Also it looks like some of the utils which are in EFI Toolkit are in the
EDK2 but not in EADK, like ramdisk, Edit, ping, etc.  Why are some
separated into EADK and others not?
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] trying to include PeImage.h

2014-01-31 Thread John Davis
Hello

I'm trying to #include PeImage.h in a .c file.
I think, but not certain that the inf file [LibraryClasses] determines the
include path as well as libs to link.  With that said I added

[LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib
  BaseLib

To my BaseLib to that section as shown, but it still does not pick it up
during a  build all

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] trying to include PeImage.h

2014-01-31 Thread John Davis
Thanks for your expertise Andrew. I'll use your advice.
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] regarding the chapter 4 sample program in the book Beyond Bios

2014-01-30 Thread John Davis
Hello

I'm reading the Beyond Bios book in conjunction with the stuff on
tianocore.  The example code in chapter 4 of that book talks about a
HelloApplication.  The format looks different from the sample code in
AppPkg\Hello directory of the EDK2 src.  Is that format/api shown in the
book obsolete?  The book does not say how to compile it or even where to
put it and I am confused.

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] regarding the chapter 4 sample program in the book Beyond Bios

2014-01-30 Thread John Davis
Hello Laurie,

Thank you for letting me know the source is still valid.  I'll look at the
references you provided to see if I can get it working. I do have that
massive 400+ page pdf and I have built the emulator.  It just takes a while
to dig though.  It seems the answer is in there, I just haven't found it
yet.

Thank you
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] regarding the chapter 4 sample program in the book Beyond Bios

2014-01-30 Thread John Davis
Hello Andrew,

It kind of looks like the one you show. Kind of.

For reference here it is

--
#include efi.h

EFI_STATUS InitializeHelloApplication( IN EFI_HANDLE ImageHandle, IN
EFI_SYSTEM_TABLE *SystemTable) {

  UINTN Index;

  SystemTable-ConOut-OutputString(SystemTable-ConOut,LHello application
started\n\r);
  SystemTable-ConOut-OutputString(SystemTable-ConOut,L\n\r\n\r Hit any
key to exit\n\r);

SystemTable-BootServices-WaitForEvent(1,(SystemTable-ConIn-WaitForKey),Index);
  return EFI_SUCCESS;
}


On Thu, Jan 30, 2014 at 12:57 PM, Andrew Fish af...@apple.com wrote:


 On Jan 30, 2014, at 12:38 PM, John Davis davi...@gmail.com wrote:

  Hello
 
  I'm reading the Beyond Bios book in conjunction with the stuff on
 tianocore.  The example code in chapter 4 of that book talks about a
 HelloApplication.  The format looks different from the sample code in
 AppPkg\Hello directory of the EDK2 src.  Is that format/api shown in the
 book obsolete?  The book does not say how to compile it or even where to
 put it and I am confused.
 

 I’m guessing the one in the book looks more like:
 https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Application/HelloWorld/HelloWorld.c
 This is a the generic UEFI Application/Driver entry point.

 The application in the AppPkg depends on the shell. So these are not UEFI
 applications, they are UEFI shell applications. They depend on the shell
 being loaded to function.

 I think you will find that the entry point for the UefisShellCEntryLib is
 the same as a UEFI Application. This library looks up info from a protocol
 produced by the shell to figure out the arguments.


 https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.c

 Thanks,

 Andrew Fish

  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  WatchGuard Dimension instantly turns raw network data into actionable
  security intelligence. It gives you real-time visual feedback on key
  security issues and trends.  Skip the complicated setup - simply import
  a virtual appliance and go from zero to informed in seconds.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 WatchGuard Dimension instantly turns raw network data into actionable
 security intelligence. It gives you real-time visual feedback on key
 security issues and trends.  Skip the complicated setup - simply import
 a virtual appliance and go from zero to informed in seconds.

 http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] regarding the chapter 4 sample program in the book Beyond Bios

2014-01-30 Thread John Davis
Yeah, I don't think this code will build. I understand what you guys were
telling me about it being a higher abstraction. Kind of like programming in
Xt versus programming in Motif but when I try to massage it into building
it does not work.  It complains about not being able to find efi.h.  I did
a search on efi.h the ones I found are commented out of the Nt32Pkg build
file.

I give, I'll move on.


On Thu, Jan 30, 2014 at 1:59 PM, John Davis davi...@gmail.com wrote:

 Hello Andrew,

 It kind of looks like the one you show. Kind of.

 For reference here it is

 --
 #include efi.h

 EFI_STATUS InitializeHelloApplication( IN EFI_HANDLE ImageHandle, IN
 EFI_SYSTEM_TABLE *SystemTable) {

   UINTN Index;

   SystemTable-ConOut-OutputString(SystemTable-ConOut,LHello
 application started\n\r);
   SystemTable-ConOut-OutputString(SystemTable-ConOut,L\n\r\n\r Hit any
 key to exit\n\r);

 SystemTable-BootServices-WaitForEvent(1,(SystemTable-ConIn-WaitForKey),Index);
   return EFI_SUCCESS;
 }


 On Thu, Jan 30, 2014 at 12:57 PM, Andrew Fish af...@apple.com wrote:


 On Jan 30, 2014, at 12:38 PM, John Davis davi...@gmail.com wrote:

  Hello
 
  I'm reading the Beyond Bios book in conjunction with the stuff on
 tianocore.  The example code in chapter 4 of that book talks about a
 HelloApplication.  The format looks different from the sample code in
 AppPkg\Hello directory of the EDK2 src.  Is that format/api shown in the
 book obsolete?  The book does not say how to compile it or even where to
 put it and I am confused.
 

 I’m guessing the one in the book looks more like:
 https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Application/HelloWorld/HelloWorld.c
 This is a the generic UEFI Application/Driver entry point.

 The application in the AppPkg depends on the shell. So these are not UEFI
 applications, they are UEFI shell applications. They depend on the shell
 being loaded to function.

 I think you will find that the entry point for the UefisShellCEntryLib is
 the same as a UEFI Application. This library looks up info from a protocol
 produced by the shell to figure out the arguments.


 https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.c

 Thanks,

 Andrew Fish

  --
  John F. Davis
  6 Kandes Court
  Durham, NC 27713
  919-888-8358
 
  独树一帜
 
 
 
 --
  WatchGuard Dimension instantly turns raw network data into actionable
  security intelligence. It gives you real-time visual feedback on key
  security issues and trends.  Skip the complicated setup - simply import
  a virtual appliance and go from zero to informed in seconds.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
  edk2-devel mailing list
  edk2-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/edk2-devel



 --
 WatchGuard Dimension instantly turns raw network data into actionable
 security intelligence. It gives you real-time visual feedback on key
 security issues and trends.  Skip the complicated setup - simply import
 a virtual appliance and go from zero to informed in seconds.

 http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk
 ___
 edk2-devel mailing list
 edk2-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/edk2-devel




 --
 John F. Davis
 6 Kandes Court
 Durham, NC 27713
 919-888-8358

 独树一帜





-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] regarding the chapter 4 sample program in the book Beyond Bios

2014-01-30 Thread John Davis
Hello

I got it working.  Thanks for the help.  I used the code from the book with
the uefi.h include and I modeled the .inf file from the samplehelloapp in
the edk2.  The only problem was using the webpage to generate the guid.  I
don't know if that line was meant to generate a guid or simply use that
site to generate one.  I just wrote a random one.  If I used the webpage in
the file as is, it crashes the build.

Thanks again

John
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] build run has duplicate consoles

2014-01-29 Thread John Davis
Hello

I used ms windows to build the EDK II source.   I have built the code using
ms visual studio 2010 premium and even done a build post cleanall.  However
everytime I do a $ build run, I get two tianocore emulator screens.  They
appear to be mirrored, but its confusing to have two windows.  Is that
normal?  I am using a win7 pc with an i5 and 4 cores if that helps.

-- 
John F. Davis
6 Kandes Court
Durham, NC 27713
919-888-8358

独树一帜
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel


[edk2] Wiki document updates

2014-01-28 Thread John Davis
I'm learning uefi and reading the beyond bios and the wiki. I've noticed
some parts which could be updated but the pages are locked and no email
addresses for most of the Admins. How can I get in touch with them? The one
email I sent never got a response.
--
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991iu=/4140/ostg.clktrk___
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel