Skip to content
This repository has been archived by the owner on Mar 9, 2023. It is now read-only.

Commit

Permalink
add Arm stack tracker test application and driver
Browse files Browse the repository at this point in the history
* See https://github.com/pbatard/edk2/commits/ebc-arm2
* Also add gnu-efi submodules
  • Loading branch information
pbatard committed Oct 6, 2016
1 parent 0f827f3 commit 44ad1c7
Show file tree
Hide file tree
Showing 23 changed files with 1,634 additions and 8 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -1,5 +1,6 @@
*.efi
!protocol_driver/*.efi
!stacktracker/driver/*.efi
*.exe
*.fd
image
Expand Down
6 changes: 6 additions & 0 deletions .gitmodules
@@ -0,0 +1,6 @@
[submodule "stacktracker/driver/gnu-efi"]
path = stacktracker/driver/gnu-efi
url = git://git.code.sf.net/p/gnu-efi/code
[submodule "protocol_driver/gnu-efi"]
path = protocol_driver/gnu-efi
url = git://git.code.sf.net/p/gnu-efi/code
1 change: 1 addition & 0 deletions intel/Readme.txt
@@ -0,0 +1 @@
This directory contains the demo samples from the EBC Debugger.
7 changes: 2 additions & 5 deletions make.cmd
Expand Up @@ -70,11 +70,8 @@ if not exist %QEMU_FIRMWARE% (
if [%UEFI_EXT%]==[arm] (
echo.
echo Notice: EBC support for ARM is not yet integrated into EDK2
echo This means that a specially patched UEFI firmware is required for
echo EBC to work on ARM...
echo However, please be mindful that there exist residual issues which
echo you need to be aware of regarding native CALLEX and parameter
echo queueing. For details, please see the 'protocol.asm' sample.
echo This means that a specially patched UEFI firmware is required
echo for EBC to work on ARM...
echo.
)

Expand Down
1 change: 0 additions & 1 deletion protocol.asm
Expand Up @@ -124,7 +124,6 @@ EfiMain:
; values. 32-bit integers are pushed as natural size (since they should be
; passed as 64-bit parameter values on 64-bit machines).
;
MOV R2, @R2
MOVIq R1, 0x7B7B7B7B7A7A7A7A
PUSH64 R1
MOVId R1, 0x6C6C6C6C
Expand Down
4 changes: 2 additions & 2 deletions protocol_driver/Readme.txt
Expand Up @@ -5,5 +5,5 @@ validate EBC to native access, and especially the marshalling of CALLEX
parameters.

These were compiled from the driver.c source on Debian 8.0 (Sid),
using the included Makefile. Note that you must have gnu-efi in the same
directory for compilation.
using the included Makefile. Note that you will should initialize the
gnu-efi submodule in this directory to be able to compile the driver.
1 change: 1 addition & 0 deletions protocol_driver/gnu-efi
Submodule gnu-efi added at b14cc9
2 changes: 2 additions & 0 deletions stacktracker/Readme.txt
@@ -0,0 +1,2 @@
This directory contains the test suite for the ARM EBC Stack Tracker:
https://github.com/pbatard/edk2/commits/ebc-arm2
335 changes: 335 additions & 0 deletions stacktracker/driver/.msvc/driver.vcxproj

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions stacktracker/driver/.msvc/driver.vcxproj.filters
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{b1c3b304-e868-4b07-988c-36ad7bc57300}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\debug.vbs">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\driver.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
39 changes: 39 additions & 0 deletions stacktracker/driver/.msvc/driver.vcxproj.user
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerCommand>$(SystemRoot)\System32\wscript</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>//d debug.vbs "$(TargetPath)" "$(PlatformShortName)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerCommand>$(SystemRoot)\System32\wscript</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>//d debug.vbs "$(TargetPath)" "$(PlatformShortName)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<LocalDebuggerCommand>$(SystemRoot)\System32\wscript</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>//d debug.vbs "$(TargetPath)" "$(PlatformShortName)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerCommand>$(SystemRoot)\System32\wscript</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>//d debug.vbs "$(TargetPath)" "$(PlatformShortName)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerCommand>$(SystemRoot)\System32\wscript</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>//d debug.vbs "$(TargetPath)" "$(PlatformShortName)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<LocalDebuggerCommand>$(SystemRoot)\System32\wscript</LocalDebuggerCommand>
<LocalDebuggerCommandArguments>//d debug.vbs "$(TargetPath)" "$(PlatformShortName)"</LocalDebuggerCommandArguments>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>$(SolutionDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
</Project>

0 comments on commit 44ad1c7

Please sign in to comment.