Password: edk2efiacpidump -----Original Message----- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Andrew Fish Sent: Wednesday, July 29, 2015 1:50 PM To: Smith, Jonathan D Cc: edk2-devel@lists.01.org Subject: Re: [edk2] efi acpidump port
> On Jul 29, 2015, at 1:43 PM, Smith, Jonathan D <jonathan.d.sm...@intel.com> > wrote: > > Attaching a zip of the files > Looks like you need to rename the inf, or add a password to the Zip. cat 0_Warning.txt BLOCKED FILE ALERTA file has been blocked due to the 'Intel Email File Filtering Policy' rule.Context: 'acpidump.inf'Disallowed due to Ticket Number: '0ab4-55b9-3aff-0008' See your system administrator for further information. Copyright 1999-2011 McAfee, Inc.All Rights Reserved.http://www.mcafee.com Thanks for working on this. Thanks, Andrew Fish > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org > <mailto:edk2-devel-boun...@lists.01.org>] On Behalf Of Smith, Jonathan > D > Sent: Wednesday, July 29, 2015 1:37 PM > To: 'Andrew Fish'; 'edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>' > Subject: Re: [edk2] efi acpidump port > > Hi all, > > Let me know if the attachments to this message do not show up. > > I’ve elaborated the build metadata, reduced the ACPICA changes (moving > alterations into additional files as needed), and verified that the compiled > AcpicaPkg provides a correct implementation of acpidump that works for Minnow. > > To set up the EDK2 AcpicaPkg from the ACPICA sources: > > > 1.) Go to https://acpica.org/downloads <https://acpica.org/downloads> and > download > aspia-unix-20150619.tar<https://acpica.org/downloads%20and%20download%20aspia-unix-20150619.tar > <https://acpica.org/downloads%20and%20download%20aspia-unix-20150619.tar>> > > 2.) Extract the tar and put it in the root of edk2 as AcpicaPkg > > 3.) Apply acenv.patch to edk2\AcpicaPkg\source\include\platform\acenv.h or > just add the two lines manually. > > 4.) Add the files AcpicaPkg.dec, AcpicaPkg.dsc, acpidump.inf, and > acpi_main.c to the dir edk2\AcpicaPkg > > 5.) Add the file acedk2efi.h to the dir > edk2\AcpicaPkg\source\include\platform > > I had to make several changes to link to the edk2 implementation of LibC. Now > the only code in ACPICA that changes is the #ifdef that includes our > acedk2efi.h file; this is a slightly modified version of the #else block in > acefi.h we had earlier. > > Cheers, > Jonathan Smith > > > From: Andrew Fish [mailto:af...@apple.com <mailto:af...@apple.com>] > Sent: Saturday, July 18, 2015 12:44 PM > To: Smith, Jonathan D > Cc: edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org> > Subject: Re: [edk2] efi acpidump port > > > On Jul 18, 2015, at 11:23 AM, Smith, Jonathan D <jonathan.d.sm...@intel.com > <mailto:jonathan.d.sm...@intel.com><mailto:jonathan.d.sm...@intel.com > <mailto:jonathan.d.sm...@intel.com>>> wrote: > > The issues I ran into were after solving issues with the /D options. I’ve > been working with /D _EDK2_EFI /D _ACPI_DUMP_APP so far. A lot of warnings > escalated to errors were simple fixes, such as unsigned-to-signed > comparisons. I was asking whether the parameter I mentioned called “Address” > which was declared as type ACPI_SIZE should have been declared > ACPI_PHYSICAL_ADDRESS, since every use of that function (OslMapTable) passes > in type ACPI_PHYSICAL_ADDRESS. Changing to the address type fixes some > compile warnings, but I was wondering if there was some implicit reason why > we used the size type instead. > > > Jonathan, > > 1st off this code comes from acpica, so the experts about this code don’t > subscribe to this mailing list. You would need to ask questions about why on > some acpica list. I only looked at the acpiaca code for the 1st time to try > and port it. > > ACPI_PHYSICAL_ADDRESS is defined in actypes.h. This file supports different > modes of acpica, but it is tool agnostic. So I did not change it.This file is > modified by #define’s so you probably have the wrong combination? > > You probably have some more fundamental bug that you are hiding by changing > the common code. The acpica code supports being compiled for VC++ and gcc, so > it “should work”? > The edk2 defines EFI_PHYSICAL_ADDERSS as: > typedef UINT64 EFI_PHYSICAL_ADDRESS; > > ~/work/src/edk2/acpica(acpica)>git grep --untracked ACPI_PHYSICAL_ADDRESS -- > *.h | grep typedef > source/include/actypes.h:238:typedef UINT64 > ACPI_PHYSICAL_ADDRESS; > source/include/actypes.h:285:typedef UINT32 > ACPI_PHYSICAL_ADDRESS; > source/include/actypes.h:295:typedef UINT64 > ACPI_PHYSICAL_ADDRESS; > > Thus you don’t really need to set things to EFI_PHYSICAL_ADDRESS, you just > need to make sure acpica has the right settings. It looks like > ACPI_32BIT_PHYSICAL_ADDRESS getting set will cause a 32-bit address. If > EFI_PHYSICAL_ADDERSS and EFI_PHYSICAL_ADDERSS are both defined to be UINT64 I > would not thing you would have an issue? > > > > I’m running into further issues now with the ACPICA package trying to > define functions like memcpy which are intrinsic and cause a fatal > error on compile > > What error are you getting? You should fix the thing that is throwing the > error, and not modify the code. I thin the gcc side might depend on that > code? The edk2 StdLib includes a memcpy, so this issue must have been solved? > > > . My workaround is to do #if !defined(_EDK2_EFI) guards since I searched the > package and didn’t find any uses of those functions. > > I added the _EDK2_EFI, I don’t think it is a good idea to work around some > compiler specific issue you are hitting by adding it in new locations. > > > Currently I’m just combing the code for any other compile > warnings/errors and not making any functional changes outside that. I > will need a lot more help when it comes to debugging the function of > this ☺ > > > I’d suggest not doing a lot of warning fixes in the code. You would be better > off suppressing the warnings via command line or #pragma. For example I had > to turn off these warnings to get clang to compile: -Wno-unused-function > -Wno-unused-const-variable. > > Here is an example of the edk2 suppressing a warning via #pragma > https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Base.h > <https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Base.h> > #include <ProcessorBind.h> > > #if defined(_MSC_EXTENSIONS) > // > // Disable warning when last field of data structure is a zero sized array. > // > #pragma warning ( disable : 4200 ) > #endif > > > I started trying to do zero changes, but I was forced to add the _EDK2_EFI. > In general if we keep the edk2 changes small and contained we have a good > chance of getting the integrated into the acpiaca project. This will make it > easy for the edk2 to stay in sync with the acpica project, and it will also > make it easier to port new tools or features. So in general we should only > touch acpica files that already contain compiler, or OS specific porting. > > > Also, I’m replying this back onto the new edk2-devel mailing list. > > > Thanks, > > Andrew Fish > > > > -Jonathan > > From: Andrew Fish [mailto:af...@apple.com <mailto:af...@apple.com>] > Sent: Thursday, July 16, 2015 4:48 PM > To: Smith, Jonathan D > Cc: Shubha Ramani; edk2-de...@lists.sourceforge.net > <mailto:edk2-de...@lists.sourceforge.net><mailto:edk2-de...@lists.sour > ceforge.net <mailto:edk2-de...@lists.sourceforge.net>>; Zheng, Lv > Subject: Re: [edk2] efi acpidump port > > > On Jul 16, 2015, at 4:07 PM, Smith, Jonathan D <jonathan.d.sm...@intel.com > <mailto:jonathan.d.sm...@intel.com><mailto:jonathan.d.sm...@intel.com > <mailto:jonathan.d.sm...@intel.com>>> wrote: > > From his post: > “Sorry I don’t have time to debug it, or even run it, but maybe some one else > could take it on” > > I’m going to take this on, and try getting these changes debugged, cleaned, > and pushed up. I’ve been trying to build it on the VS2013x86 tool chain, but > I get the following warning-treated-as-error when I build: > > c:\users\jdsmith1\edk2\acpica\source\os_specific\service_layers\osefit > bl.c(238) : warning C4244: 'function' : conversion from > 'ACPI_PHYSICAL_ADDRESS' to 'ACPI_SIZE', possible loss of data > > It’s from this declaration: > > static ACPI_STATUS > OslMapTable ( > ACPI_SIZE Address, > char *Signature, > ACPI_TABLE_HEADER **Table) > { > > Is there any reason the Address parameter is ACPI_SIZE type and not > ACPI_PHYSICAL_ADDRESS ? > > > So you have to think of acpica as a complete self contained world. It is use > for the ACPI infrastructure in Linux, and OS based tools in may different > operating systems. I ran into these kind of issues and you have to pick the > right set of /D compiler options to get things defined properly. > > If you look in: acpidump.inf > [BuildOptions] > GCC: *_*_*_CC_FLAGS = -D_EDK2_EFI -DACPI_DUMP_APP > -DACPI_USE_SYSTEM_INTTYPES -Wno-unused-function > -Wno-unused-const-variable > > I only set the flags for the GCC family, so you will need to add MSFT > version. I’d start with this: > MSFT:*_*_*_CC_FLAGS = /D _EDK2_EFI /D ACPI_DUMP_APP > > Basically acpica has lots of build flags to support building in different > environments. I added the _EDK2_EFI to try and pick up as much stuff as > possible from the edk2. > > Thanks, > > Andrew Fish > > PS I’ve been burned by folks not using the EFI type system before…. long on > VC++ is 4 bytes, but for GCC/clang it can be 8-bytes. That might be what you > are hitting, but hopefully turning on _EDK2_EFI will make it go away. > > > > From: Shubha Ramani [mailto:shubharam...@yahoo.com > <mailto:shubharam...@yahoo.com>] > Sent: Thursday, July 16, 2015 10:44 AM > To: Smith, Jonathan D; edk2-de...@lists.sourceforge.net > <mailto:edk2-de...@lists.sourceforge.net><mailto:edk2-de...@lists.sour > ceforge.net <mailto:edk2-de...@lists.sourceforge.net>> > Cc: Zheng, Lv; Andrew Fish > Subject: Re: [edk2] efi acpidump port > > Andrew Fish has done most of it already. Please check his last post. > > > Shubha D. Ramani > shubharam...@gmail.com > <mailto:shubharam...@gmail.com><mailto:shubharam...@gmail.com > <mailto:shubharam...@gmail.com>> shubharam...@yahoo.com > <mailto:shubharam...@yahoo.com><mailto:shubharam...@yahoo.com > <mailto:shubharam...@yahoo.com>> > > > On Thursday, July 16, 2015 10:33 AM, "Smith, Jonathan D" > <jonathan.d.sm...@intel.com > <mailto:jonathan.d.sm...@intel.com><mailto:jonathan.d.sm...@intel.com > <mailto:jonathan.d.sm...@intel.com>>> wrote: > > Hi, > > There’s been talk about making an EDK2 port of acpidump. I can try making the > port. What has been done so far, and where should I start? > > Thanks, > Jonathan Smith > > <acpidump_files.zip> _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel