From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web08.2933.1649400255835502595 for ; Thu, 07 Apr 2022 23:44:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=EowJzqB4; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=0097613c5e=abner.chang@hpe.com) Received: from pps.filterd (m0134422.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 237J22aD028061; Fri, 8 Apr 2022 06:44:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=796pGKWn9hVp3Qya0VtUe/t0ss1BGDv3ISkmO0IwRNo=; b=EowJzqB4SKQbU6j49xKsbmszDM2fGoh4Yddwg9Bcz895eHVM9RcNzszCuMKcZpb+DPbr t45BUpHQuEly+GOsGYUkZs/RM9YkcVZS+TdTUC2TAmJzIDXGQv2fTFNqSvS1G1R7I8jP Low/bjsPqf07dsireLRNALLykeRlzesklZHzrAmXRctYzmEhI6UqbiFcO7F8aIPwI5aj DVmLwvmXHC8BtJ2nD3gFvUyKkCxqdOPGVrs4lS5A8l1QKHvEs9cQ/1Gi4kg5YKXYw2yr 5iA/5GU3z19f9BI8P9k8GMOeHav0u9mirMurHZxjNiqtxtBgNf5+ICB1Su8Jz+vajojk /Q== Received: from p1lg14879.it.hpe.com (p1lg14879.it.hpe.com [16.230.97.200]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 3fa29j633p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 08 Apr 2022 06:44:00 +0000 Received: from p1wg14926.americas.hpqcorp.net (unknown [10.119.18.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14879.it.hpe.com (Postfix) with ESMTPS id 1F59F13191; Fri, 8 Apr 2022 06:43:55 +0000 (UTC) Received: from p1wg14926.americas.hpqcorp.net (10.119.18.115) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Thu, 7 Apr 2022 18:43:44 -1200 Received: from P1WG14918.americas.hpqcorp.net (16.230.19.121) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15 via Frontend Transport; Thu, 7 Apr 2022 18:43:44 -1200 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Fri, 8 Apr 2022 06:43:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I0S0tIy5RQUtb8r1AoJ6RH6YGcPKTqpR7lezSDF4xuaxL5gPHL7Pd5aSDB9B8qrqAd07T7vfQ17knRVIGMtfNWN4hvr7G9GiqHqk8bsI7xWmJAcb6veM6BgKr0GfcxZlGSZbn/k+lMq1YIl9FuG/I0fjksmP5Nnw4a6AGwdREqSSkJ95+8xAX0s1F6kYUTQEHT78N6P8SDljqBh7WDd1edKhwzjFq0pXrBzxH/hQEbO0u5nH7Shcdd5bIfnAYu+9EzKYBgsh8dEasCIynNcVr4R1EAD748g+Xr3bBL5jbdhrHTgqaQvTKELjpPhXGQbxMrcdrd6gOUmG+HKAB0iLQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+aTZZ2mqEsWyXzcA2lPL4qkZKvwyor9AOKYzBnmH5bI=; b=EutNkasS+fgnTC3YZmBBcxajS5tbCsn6xkhkq4BufNoJUK+ZOo4K3SyJAJ0hx1KXhgHiY0HevLzHiDeC4ArAZAwLsSuUph3CquBgOUET/LxQaYsa3Y1OWfu7rC2DWFLwmWBJxvex21KBw3YqjTlFTzAZNeXmh990X+ar7fXiuoax4udIXgnHoGgWKVxzmFH2feMrp/lkEvFwpI1VWb2RO3McD+OhjQKE6wCkQF2tGk72YayJSuPmcNSfWlb6CT6mX+R9+PVs95nF7PmxN1bh0k3sw2yPoUTPEvWyiSl/d490YMFHbmuhFdYkQsDFRzW6ReHu0QeVf1IKqJkyAa1Tmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from PH7PR84MB1885.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:510:154::18) by MW5PR84MB1915.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:303:1c5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.22; Fri, 8 Apr 2022 06:43:42 +0000 Received: from PH7PR84MB1885.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2053:811f:bd4a:7c21]) by PH7PR84MB1885.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2053:811f:bd4a:7c21%8]) with mapi id 15.20.5144.022; Fri, 8 Apr 2022 06:43:42 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "lichao@loongson.cn" CC: Bob Feng , Liming Gao , Yuwei Chen , Baoqi Zhang Subject: Re: [edk2-devel] [staging/LoongArch RESEND PATCH v1 15/33] BaseTools: BaseTools changes for LoongArch platform. Thread-Topic: [edk2-devel] [staging/LoongArch RESEND PATCH v1 15/33] BaseTools: BaseTools changes for LoongArch platform. Thread-Index: AQHYHYIEhoP15ongeUmVbyXUsFNaXKzl7N+A Date: Fri, 8 Apr 2022 06:43:41 +0000 Message-ID: References: <20220209065508.2985794-1-lichao@loongson.cn> In-Reply-To: <20220209065508.2985794-1-lichao@loongson.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0a7b6501-b954-4ae4-6ef7-08da192b1ef8 x-ms-traffictypediagnostic: MW5PR84MB1915:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hwVIFgrwKx4zpfwm4KZBgi6MFvcm2ifqQCnvirP0T4Op5TqJGPm4udIb2t6N91YtJ2N0XZnWRu2KvApYGsanFgPnBqUp3ftAeFD5JpuQ0RukU3hrUI32AOXOTvkU6c5Fx0m99HAsPb4CxhT1akxOLiH7yKB0aBySomL8E5O06XatEN6T48mCL+ZaycavU0t0CP3UXJHs/vzcKh15nWsnrD8fnuf/e8vB6X6Ri4wTQGCmERYi7DZL/zwI4XYkrQkacKjr6Vd0jqUW2vhp+TSSdzaXHK4nhF2R39oJFXYvKsmMl+f5/2quxfPkJQEIuthesojy2aoT5SykPM5eG3IB9jiAXQ2/HR8+G04TU28FXnooB8q2fH4bsjGn/r1jyzyoEKmja5gJZFllWg8lUJ5iw8lCQeBI7mDDjQByq4v7uCXSE/8TpzlVwfdE4ywiawnHyHNziFGacGiCWM6zgXdFduGqcydA3QxTTXQkS/uGU6eR3tcv2TE/sSTyRJO67jnP2wO+diOF3qlQCu4MGPJmdQgc7c/kqwapZK384PvWRAyVwtffdMM7G7WO3W2MRCvtnJYUFnWsCNda8h47pMa4aqvcUIWoX5s0bjWmARWDwzJ9mJas9UcCznThBmgE8+9tapN0bDAHsVTRtmRZep5uyxDVZDC7Dxhe1f0InlCuhappAMXX1lcgpF+5sqeQ6aAZ943FqxsCv+KXyLZmtDEuSl71XJHtZmHn+FCK3NLF2Z50pZOfNhMIm/TdrjxsDPCI7ioeb+/KTD5WTPYqicgdF1kKEab4G/4RBj5anpXTE7c0cLnu0TgpxcvjfXwx8Hjw00X+Enn++sjYbSDNK2ERlkM1YISkd0va41tiAnp2HT4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR84MB1885.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(366004)(52536014)(966005)(71200400001)(83380400001)(4326008)(5660300002)(86362001)(508600001)(53546011)(8936002)(33656002)(9686003)(186003)(26005)(30864003)(55016003)(2906002)(7696005)(6506007)(110136005)(38100700002)(76116006)(66946007)(66446008)(38070700005)(66556008)(8676002)(316002)(64756008)(122000001)(66476007)(54906003)(82960400001)(579004)(460985005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9AnGSOdnqw+2DgnHSVYGp9cSt/9jPdpdjIDyw7aY8iaBsSLsd2S3YcLFakaJ?= =?us-ascii?Q?eGcuBFNz3LhmehZOsiddTQFAoe1eyUCFRPMI7qlyFXS8xHqatI4x0wRYtQGH?= =?us-ascii?Q?DIbLscxukkVA1lus3EgWvMB3+AO0/RQIhWVM3KH2roocqf9AIs2fqHtb3wQ/?= =?us-ascii?Q?P2lUjV0SMD7kOJu/hNVPMHxIbnujtFaKraCEWZMlJOi0XiydglfYn9q8TCP+?= =?us-ascii?Q?9wqzxNhc1HljeBExpA0XyO6bKHufGFfkqrF6X8zNHXdj58mHPwWTI8XVBfuL?= =?us-ascii?Q?PicaqzlxRUO2BoT5Ki2LwuDeAWpYuhuwp3rMvApoCpYBa/UP3BSCrDi6/Zhd?= =?us-ascii?Q?5BEpkTBrYzPVM2IMbshs1x8KvBZX5O8KAGwcJnxw0QcpITPGN4UBWNJ8p9ww?= =?us-ascii?Q?WxAL0TsEJccK8fiOLygOWM5tpHtb9ZXTUI+du7OcxJW9wOIBNyNNjoPt/L0z?= =?us-ascii?Q?XhBmOGQ6DjIEE+6ZkcKnXC1M/RowIvUUBc/bS4vOoERP9bzFqFGj7FZV0V85?= =?us-ascii?Q?JXNqxlSrJA3ufFGGSjMIJ/4AD4QJYdllly+/Usyt0v24rtHiSTOLn+E1tKDD?= =?us-ascii?Q?CO82QUGN7A1KM6+5gRV9OYf4hYh7Ym21iJYNP1Ku1mn4iJ8HDXdglmYmlG1x?= =?us-ascii?Q?kTUWQ3f4w4medwAEFC+lve1YzzwLDSa0xjswycGT3lZ+S+l0dPWxTEklYJZY?= =?us-ascii?Q?JkCmuFTYWTvkAYqIdHaKggKNinwQZYOFVnCXf9+zKUUs8VMQ725SBiMQ+AQq?= =?us-ascii?Q?xF19BJVfvLGC8IWtVXKFhCxKW4mZWefTgJdLBaeCoSKExrAR86WtU9/HOhD1?= =?us-ascii?Q?fd4JiRxWaGCD2JNR+Y8MSn4onMhlxPqYZR8mEBS5AtHwdz1sLK9SHaE6lldy?= =?us-ascii?Q?vJKTVcQ5Br+PecScCRNKJomsKaAFRDtl2bUI6MPvRZv/aDB5D3UFrvF0v51e?= =?us-ascii?Q?nxBlGgCilKLsgCuG6N5yv2N2jsSVgrz/ywndxoUM40OMCcUhICh2mdgmrSXO?= =?us-ascii?Q?Gt+zasYktL6ZSHOnmWgF+6bnGcNc+hciFyc5wCiI6UmxpuXGwSeqH/WnGY4L?= =?us-ascii?Q?LAW7wV9T6+CrDghwaaGQ0BXQdiR8By7I9Qtay2OSz0wOpo+KeveCW6I2Iv/1?= =?us-ascii?Q?Fck5qpMc0U+yWteFHV0sSyhcMPA2J2mjKaDQm8fYvtxjphfVXesQN03ntptB?= =?us-ascii?Q?eKbS1xCz2DQJF9N7di8acXNBOeQfv2We6SF7qANcwrECqaAHs2tYUZYUEI0y?= =?us-ascii?Q?arXmZBeaRCSQiQW8KV9OX/3WRNDvl3EKwldcw0n0LdZA4Ol228SK9un7dZJy?= =?us-ascii?Q?0PlyUWjtbd1i3RkDq1BbUqBFVbKbbrbXNOV1+TCMJqMNNw3au1IoA5G0hP5t?= =?us-ascii?Q?MPF3RuxakF3GwSCUcrSpfTr7ADxhaRHw3+QEO4yhKHnIBB7kgziq+am0Lrbx?= =?us-ascii?Q?fI1ReUuCij8V70mdbH4Rluh+api1s/7Vh1C5gu81S375YEABP5E2yRu0kdPI?= =?us-ascii?Q?0rpkBL7cnSfk0GDceOVf3y9GPd2ok0vumh0YTljSNRjrc++NoKjfEY0akQQY?= =?us-ascii?Q?VDhkTbCflzsRitBalpwavtZB91sv/USIvl6nG+cG0+xx+cGg3+8Q6tp65vkE?= =?us-ascii?Q?HpmAnwXovr6UDugxauDHt311m95gY+pteBZoSqVFPLTEa4+Gkgd4Y0tHfodF?= =?us-ascii?Q?wto4b9iUgiP7pn4xeEBaM0U7EPHvpjT3txuEwSz04x5L/+fD6r+sW5/mzk32?= =?us-ascii?Q?hDtfjX9RVg=3D=3D?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR84MB1885.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 0a7b6501-b954-4ae4-6ef7-08da192b1ef8 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2022 06:43:41.8595 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HFRUbjLaHSvbOi4QjCOiJgxWqKXVf0IGqKEn/e+2vrTx8wxW/DAZHBMH+DdLoMBX+vX+Nx5q/OviEwhiE89W9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR84MB1915 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: WzSTluswMUFwqXKJDgME2RDAeA6un2jz X-Proofpoint-ORIG-GUID: WzSTluswMUFwqXKJDgME2RDAeA6un2jz X-Proofpoint-UnRewURL: 2 URL's were un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.858,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-04-08_02,2022-04-07_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 malwarescore=0 priorityscore=1501 mlxscore=0 mlxlogscore=723 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204080035 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Abner Chang > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Chao Li > Sent: Wednesday, February 9, 2022 2:55 PM > To: devel@edk2.groups.io > Cc: Bob Feng ; Liming Gao > ; Yuwei Chen ; Baoqi > Zhang > Subject: [edk2-devel] [staging/LoongArch RESEND PATCH v1 15/33] > BaseTools: BaseTools changes for LoongArch platform. >=20 > Python code changes for building EDK2 LoongArch platform. >=20 > Cc: Bob Feng > Cc: Liming Gao > Cc: Yuwei Chen >=20 > Signed-off-by: Chao Li > Co-authored-by: Baoqi Zhang > --- > BaseTools/Source/Python/Common/DataType.py | 21 ++++++++++++++-- > .../Source/Python/UPT/Library/DataType.py | 24 ++++++++++++++++++- > BaseTools/Source/Python/build/buildoptions.py | 3 ++- > 3 files changed, 44 insertions(+), 4 deletions(-) >=20 > diff --git a/BaseTools/Source/Python/Common/DataType.py > b/BaseTools/Source/Python/Common/DataType.py > index dc49623333..48dbf16495 100644 > --- a/BaseTools/Source/Python/Common/DataType.py > +++ b/BaseTools/Source/Python/Common/DataType.py > @@ -4,6 +4,7 @@ > # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
> # Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
> # Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP= . > All rights reserved.
> +# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. = All > rights reserved.
> # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > ## > @@ -52,10 +53,10 @@ TAB_ARCH_X64 =3D 'X64' > TAB_ARCH_ARM =3D 'ARM' > TAB_ARCH_EBC =3D 'EBC' > TAB_ARCH_AARCH64 =3D 'AARCH64' > - > TAB_ARCH_RISCV64 =3D 'RISCV64' > +TAB_ARCH_LOONGARCH64 =3D 'LOONGARCH64' >=20 > -ARCH_SET_FULL =3D {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_ARM, > TAB_ARCH_EBC, TAB_ARCH_AARCH64, TAB_ARCH_RISCV64, > TAB_ARCH_COMMON} > +ARCH_SET_FULL =3D {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_ARM, > TAB_ARCH_EBC, TAB_ARCH_AARCH64, TAB_ARCH_RISCV64, > TAB_ARCH_LOONGARCH64, TAB_ARCH_COMMON} >=20 > SUP_MODULE_BASE =3D 'BASE' > SUP_MODULE_SEC =3D 'SEC' > @@ -138,6 +139,7 @@ TAB_SOURCES_X64 =3D TAB_SOURCES + TAB_SPLIT + > TAB_ARCH_X64 > TAB_SOURCES_ARM =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM > TAB_SOURCES_EBC =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC > TAB_SOURCES_AARCH64 =3D TAB_SOURCES + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_SOURCES_LOONGARCH64 =3D TAB_SOURCES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_BINARIES =3D 'Binaries' > TAB_BINARIES_COMMON =3D TAB_BINARIES + TAB_SPLIT + > TAB_ARCH_COMMON > @@ -146,6 +148,7 @@ TAB_BINARIES_X64 =3D TAB_BINARIES + TAB_SPLIT + > TAB_ARCH_X64 > TAB_BINARIES_ARM =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM > TAB_BINARIES_EBC =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC > TAB_BINARIES_AARCH64 =3D TAB_BINARIES + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_BINARIES_LOONGARCH64 =3D TAB_BINARIES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_INCLUDES =3D 'Includes' > TAB_INCLUDES_COMMON =3D TAB_INCLUDES + TAB_SPLIT + > TAB_ARCH_COMMON > @@ -154,6 +157,7 @@ TAB_INCLUDES_X64 =3D TAB_INCLUDES + TAB_SPLIT + > TAB_ARCH_X64 > TAB_INCLUDES_ARM =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM > TAB_INCLUDES_EBC =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC > TAB_INCLUDES_AARCH64 =3D TAB_INCLUDES + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_INCLUDES_LOONGARCH64 =3D TAB_INCLUDES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_GUIDS =3D 'Guids' > TAB_GUIDS_COMMON =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_COMMON > @@ -162,6 +166,7 @@ TAB_GUIDS_X64 =3D TAB_GUIDS + TAB_SPLIT + > TAB_ARCH_X64 > TAB_GUIDS_ARM =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM > TAB_GUIDS_EBC =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC > TAB_GUIDS_AARCH64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_GUIDS_LOONGARCH64 =3D TAB_GUIDS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_PROTOCOLS =3D 'Protocols' > TAB_PROTOCOLS_COMMON =3D TAB_PROTOCOLS + TAB_SPLIT + > TAB_ARCH_COMMON > @@ -170,6 +175,7 @@ TAB_PROTOCOLS_X64 =3D TAB_PROTOCOLS + > TAB_SPLIT + TAB_ARCH_X64 > TAB_PROTOCOLS_ARM =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM > TAB_PROTOCOLS_EBC =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC > TAB_PROTOCOLS_AARCH64 =3D TAB_PROTOCOLS + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_PROTOCOLS_LOONGARCH64 =3D TAB_PROTOCOLS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_PPIS =3D 'Ppis' > TAB_PPIS_COMMON =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_COMMON > @@ -178,6 +184,7 @@ TAB_PPIS_X64 =3D TAB_PPIS + TAB_SPLIT + > TAB_ARCH_X64 > TAB_PPIS_ARM =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM > TAB_PPIS_EBC =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC > TAB_PPIS_AARCH64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_PPIS_LOONGARCH64 =3D TAB_PPIS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_LIBRARY_CLASSES =3D 'LibraryClasses' > TAB_LIBRARY_CLASSES_COMMON =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_COMMON > @@ -186,6 +193,7 @@ TAB_LIBRARY_CLASSES_X64 =3D TAB_LIBRARY_CLASSES > + TAB_SPLIT + TAB_ARCH_X64 > TAB_LIBRARY_CLASSES_ARM =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_ARM > TAB_LIBRARY_CLASSES_EBC =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_EBC > TAB_LIBRARY_CLASSES_AARCH64 =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_LIBRARY_CLASSES_LOONGARCH64 =3D TAB_LIBRARY_CLASSES + > TAB_SPLIT + TAB_ARCH_LOONGARCH64 >=20 > TAB_PACKAGES =3D 'Packages' > TAB_PACKAGES_COMMON =3D TAB_PACKAGES + TAB_SPLIT + > TAB_ARCH_COMMON > @@ -194,6 +202,7 @@ TAB_PACKAGES_X64 =3D TAB_PACKAGES + TAB_SPLIT + > TAB_ARCH_X64 > TAB_PACKAGES_ARM =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM > TAB_PACKAGES_EBC =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC > TAB_PACKAGES_AARCH64 =3D TAB_PACKAGES + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_PACKAGES_LOONGARCH64 =3D TAB_PACKAGES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_PCDS =3D 'Pcds' > TAB_PCDS_FIXED_AT_BUILD =3D 'FixedAtBuild' > @@ -221,6 +230,7 @@ TAB_PCDS_FIXED_AT_BUILD_X64 =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + T > TAB_PCDS_FIXED_AT_BUILD_ARM =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_ARM > TAB_PCDS_FIXED_AT_BUILD_EBC =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_EBC > TAB_PCDS_FIXED_AT_BUILD_AARCH64 =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_PCDS_FIXED_AT_BUILD_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + TAB_SPLIT + TAB_ARCH_LOONGARCH64 >=20 > TAB_PCDS_PATCHABLE_IN_MODULE_NULL =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE > TAB_PCDS_PATCHABLE_IN_MODULE_COMMON =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_COMMON > @@ -229,6 +239,7 @@ TAB_PCDS_PATCHABLE_IN_MODULE_X64 =3D > TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + TAB > TAB_PCDS_PATCHABLE_IN_MODULE_ARM =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_ARM > TAB_PCDS_PATCHABLE_IN_MODULE_EBC =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_EBC > TAB_PCDS_PATCHABLE_IN_MODULE_AARCH64 =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_PCDS_PATCHABLE_IN_MODULE_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_PCDS_FEATURE_FLAG_NULL =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG > TAB_PCDS_FEATURE_FLAG_COMMON =3D TAB_PCDS + > TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_COMMON > @@ -237,6 +248,7 @@ TAB_PCDS_FEATURE_FLAG_X64 =3D TAB_PCDS + > TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_A > TAB_PCDS_FEATURE_FLAG_ARM =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG > + TAB_SPLIT + TAB_ARCH_ARM > TAB_PCDS_FEATURE_FLAG_EBC =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG > + TAB_SPLIT + TAB_ARCH_EBC > TAB_PCDS_FEATURE_FLAG_AARCH64 =3D TAB_PCDS + > TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_PCDS_FEATURE_FLAG_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + TAB_ARCH_LOONGARCH64 >=20 > TAB_PCDS_DYNAMIC_EX_NULL =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX > TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL =3D TAB_PCDS + > TAB_PCDS_DYNAMIC_EX_DEFAULT > @@ -248,6 +260,7 @@ TAB_PCDS_DYNAMIC_EX_X64 =3D TAB_PCDS + > TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_ > TAB_PCDS_DYNAMIC_EX_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + > TAB_SPLIT + TAB_ARCH_ARM > TAB_PCDS_DYNAMIC_EX_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + > TAB_SPLIT + TAB_ARCH_EBC > TAB_PCDS_DYNAMIC_EX_AARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX > + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_PCDS_DYNAMIC_EX_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + TAB_ARCH_LOONGARCH64 >=20 > TAB_PCDS_DYNAMIC_NULL =3D TAB_PCDS + TAB_PCDS_DYNAMIC > TAB_PCDS_DYNAMIC_DEFAULT_NULL =3D TAB_PCDS + > TAB_PCDS_DYNAMIC_DEFAULT > @@ -259,6 +272,7 @@ TAB_PCDS_DYNAMIC_X64 =3D TAB_PCDS + > TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_X64 > TAB_PCDS_DYNAMIC_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC + > TAB_SPLIT + TAB_ARCH_ARM > TAB_PCDS_DYNAMIC_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT > + TAB_ARCH_EBC > TAB_PCDS_DYNAMIC_AARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + > TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_PCDS_DYNAMIC_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC > + TAB_SPLIT + TAB_ARCH_LOONGARCH64 >=20 > TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE =3D > 'PcdLoadFixAddressPeiCodePageNumber' > TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE > =3D 'UINT32' > @@ -285,6 +299,7 @@ TAB_DEPEX_X64 =3D TAB_DEPEX + TAB_SPLIT + > TAB_ARCH_X64 > TAB_DEPEX_ARM =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM > TAB_DEPEX_EBC =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC > TAB_DEPEX_AARCH64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_AARCH64 > +TAB_DEPEX_LOONGARCH64 =3D TAB_DEPEX + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_SKUIDS =3D 'SkuIds' > TAB_DEFAULT_STORES =3D 'DefaultStores' > @@ -297,6 +312,7 @@ TAB_LIBRARIES_X64 =3D TAB_LIBRARIES + TAB_SPLIT + > TAB_ARCH_X64 > TAB_LIBRARIES_ARM =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM > TAB_LIBRARIES_EBC =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC > TAB_LIBRARIES_AARCH64 =3D TAB_LIBRARIES + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_LIBRARIES_LOONGARCH64 =3D TAB_LIBRARIES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_COMPONENTS =3D 'Components' > TAB_COMPONENTS_COMMON =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_COMMON > @@ -305,6 +321,7 @@ TAB_COMPONENTS_X64 =3D TAB_COMPONENTS + > TAB_SPLIT + TAB_ARCH_X64 > TAB_COMPONENTS_ARM =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_ARM > TAB_COMPONENTS_EBC =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_EBC > TAB_COMPONENTS_AARCH64 =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_AARCH64 > +TAB_COMPONENTS_LOONGARCH64 =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 >=20 > TAB_BUILD_OPTIONS =3D 'BuildOptions' >=20 > diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py > b/BaseTools/Source/Python/UPT/Library/DataType.py > index bd216786a5..2bd31f09a2 100644 > --- a/BaseTools/Source/Python/UPT/Library/DataType.py > +++ b/BaseTools/Source/Python/UPT/Library/DataType.py > @@ -2,6 +2,7 @@ > # This file is used to define class for data type structure > # > # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
> +# Portions Copyright (c) 2022 Loongson Technology Corporation Limited. A= ll > rights reserved. > # > # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -367,10 +368,11 @@ TAB_ARCH_IA32 =3D 'IA32' > TAB_ARCH_X64 =3D 'X64' > TAB_ARCH_IPF =3D 'IPF' > TAB_ARCH_ARM =3D 'ARM' > +TAB_ARCH_LOONGARCH64 =3D 'LOONGARCH64' > TAB_ARCH_EBC =3D 'EBC' >=20 > ARCH_LIST =3D \ > -[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, > TAB_ARCH_EBC] > +[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, > TAB_ARCH_LOONGARCH64, TAB_ARCH_EBC] >=20 > SUP_MODULE_BASE =3D 'BASE' > SUP_MODULE_SEC =3D 'SEC' > @@ -454,6 +456,7 @@ TAB_SOURCES_IA32 =3D TAB_SOURCES + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_SOURCES_X64 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_X64 > TAB_SOURCES_IPF =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IPF > TAB_SOURCES_ARM =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM > +TAB_SOURCES_LOONGARCH64 =3D TAB_SOURCES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_SOURCES_EBC =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_BINARIES =3D 'Binaries' > @@ -462,6 +465,7 @@ TAB_BINARIES_IA32 =3D TAB_BINARIES + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_BINARIES_X64 =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_X64 > TAB_BINARIES_IPF =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IPF > TAB_BINARIES_ARM =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM > +TAB_BINARIES_LOONGARCH64 =3D TAB_BINARIES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_BINARIES_EBC =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_INCLUDES =3D 'Includes' > @@ -470,6 +474,7 @@ TAB_INCLUDES_IA32 =3D TAB_INCLUDES + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_INCLUDES_X64 =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_X64 > TAB_INCLUDES_IPF =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IPF > TAB_INCLUDES_ARM =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM > +TAB_INCLUDES_LOONGARCH64 =3D TAB_INCLUDES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_INCLUDES_EBC =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_GUIDS =3D 'Guids' > @@ -478,6 +483,7 @@ TAB_GUIDS_IA32 =3D TAB_GUIDS + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_GUIDS_X64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64 > TAB_GUIDS_IPF =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IPF > TAB_GUIDS_ARM =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM > +TAB_GUIDS_LOONGARCH64 =3D TAB_GUIDS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_GUIDS_EBC =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_PROTOCOLS =3D 'Protocols' > @@ -486,6 +492,7 @@ TAB_PROTOCOLS_IA32 =3D TAB_PROTOCOLS + > TAB_SPLIT + TAB_ARCH_IA32 > TAB_PROTOCOLS_X64 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_X64 > TAB_PROTOCOLS_IPF =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IPF > TAB_PROTOCOLS_ARM =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM > +TAB_PROTOCOLS_LOONGARCH64 =3D TAB_PROTOCOLS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_PROTOCOLS_EBC =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_PPIS =3D 'Ppis' > @@ -494,6 +501,7 @@ TAB_PPIS_IA32 =3D TAB_PPIS + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_PPIS_X64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64 > TAB_PPIS_IPF =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_IPF > TAB_PPIS_ARM =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM > +TAB_PPIS_LOONGARCH64 =3D TAB_PPIS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_PPIS_EBC =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_LIBRARY_CLASSES =3D 'LibraryClasses' > @@ -502,6 +510,7 @@ TAB_LIBRARY_CLASSES_IA32 =3D > TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IA32 > TAB_LIBRARY_CLASSES_X64 =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_X64 > TAB_LIBRARY_CLASSES_IPF =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_IPF > TAB_LIBRARY_CLASSES_ARM =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_ARM > +TAB_LIBRARY_CLASSES_LOONGARCH64 =3D TAB_LIBRARY_CLASSES + > TAB_SPLIT + TAB_ARCH_LOONGARCH64 > TAB_LIBRARY_CLASSES_EBC =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + > TAB_ARCH_EBC >=20 > TAB_PACKAGES =3D 'Packages' > @@ -510,6 +519,7 @@ TAB_PACKAGES_IA32 =3D TAB_PACKAGES + TAB_SPLIT > + TAB_ARCH_IA32 > TAB_PACKAGES_X64 =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_X64 > TAB_PACKAGES_IPF =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IPF > TAB_PACKAGES_ARM =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM > +TAB_PACKAGES_LOONGARCH64 =3D TAB_PACKAGES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_PACKAGES_EBC =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_PCDS =3D 'Pcds' > @@ -548,6 +558,8 @@ TAB_PCDS_FIXED_AT_BUILD_IPF =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + \ > TAB_SPLIT + TAB_ARCH_IPF > TAB_PCDS_FIXED_AT_BUILD_ARM =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + \ > TAB_SPLIT + TAB_ARCH_ARM > +TAB_PCDS_FIXED_AT_BUILD_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + \ > +TAB_SPLIT + TAB_ARCH_LOONGARCH64 > TAB_PCDS_FIXED_AT_BUILD_EBC =3D TAB_PCDS + > TAB_PCDS_FIXED_AT_BUILD + \ > TAB_SPLIT + TAB_ARCH_EBC >=20 > @@ -562,6 +574,8 @@ TAB_PCDS_PATCHABLE_IN_MODULE_IPF =3D > TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODULE + \ > TAB_SPLIT + TAB_ARCH_IPF > TAB_PCDS_PATCHABLE_IN_MODULE_ARM =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + \ > TAB_SPLIT + TAB_ARCH_ARM > +TAB_PCDS_PATCHABLE_IN_MODULE_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + \ > +TAB_SPLIT + TAB_ARCH_LOONGARCH64 > TAB_PCDS_PATCHABLE_IN_MODULE_EBC =3D TAB_PCDS + > TAB_PCDS_PATCHABLE_IN_MODULE + \ > TAB_SPLIT + TAB_ARCH_EBC >=20 > @@ -576,6 +590,8 @@ TAB_PCDS_FEATURE_FLAG_IPF =3D TAB_PCDS + > TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \ > TAB_ARCH_IPF > TAB_PCDS_FEATURE_FLAG_ARM =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG > + TAB_SPLIT + \ > TAB_ARCH_ARM > +TAB_PCDS_FEATURE_FLAG_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_FEATURE_FLAG + TAB_SPLIT + \ > +TAB_ARCH_LOONGARCH64 > TAB_PCDS_FEATURE_FLAG_EBC =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG > + TAB_SPLIT + \ > TAB_ARCH_EBC >=20 > @@ -593,6 +609,8 @@ TAB_PCDS_DYNAMIC_EX_IPF =3D TAB_PCDS + > TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \ > TAB_ARCH_IPF > TAB_PCDS_DYNAMIC_EX_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + > TAB_SPLIT + \ > TAB_ARCH_ARM > +TAB_PCDS_DYNAMIC_EX_LOONGARCH64 =3D TAB_PCDS + > TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \ > +TAB_ARCH_LOONGARCH64 > TAB_PCDS_DYNAMIC_EX_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + > TAB_SPLIT + \ > TAB_ARCH_EBC >=20 > @@ -606,6 +624,7 @@ TAB_PCDS_DYNAMIC_IA32 =3D TAB_PCDS + > TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARCH_IA32 > TAB_PCDS_DYNAMIC_X64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT > + TAB_ARCH_X64 > TAB_PCDS_DYNAMIC_IPF =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT > + TAB_ARCH_IPF > TAB_PCDS_DYNAMIC_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC + > TAB_SPLIT + TAB_ARCH_ARM > +TAB_PCDS_DYNAMIC_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC > + TAB_SPLIT + TAB_ARCH_LOONGARCH64 > TAB_PCDS_DYNAMIC_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT > + TAB_ARCH_EBC >=20 > TAB_PCD_DYNAMIC_TYPE_LIST =3D [TAB_PCDS_DYNAMIC_DEFAULT_NULL, \ > @@ -646,6 +665,7 @@ TAB_DEPEX_IA32 =3D TAB_DEPEX + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_DEPEX_X64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64 > TAB_DEPEX_IPF =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IPF > TAB_DEPEX_ARM =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM > +TAB_DEPEX_LOONGARCH64 =3D TAB_DEPEX + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_DEPEX_EBC =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_SKUIDS =3D 'SkuIds' > @@ -656,6 +676,7 @@ TAB_LIBRARIES_IA32 =3D TAB_LIBRARIES + TAB_SPLIT + > TAB_ARCH_IA32 > TAB_LIBRARIES_X64 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_X64 > TAB_LIBRARIES_IPF =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IPF > TAB_LIBRARIES_ARM =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM > +TAB_LIBRARIES_LOONGARCH64 =3D TAB_LIBRARIES + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_LIBRARIES_EBC =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC >=20 > TAB_COMPONENTS =3D 'Components' > @@ -664,6 +685,7 @@ TAB_COMPONENTS_IA32 =3D TAB_COMPONENTS + > TAB_SPLIT + TAB_ARCH_IA32 > TAB_COMPONENTS_X64 =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_X64 > TAB_COMPONENTS_IPF =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_IPF > TAB_COMPONENTS_ARM =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_ARM > +TAB_COMPONENTS_LOONGARCH64 =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_LOONGARCH64 > TAB_COMPONENTS_EBC =3D TAB_COMPONENTS + TAB_SPLIT + > TAB_ARCH_EBC >=20 > TAB_BUILD_OPTIONS =3D 'BuildOptions' > diff --git a/BaseTools/Source/Python/build/buildoptions.py > b/BaseTools/Source/Python/build/buildoptions.py > index 39d92cff20..8334604b46 100644 > --- a/BaseTools/Source/Python/build/buildoptions.py > +++ b/BaseTools/Source/Python/build/buildoptions.py > @@ -4,6 +4,7 @@ > # Copyright (c) 2014, Hewlett-Packard Development Company, L.P.
> # Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved. > # Copyright (c) 2018 - 2020, Hewlett Packard Enterprise Development, > L.P.
> +# Copyright (c) 2022, Loongson Technology Corporation Limited. All righ= ts > reserved.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -41,7 +42,7 @@ class MyOptionParser(): > def GetOption(self): > Parser =3D OptionParser(description=3D__copyright__, version=3D_= _version__, > prog=3D"build.exe", usage=3D"%prog [options] > [all|fds|genc|genmake|clean|cleanall|cleanlib|modules|libraries|run]") > Parser.add_option("-a", "--arch", action=3D"append", dest=3D"Tar= getArch", > - help=3D"ARCHS is one of list: IA32, X64, ARM, AARCH64, RISCV= 64 or EBC, > which overrides target.txt's TARGET_ARCH definition. To specify more arch= s, > please repeat this option.") > + help=3D"ARCHS is one of list: IA32, X64, ARM, AARCH64, RISCV= 64, > LOONGARCH64 or EBC, which overrides target.txt's TARGET_ARCH definition. > To specify more archs, please repeat this option.") > Parser.add_option("-p", "--platform", action=3D"callback", type= =3D"string", > dest=3D"PlatformFile", callback=3DSingleCheckCallback, > help=3D"Build the platform specified by the DSC file name ar= gument, > overriding target.txt's ACTIVE_PLATFORM definition.") > Parser.add_option("-m", "--module", action=3D"callback", type=3D= "string", > dest=3D"ModuleFile", callback=3DSingleCheckCallback, > -- > 2.27.0 >=20 >=20 >=20 >=20 >=20