Commit Graph

52 Commits

Author SHA1 Message Date
Leif Lindholm 0d304bef4b ArmPlatformPkg/Bds: Make ".EFI" files recognizable as EFI applications
Currently, only ".efi" files are recognized as valid ARM UEFI
applications by BDS. This patch also makes ".EFI" files recognised.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14437 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-21 10:01:27 +00:00
Olivier Martin 4076165359 ArmPlatformPkg/Bds: Moved the PrintLib() after forcing the last character to be null
That should prevent the risk of buffer overflow.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14430 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19 18:00:46 +00:00
Ryan Harkin 7ff3b9494d ArmPlatformPkg/Bds: Fixed potential overflow in EditHIInputStr()
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off: Olivier Martin <olivier.martin@arm.com>




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14393 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-29 14:56:35 +00:00
oliviermartin 53cba4fea4 ArmPlatformPkg/Bds: Missing CRC32 update
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14266 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:28:11 +00:00
oliviermartin ecc62d1390 ArmPlatformPkg/Bds: Fixed adding support for new boot entry when the generated DevicePath is bigger than one node
The initial support was only considering the added Device Path will be a single node.
TFTP for instance requires two new nodes on the top of the ethernet Device Path; a first
one for the IP address of the server and a second one for the file to download.

This change replace the return argument from a DevicePath node by a DevicePath.
It means the End Device Path node is now required.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14194 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 01:03:23 +00:00
oliviermartin c0b2e4775d ArmPkg: Introduce GetGlobalEnvironmentVariable() function.
Rename GetEnvironmentVariable() function into GetGlobalEnvironmentVariable().
GetEnvironmentVariable() function sill exists but caller must now pass a Guid.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14176 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:42:59 +00:00
oliviermartin 7135d76d56 ArmPlatformPkg/BootMenu.c: Print loader type in a more friendly way.
In debug mode, the loader type (EFI application or linux kernel with
FDT/ATAG support) is displayed in UEFI boot menu.

Before this patch it was printed as a decimal number which is
meaningful to the user only if he knows the values of the
ARM_BDS_LOADER_TYPE enumeration type in the source code...

This patch modifies the boot menu so that it also prints a
user-friendly string describing the loader type.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14175 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:41:52 +00:00
oliviermartin aeaf64d64d ArmPlatformPkg/Bds/BootMenu.c: Set "Fdt" UEFI variable as local
"Fdt" UEFI variable is not a global variable as defined by UEFI specification.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14104 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-28 11:44:50 +00:00
oliviermartin 9127a094fd ArmPlatformPkg/Bds: Fixed the deletion of boot option entries
When deleting a boot entry from the boot menu all next entries must
be copied one entry up to rearrange the BootOrder list.

