def BuildUniversalPayload(Args, MacroList):\r
BuildTarget = Args.Target\r
ToolChain = Args.ToolChain\r
+ BuildArch = "X64" if Args.Arch == 'X64' else "IA32 -a X64"\r
ElfToolChain = 'CLANGDWARF'\r
\r
EntryModuleInf = os.path.normpath("UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf")\r
#\r
# Building Universal Payload entry.\r
#\r
- BuildModule = f"build -p {DscPath} -b {BuildTarget} -a X64 -m {EntryModuleInf} -t {ElfToolChain} -y {ModuleReportPath}"\r
+ BuildModule = f"build -p {DscPath} -b {BuildTarget} -a {BuildArch} -m {EntryModuleInf} -t {ElfToolChain} -y {ModuleReportPath}"\r
BuildModule += Defines\r
RunCommand(BuildModule)\r
\r
parser = argparse.ArgumentParser(description='For building Universal Payload')\r
parser.add_argument('-t', '--ToolChain')\r
parser.add_argument('-b', '--Target', default='DEBUG')\r
+ parser.add_argument('-a', '--Arch', choices=['IA32', 'X64'], help='Specify the ARCH for payload entry module. Default build X64 image.', default ='X64')\r
parser.add_argument("-D", "--Macro", action="append", default=["UNIVERSAL_PAYLOAD=TRUE"])\r
parser.add_argument('-i', '--ImageId', type=str, help='Specify payload ID (16 bytes maximal).', default ='UEFI')\r
MacroList = {}\r