Skip to content

Commit 9f4cd58

Browse files
authored
Enable ARM64 build for UefiExt.dll (#66)
## Description Adds an arm64 build for the UefiExt windbg debugger extension. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested N/A ## Integration Instructions N/A
1 parent 81a516e commit 9f4cd58

4 files changed

Lines changed: 77 additions & 4 deletions

File tree

.github/workflows/Build-UefiExt.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
configuration: [Debug, Release]
30-
platform: [x64]
30+
platform: [x64, arm64]
3131
runs-on: windows-2022
3232
permissions:
3333
contents: write
@@ -53,4 +53,5 @@ jobs:
5353
env:
5454
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5555
run: |
56-
gh release upload ${{ github.event.release.tag_name }} UefiDbgExt\${{ matrix.platform }}\${{ matrix.configuration }}\uefiext.dll
56+
Compress-Archive -Path UefiDbgExt\${{ matrix.platform }}\${{ matrix.configuration }}\uefiext.dll -DestinationPath UefiExt_${{ matrix.platform }}.zip
57+
gh release upload ${{ github.event.release.tag_name }} UefiExt_${{ matrix.platform }}.zip

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ MU_BASECORE/
1717
# UEFI Ext Build
1818
UefiDbgExt/uefiext/
1919
UefiDbgExt/x64/
20+
UefiDbgExt/ARM64/
21+
UefiDbgExt/.vs/
22+
UefiDbgExt/uefiext.vcxproj.user

UefiDbgExt/uefiext.sln

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uefiext", "uefiext.vcxproj"
77
EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|ARM64 = Debug|ARM64
1011
Debug|x64 = Debug|x64
12+
Release|ARM64 = Release|ARM64
1113
Release|x64 = Release|x64
1214
EndGlobalSection
1315
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14-
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Debug|x64.ActiveCfg = Debug|x64
15-
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Debug|x64.Build.0 = Debug|x64
16+
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Debug|ARM64.ActiveCfg = Debug|ARM64
17+
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Debug|ARM64.Build.0 = Debug|ARM64
18+
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Debug|x64.ActiveCfg = Debug|ARM
19+
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Debug|x64.Build.0 = Debug|ARM
20+
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Release|ARM64.ActiveCfg = Release|ARM64
21+
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Release|ARM64.Build.0 = Release|ARM64
1622
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Release|x64.ActiveCfg = Release|x64
1723
{80EF9ADD-15C2-17EB-E1D4-010666E63E31}.Release|x64.Build.0 = Release|x64
1824
EndGlobalSection

UefiDbgExt/uefiext.vcxproj

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
<Configuration>Debug</Configuration>
66
<Platform>ARM</Platform>
77
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Debug|ARM64">
9+
<Configuration>Debug</Configuration>
10+
<Platform>ARM64</Platform>
11+
</ProjectConfiguration>
812
<ProjectConfiguration Include="Debug|Win32">
913
<Configuration>Debug</Configuration>
1014
<Platform>Win32</Platform>
@@ -17,6 +21,10 @@
1721
<Configuration>Release</Configuration>
1822
<Platform>ARM</Platform>
1923
</ProjectConfiguration>
24+
<ProjectConfiguration Include="Release|ARM64">
25+
<Configuration>Release</Configuration>
26+
<Platform>ARM64</Platform>
27+
</ProjectConfiguration>
2028
<ProjectConfiguration Include="Release|Win32">
2129
<Configuration>Release</Configuration>
2230
<Platform>Win32</Platform>
@@ -44,6 +52,11 @@
4452
<UseDebugLibraries>true</UseDebugLibraries>
4553
<PlatformToolset>v143</PlatformToolset>
4654
</PropertyGroup>
55+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
56+
<ConfigurationType>DynamicLibrary</ConfigurationType>
57+
<UseDebugLibraries>true</UseDebugLibraries>
58+
<PlatformToolset>v143</PlatformToolset>
59+
</PropertyGroup>
4760
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
4861
<ConfigurationType>DynamicLibrary</ConfigurationType>
4962
<UseDebugLibraries>true</UseDebugLibraries>
@@ -59,6 +72,11 @@
5972
<UseDebugLibraries>false</UseDebugLibraries>
6073
<PlatformToolset>v143</PlatformToolset>
6174
</PropertyGroup>
75+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
76+
<ConfigurationType>DynamicLibrary</ConfigurationType>
77+
<UseDebugLibraries>false</UseDebugLibraries>
78+
<PlatformToolset>v143</PlatformToolset>
79+
</PropertyGroup>
6280
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
6381
<ConfigurationType>DynamicLibrary</ConfigurationType>
6482
<UseDebugLibraries>false</UseDebugLibraries>
@@ -73,6 +91,9 @@
7391
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
7492
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
7593
</ImportGroup>
94+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
95+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
96+
</ImportGroup>
7697
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
7798
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
7899
</ImportGroup>
@@ -82,6 +103,9 @@
82103
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
83104
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
84105
</ImportGroup>
106+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
107+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
108+
</ImportGroup>
85109
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
86110
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
87111
</ImportGroup>
@@ -92,6 +116,9 @@
92116
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
93117
<LinkIncremental>false</LinkIncremental>
94118
</PropertyGroup>
119+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
120+
<LinkIncremental>false</LinkIncremental>
121+
</PropertyGroup>
95122
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
96123
<LinkIncremental>false</LinkIncremental>
97124
</PropertyGroup>
@@ -101,6 +128,9 @@
101128
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
102129
<LinkIncremental>false</LinkIncremental>
103130
</PropertyGroup>
131+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
132+
<LinkIncremental>false</LinkIncremental>
133+
</PropertyGroup>
104134
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
105135
<LinkIncremental>false</LinkIncremental>
106136
</PropertyGroup>
@@ -137,6 +167,22 @@
137167
<ModuleDefinitionFile>uefiext.def</ModuleDefinitionFile>
138168
</Link>
139169
</ItemDefinitionGroup>
170+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
171+
<ClCompile>
172+
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
173+
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
174+
<WarningLevel>Level3</WarningLevel>
175+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
176+
<Optimization>Disabled</Optimization>
177+
<AdditionalIncludeDirectories>$(WindowsSdkDir)\Debuggers\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
178+
</ClCompile>
179+
<Link>
180+
<GenerateDebugInformation>true</GenerateDebugInformation>
181+
<SubSystem>Windows</SubSystem>
182+
<AdditionalDependencies>dbgeng.lib;%(AdditionalDependencies)</AdditionalDependencies>
183+
<ModuleDefinitionFile>uefiext.def</ModuleDefinitionFile>
184+
</Link>
185+
</ItemDefinitionGroup>
140186
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
141187
<ClCompile>
142188
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -188,6 +234,23 @@
188234
<ModuleDefinitionFile>uefiext.def</ModuleDefinitionFile>
189235
</Link>
190236
</ItemDefinitionGroup>
237+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
238+
<ClCompile>
239+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
240+
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
241+
<WarningLevel>Level3</WarningLevel>
242+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
243+
<AdditionalIncludeDirectories>$(WindowsSdkDir)\Debuggers\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
244+
</ClCompile>
245+
<Link>
246+
<GenerateDebugInformation>true</GenerateDebugInformation>
247+
<SubSystem>Windows</SubSystem>
248+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
249+
<OptimizeReferences>true</OptimizeReferences>
250+
<AdditionalDependencies>dbgeng.lib;%(AdditionalDependencies)</AdditionalDependencies>
251+
<ModuleDefinitionFile>uefiext.def</ModuleDefinitionFile>
252+
</Link>
253+
</ItemDefinitionGroup>
191254
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
192255
<ClCompile>
193256
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

0 commit comments

Comments
 (0)