This patch fixes the copy: each boot entry is 16 bits, not 8 bits.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14090 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 11:50:59 +00:00
oliviermartin 1e57a46299 ARM Packages: Fixed line endings
This large code change only modifies the line endings to be CRLF to be
compliant with the EDK2 coding convention document.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14088 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 11:28:06 +00:00
oliviermartin 8213627ef7 ArmPlatformPkg/Bds: Replaced 'EBL' by 'UEFI Shell' as the default shell on ARM Platforms
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13759 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 15:33:10 +00:00
oliviermartin b34e4db382 ARM Packages: Minor typo, mispellings and coding style changes
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13752 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 13:39:40 +00:00
oliviermartin 30d1bcd131 ArmPlatformPkg/Bds: Fixed device path of the default error output device
Replaced 'ConErr' by 'ErrOut'.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13600 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-08 16:47:51 +00:00
oliviermartin 14238a61c8 ArmPlatformPkg/Bds: Fixed Memory Corruption when updating the path of a Linux initrd
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13264 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:17:36 +00:00
oliviermartin 82325f95c5 ARM Packages: Minor changes (fixed mispelling, line endings, incorrect comments)
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13243 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:46:40 +00:00
oliviermartin e34114ea3f ArmPlatformPkg/Bds: Fixed the size of the unicode string use to represent hexadecimal memory address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13063 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:31:17 +00:00
oliviermartin 0db25ccc6c ArmPlatformPkg: Minor code changes (comments, misspellings, coding stylei, line endings)
- Fixed misspellings
- Updated Copyright
- Remove unused sections in INF file
- Fixed incorrect commentsi
- Fixed coding style
- Fixed line endings (CRLR)



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13052 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:11:42 +00:00
oliviermartin 91213ad3dd ArmPlatformPkg/Bds: Add support for 'BootCurrent'
The UEFI variable 'BootCurrent' defines the EFI application started by the Boot Manager.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13000 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:34:16 +00:00
oliviermartin 49a25d8490 ArmPlatformPkg/Bds: Fixed update of boot entries
There were some incorrect pointer calculations.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12999 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:33:02 +00:00
oliviermartin 0e29bf5c91 ArmPlatformPkg/Bds: Fixed 'BootNext' support
The 'BootNext' environment variable should only contain the index of the 'next' boot entry.
It was containing a complete Boot Option.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12998 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:30:19 +00:00
oliviermartin b148591a8c ArmPlatformPkg/Bds: Fixed memory leak
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12997 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:29:35 +00:00
oliviermartin c0658bd6b8 ArmPlatformPkg/Bds: Fix the Boot Manager option to set the FDT device path
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12642 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:44:05 +00:00
oliviermartin 22a262c8ee ArmPlatformPkg/Bds: Fixed and Improved initrd support in the ArmPlatformPkg Boot Manager
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12641 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:43:37 +00:00
oliviermartin 483bc3d330 ArmPlatformPkg/Bds: Fix when the default console variables are empty (or null)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12640 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:43:12 +00:00
oliviermartin 793275a858 ArmPlatformPkg: Coding style (minor changes)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12625 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:31:02 +00:00
oliviermartin 705b0c031f ArmPlatformPkg/Bds: Fix GetConsoleDevicePathFromVariable() when SetVariable has failed
Return the Default Device Path even when SetVariable has failed.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12469 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-28 19:05:54 +00:00
oliviermartin 95b3580f82 ArmPlatformPkg/Bds: Add an option in the Boot Manager to edit the Device Path of the Platform Device Tree
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12430 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:23:19 +00:00
oliviermartin 76d17c3156 ArmPkg/BdsLib: Use two distinct functions to boot Linux either by Atag or Fdt
Separate the BdsBootLinux() function into two functions for Atag and Fdt specific Linux booting
- BdsBootLinuxAtag ()
- BdsBootLinuxFdt ()



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12408 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:54:38 +00:00
oliviermartin 11c20f4e06 Arm Packages: Fixed coding style/Line endings to follow EDK2 coding convention
Arm Packages: Fixed mispelling

Arm Packages: Reduced warnings all over the code




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12407 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:53:54 +00:00
oliviermartin c93ab96c01 ArmPlatformPkg/Bds: Fix menu when no boot entry are present for deletion or update
When there are no boot entries to delete, the boot manager was prompting the
user to select an entry to delete. This fix prints a message to let the
user know that he is trying delete boot entry when there are none.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12405 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:51:35 +00:00
oliviermartin e8e1daee63 ArmPlatformPkg/Bds: Fixed initialization of default Boot Entry with an initrd
The Boot CmdLine was used instead of the initrd Device Path.

Issue found by Sivasakthivel N (AMI India)



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12404 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:50:13 +00:00
oliviermartin 3e710183d1 ArmPlatformPkg/Bds: Fix the update of existing boot entries
Variables were not initialized in the right order in the boot entry update function.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12335 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-13 09:03:10 +00:00
oliviermartin ff7666c511 ArmPlatformPkg/Bds: Minor fixes and coding style changes
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12316 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:56:14 +00:00
oliviermartin 4aa2417061 ArmPkg/BdsLib: Move some functions used to create/update BDS Boot Entry from ArmPlatformPkg/Bds to ArmPkg/BdsLib
These functions can be reused by any EFI application to add/update a BDS Boot Entry.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12314 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:54:33 +00:00
oliviermartin 2755d844f9 ArmPkg/BdsLib: Add support to pass argument to a loaded EFI application
OptionalData argument has to be set in the Loaded Image Protocol of the
new EFI application.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12313 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:53:42 +00:00
oliviermartin a6e97d28aa ArmPkg/BdsLib: Move the Generic BDS_LOAD_OPTION structure from Armplatform/Pkg to ArmPkg/Bds
This structure is defined by the UEFI specification and has a better location in BdsLib.


ArmPlatformPkg/Bds: Encapsulate the BDS_LOAD_OPTION into a list entry structure




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12312 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:52:31 +00:00
oliviermartin 2ccfb71ebe ArmPlatformPkg/Bds: Add a signature in front of the Boot Argument propoer to this Bds
Each application loader has its own OptionalData format. To avoid to start a Boot Entry
that has not been created by ArmPlatform/Bds a signature has been added to the
OptionalData.


ArmPlatformPkg/Bds: Rename some internal structure from BDS_* to ARM_BDS_*



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12311 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:51:13 +00:00
oliviermartin 74b961324c ArmPlatformPkg/Bds: Get User inputs in Unicode
The user input was getting in Ascii and converted later to Unicode
when required.
In this change, the user inputs are caught in Unicode and converted
to Ascii only when needed.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12310 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:49:54 +00:00
oliviermartin 656416bc2e ArmPlatformPkg/Bds: Add Linux 'initrd' support to BDS
An 'initrd' file can be specified for a Linux kernel.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12169 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 13:21:14 +00:00
oliviermartin 326d1df919 ArmPlatformPkg/Bds: Add return carriage after the user presses 'ESC'
Otherwise, the next line of the boot menu was on the same line as the 'escaped' one.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12168 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 11:29:26 +00:00
oliviermartin a6caee65ac ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ArmPlatformSecExtraAction()
The PcdStandalone is a PCD ARM Ltd uses to make the difference between a standalone UEFI (boot
from cold boot to Boot Manager without user intervention) and a Debug UEFI firmware (the firmware
engineer has to copy the Normale World image into the DRAM to enable his/her firmware).

By coping the firmware into DRAM in the non standalone version it is much faster than reflashing
the NOR Flash after each build.

ArmPlatformSecExtraAction() function is called just before the Sec module jump to normal world.
The platform firmware can run extra actions at this stage.
The 'ARM Standalone' concept has moved to the implementation of ArmPlatformSecExtraAction() for
the ARM development boards (in ArmPlatformPkg/Library/DebugSecExtraActionLib).


ArmPlatformPkg: Enable DebugAgentLib in Sec and PrePeiCore


ArmPlatformPkg: Fix line endings in some source files

Use CR+LF line endings as defined by the EDK2 coding convention




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11991 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 16:07:54 +00:00
oliviermartin 70aa21d5d6 ArmPlatformPkg/Bds: Catch the key pressed to escape the count doan
Catch the pressed key used to not start the default boot device.
Otherwise this key would appear in the menu user input.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11990 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 13:52:29 +00:00
oliviermartin fb42fffeb8 ArmPlatformPkg: Fix build issues
Other compiler version ... other warnings



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11970 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-04 10:18:18 +00:00
oliviermartin c60ea9a873 ArmPlatformPkg/Bds: Use unaligned read to access OptionalData in EFI_LOAD_OPTION
EFI_LOAD_OPTION is a packed structure. Accessing to the non aligned double word
requires to use ReadUnaligned32() function.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11916 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 11:55:11 +00:00
oliviermartin aa95e2f79c ArmPlatformPkg/Bds: Check if the assumed requirements are set before to use it
There were some assumptions that some PCDs and protocols were defined.
Check if these requirements are defined; either print a debug message
to inform the user or skip the statements that require these PCDs or protocol.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11915 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 11:50:32 +00:00
oliviermartin 6bab33c7b6 ArmPlatformPkg/Bds: Fix various bugs in the new BDS
The errors were:
- uncaught returned error
- used of uninitialized variables


ArmPlatformPkg/Bds: Implement the update of MemMap Boot Device



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11830 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15 19:56:50 +00:00
oliviermartin e862cd50c6 ArmPkg: Fix warnings raised by ARMGCC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11829 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15 19:53:15 +00:00
oliviermartin ea46ebbe6a ArmPlatformPkg/Bds: Upgrade the BDS to be more conformed to the UEFI Specification
The UEFI Specification defines some requirement related to the Boot Manager.
This new version of the BDS support most of the features:
- TimeOut, BootNext, BootOrder, Boot### environment variable for boot device selection
- ConOut. ConIn, ConErr environment variables for console intialization
- Boot EFI application defined by a Device Path
- Support removable devices
- Support FileSystem, MemMap, PXE and TFTP boot devices



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11800 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11 11:58:23 +00:00
oliviermartin 09eb2dc3e8 ArmPlatformPkg/Bds: Connect all drivers if the SimpleTextIO is not available
If none of the Simple Text Input/Output Protocol implementations were started
before starting BDS then an exception error occured.
This fix forces to connect all the drivers if no SimpleText IO protocols are
found.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11487 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:28:01 +00:00
oliviermartin 3e0707637c ArmPlatformPkg/Bds: Fix build
Renamed BdsLinuxLib.h into BdsUnixLib.h



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11482 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:22:39 +00:00