From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=01703bcc39=abner.chang@hpe.com) Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by groups.io with SMTP; Mon, 23 Sep 2019 18:53:17 -0700 Received: from pps.filterd (m0134423.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x8O1q3Ge003091 for ; Tue, 24 Sep 2019 01:53:16 GMT Received: from g9t5009.houston.hpe.com (g9t5009.houston.hpe.com [15.241.48.73]) by mx0b-002e3701.pphosted.com with ESMTP id 2v6vj6474c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 24 Sep 2019 01:53:16 +0000 Received: from G1W8106.americas.hpqcorp.net (g1w8106.austin.hp.com [16.193.72.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g9t5009.houston.hpe.com (Postfix) with ESMTPS id 2B61966 for ; Tue, 24 Sep 2019 01:53:16 +0000 (UTC) Received: from G4W9334.americas.hpqcorp.net (16.208.32.120) by G1W8106.americas.hpqcorp.net (16.193.72.61) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 24 Sep 2019 01:52:58 +0000 Received: from G1W8106.americas.hpqcorp.net (16.193.72.61) by G4W9334.americas.hpqcorp.net (16.208.32.120) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 24 Sep 2019 01:52:58 +0000 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (15.241.52.12) by G1W8106.americas.hpqcorp.net (16.193.72.61) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Tue, 24 Sep 2019 01:52:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y1dzk1Nwax0ajXYgabdZtXInEyzy322H0xpe9fogXJR6zvdb3cdmAKLouXdu6rtamNVkBf8SjLsK1Erci/7CGQYq8f5f/9YPmdy0bjkA69A0WtpVzo1QLq1NUCFJjBRaV+O0WNbpf/sIWJ++TxQH7mBawg9iPUndj2I9xCocU6C5uxam6gGLlg7gedbE4Mo+z4JzH6pjz8HBeAZWL2QG81XP/OIgFIm8vZDH3VapveBsSHd306PVLQMiU/BkOMDWJUijR8ZD1i61U4cbimO4bdThW8BedQHMSHFQVLUXVnpxvfDooZN3X2x1nV5wi2dzZ4REU4adfq8qp4oG4LJsDw== 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-SenderADCheck; bh=gVLZ+6LiZwXLr89m13M2SZPQix1Aqgto0TNBMr9w64Y=; b=FSs2qpWEtrMQA26e/ZQZXBsCWV+u5d/9rB6YexYa/2KjZAbMn3J/lZTl6h3M7o+EDy3TgOOJX/o4bsmSPXPz5SHCOa8T5zdz4qmNim0/ffeByvKs31rRv1c7jF9Lvqw0lqwdTLO4FKS3B70PhuZpKT9sKz8mmLz7UFMImv34tgQ7RtNjcyI9rkdgpWKJQHCY0ciD98Sa9am1jctYHykpd8BFbub2g1sny/EI0tqF4WSFpDGyNE5rCZm/6xtwkG/NXQsLawmGeUL+cWA3NykdYzaxzrD8iag1fjtZtsi5RPFNHvxCCaphZ8r0SIre6l4mUGLnH1U9v6UkqzGdokqmig== 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 CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM (10.169.12.151) by CS1PR8401MB0983.NAMPRD84.PROD.OUTLOOK.COM (10.169.16.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.26; Tue, 24 Sep 2019 01:52:56 +0000 Received: from CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM ([fe80::4fb:84b9:76e6:1cde]) by CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM ([fe80::4fb:84b9:76e6:1cde%8]) with mapi id 15.20.2284.023; Tue, 24 Sep 2019 01:52:56 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "Chang, Abner (HPS SW/FW Technologist)" CC: Liming Gao , Michael D Kinney Subject: Re: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 05/29] MdePkg/Include: RISC-V definitions. Thread-Topic: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 05/29] MdePkg/Include: RISC-V definitions. Thread-Index: AQHVcaqh7zeEtUj2L0iWa2HuMkCz8qc6EinA Date: Tue, 24 Sep 2019 01:52:56 +0000 Message-ID: References: <1569198715-31552-1-git-send-email-abner.chang@hpe.com> <15C6EB994C26E5C4.2053@groups.io> In-Reply-To: <15C6EB994C26E5C4.2053@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ce55fca3-a5b0-4e88-2f78-08d74091ebbd x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:CS1PR8401MB0983; x-ms-traffictypediagnostic: CS1PR8401MB0983: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:159; x-forefront-prvs: 0170DAF08C x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(366004)(396003)(136003)(39860400002)(346002)(199004)(189003)(13464003)(2906002)(71200400001)(9686003)(71190400001)(229853002)(52536014)(110136005)(99286004)(14454004)(316002)(66066001)(478600001)(5660300002)(966005)(256004)(86362001)(6116002)(26005)(6246003)(4326008)(74316002)(102836004)(54906003)(25786009)(8936002)(81156014)(486006)(476003)(81166006)(33656002)(66556008)(446003)(6436002)(11346002)(8676002)(305945005)(66946007)(3846002)(2501003)(76176011)(6306002)(19627235002)(7696005)(14444005)(76116006)(66476007)(7736002)(53546011)(6506007)(55016002)(186003)(64756008)(66446008);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR8401MB0983;H:CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: hpe.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: NMJAPKQuwWui/Vh9z+9LLkRE+NJFPUKnquwcxUFvfBx6V1DZ8e0rsdhx43Kf97GSUlZ59XRpQClSm7ctAa/tymkepAlIDo3OdXXmPyPWIQ5z0Sdn0bLb8uKi0H9j3ASiGUIsVFMJEfb8Zkr8QIO1HoX8osHvqD+GWoOhqVL+XYFMJYJdbCGm/dut/PChQp+fiW4qmxOmCLO67NLohnj1K1JuDyobW1tQ18jyXGRi8rU7UbqQ8ua+hO1nTZUWiYP60P3ntqiODp1Ai2qrvTvJ1wBmaMBy+rBRJNQZkcfalvRL1xgrsRxB7og83tYQ1phD0kBcUQrAb552WO6tECV+5kUIPe9xSRoatQNKtp6CHndYw7jNQbyoZuHQ/t0X3rCYz/ZWM/H+lq2hF6pbXrWRCI+uMEoUyrDK93BYmdxmKB4= X-MS-Exchange-CrossTenant-Network-Message-Id: ce55fca3-a5b0-4e88-2f78-08d74091ebbd X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2019 01:52:56.3665 (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: mRGx0UNndTtE2lcXw4QBEIbOPcK/9HoAaNs9ojhUYG68AYOuI5EEyR70dT4q2ElUaApjttVZmXMXpcGW3wt77w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0983 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-09-23_10:2019-09-23,2019-09-23 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 malwarescore=0 spamscore=0 mlxlogscore=802 phishscore=0 impostorscore=0 suspectscore=0 bulkscore=0 clxscore=1015 mlxscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1908290000 definitions=main-1909240017 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable CC maintainers. > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Abner Chang > Sent: Monday, September 23, 2019 8:32 AM > To: devel@edk2.groups.io > Cc: Chang, Abner (HPS SW/FW Technologist) > Subject: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 05/29] > MdePkg/Include: RISC-V definitions. >=20 > Add RISC-V processor related definitions. >=20 > Signed-off-by: Abner Chang > --- > MdePkg/Include/IndustryStandard/PeImage.h | 12 +++++++ > MdePkg/Include/Protocol/DebugSupport.h | 55 > +++++++++++++++++++++++++++++++ > MdePkg/Include/Protocol/PxeBaseCode.h | 4 +++ > MdePkg/Include/Uefi/UefiBaseType.h | 13 ++++++++ > MdePkg/Include/Uefi/UefiSpec.h | 5 +++ > 5 files changed, 89 insertions(+) >=20 > diff --git a/MdePkg/Include/IndustryStandard/PeImage.h > b/MdePkg/Include/IndustryStandard/PeImage.h > index 720bb08..ca3fd0b 100644 > --- a/MdePkg/Include/IndustryStandard/PeImage.h > +++ b/MdePkg/Include/IndustryStandard/PeImage.h > @@ -9,6 +9,8 @@ >=20 > Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
> Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
> +Portions Copyright (c) 2016 - 2019, Hewlett Packard Enterprise > +Development LP. All rights reserved.
> + > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > **/ > @@ -34,6 +36,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #define IMAGE_FILE_MACHINE_X64 0x8664 > #define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED 0x01c2 > #define IMAGE_FILE_MACHINE_ARM64 0xAA64 > +#define IMAGE_FILE_MACHINE_RISCV32 0x5032 > +#define IMAGE_FILE_MACHINE_RISCV64 0x5064 > +#define IMAGE_FILE_MACHINE_RISCV128 0x5128 >=20 > // > // EXE file formats > @@ -494,6 +499,13 @@ typedef struct { > #define EFI_IMAGE_REL_BASED_DIR64 10 >=20 > /// > +/// Relocation types of RISC-V processor. > +/// > +#define EFI_IMAGE_REL_BASED_RISCV_HI20 5 > +#define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7 > +#define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8 > + > +/// > /// Line number format. > /// > typedef struct { > diff --git a/MdePkg/Include/Protocol/DebugSupport.h > b/MdePkg/Include/Protocol/DebugSupport.h > index 800e771..1a29cc0 100644 > --- a/MdePkg/Include/Protocol/DebugSupport.h > +++ b/MdePkg/Include/Protocol/DebugSupport.h > @@ -7,6 +7,7 @@ >=20 > Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
> Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
> +Copyright (c) 2016, Hewlett Packard Enterprise Development LP. All > +rights reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -603,6 +604,59 @@ typedef struct { > UINT64 FAR; // Fault Address Register } EFI_SYSTEM_CONTEXT_AARCH64= ; >=20 > +/// > +/// RISC-V processor exception types. > +/// > +#define EXCEPT_RISCV_INST_MISALIGNED 0 > +#define EXCEPT_RISCV_INST_ACCESS_FAULT 1 > +#define EXCEPT_RISCV_ILLEGAL_INST 2 > +#define EXCEPT_RISCV_BREAKPOINT 3 > +#define EXCEPT_RISCV_LOAD_ADDRESS_MISALIGNED 4 > +#define EXCEPT_RISCV_LOAD_ACCESS_FAULT 5 > +#define EXCEPT_RISCV_STORE_AMO_ADDRESS_MISALIGNED 6 > +#define EXCEPT_RISCV_STORE_AMO_ACCESS_FAULT 7 > +#define EXCEPT_RISCV_ENV_CALL_FROM_UMODE 8 > +#define EXCEPT_RISCV_ENV_CALL_FROM_SMODE 9 > +#define EXCEPT_RISCV_ENV_CALL_FROM_HMODE 10 > +#define EXCEPT_RISCV_ENV_CALL_FROM_MMODE 11 > + > +#define EXCEPT_RISCV_SOFTWARE_INT 0x0 > +#define EXCEPT_RISCV_TIMER_INT 0x1 > + > +typedef struct { > + UINT64 X0; > + UINT64 X1; > + UINT64 X2; > + UINT64 X3; > + UINT64 X4; > + UINT64 X5; > + UINT64 X6; > + UINT64 X7; > + UINT64 X8; > + UINT64 X9; > + UINT64 X10; > + UINT64 X11; > + UINT64 X12; > + UINT64 X13; > + UINT64 X14; > + UINT64 X15; > + UINT64 X16; > + UINT64 X17; > + UINT64 X18; > + UINT64 X19; > + UINT64 X20; > + UINT64 X21; > + UINT64 X22; > + UINT64 X23; > + UINT64 X24; > + UINT64 X25; > + UINT64 X26; > + UINT64 X27; > + UINT64 X28; > + UINT64 X29; > + UINT64 X30; > + UINT64 X31; > +} EFI_SYSTEM_CONTEXT_RISCV64; >=20 > /// > /// Universal EFI_SYSTEM_CONTEXT definition. > @@ -614,6 +668,7 @@ typedef union { > EFI_SYSTEM_CONTEXT_IPF *SystemContextIpf; > EFI_SYSTEM_CONTEXT_ARM *SystemContextArm; > EFI_SYSTEM_CONTEXT_AARCH64 *SystemContextAArch64; > + EFI_SYSTEM_CONTEXT_RISCV64 *SystemContextRiscV64; > } EFI_SYSTEM_CONTEXT; >=20 > // > diff --git a/MdePkg/Include/Protocol/PxeBaseCode.h > b/MdePkg/Include/Protocol/PxeBaseCode.h > index b02d270..8a9e4a1 100644 > --- a/MdePkg/Include/Protocol/PxeBaseCode.h > +++ b/MdePkg/Include/Protocol/PxeBaseCode.h > @@ -3,6 +3,8 @@ > devices for network access and network booting. >=20 > Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
> +Copyright (c) 2016 - 2019, Hewlett Packard Enterprise Development LP. > +All rights reserved.
> + > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @par Revision Reference: > @@ -153,6 +155,8 @@ typedef UINT16 EFI_PXE_BASE_CODE_UDP_PORT; > #define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000A > #elif defined (MDE_CPU_AARCH64) > #define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000B > +#elif defined (MDE_CPU_RISCV64) > +#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x001B > #endif >=20 >=20 > diff --git a/MdePkg/Include/Uefi/UefiBaseType.h > b/MdePkg/Include/Uefi/UefiBaseType.h > index a62f13d..d979412 100644 > --- a/MdePkg/Include/Uefi/UefiBaseType.h > +++ b/MdePkg/Include/Uefi/UefiBaseType.h > @@ -3,6 +3,7 @@ >=20 > Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
> Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.
> +Copyright (c) 2016 - 2019, Hewlett Packard Enterprise Development LP. > +All rights reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -240,6 +241,12 @@ typedef union { > /// > #define EFI_IMAGE_MACHINE_AARCH64 0xAA64 >=20 > +/// > +/// PE32+ Machine type for RISC-V 32/64/128 /// > +#define EFI_IMAGE_MACHINE_RISCV32 0x5032 > +#define EFI_IMAGE_MACHINE_RISCV64 0x5064 > +#define EFI_IMAGE_MACHINE_RISCV128 0x5128 >=20 > #if defined (MDE_CPU_IA32) >=20 > @@ -268,6 +275,12 @@ typedef union { >=20 > #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) >=20 > +#elif defined (MDE_CPU_RISCV64) > +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ > + ((Machine) =3D=3D EFI_IMAGE_MACHINE_RISCV64) > + > +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) > + > #elif defined (MDE_CPU_EBC) >=20 > /// > diff --git a/MdePkg/Include/Uefi/UefiSpec.h > b/MdePkg/Include/Uefi/UefiSpec.h index 44a0a6a..e2d4539 100644 > --- a/MdePkg/Include/Uefi/UefiSpec.h > +++ b/MdePkg/Include/Uefi/UefiSpec.h > @@ -6,6 +6,8 @@ > by this include file. >=20 > Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> +Portions Copyright (c) 2016, Hewlett Packard Enterprise Development LP. > +All rights reserved.
> + > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > **/ > @@ -2178,6 +2180,7 @@ typedef struct { > #define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 > L"\\EFI\\BOOT\\BOOTX64.EFI" > #define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM > L"\\EFI\\BOOT\\BOOTARM.EFI" > #define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 > L"\\EFI\\BOOT\\BOOTAA64.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 > L"\\EFI\\BOOT\\BOOTRISCV64.EFI" >=20 > #if defined (MDE_CPU_IA32) > #define EFI_REMOVABLE_MEDIA_FILE_NAME > EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 > @@ -2188,6 +2191,8 @@ typedef struct { > #define EFI_REMOVABLE_MEDIA_FILE_NAME > EFI_REMOVABLE_MEDIA_FILE_NAME_ARM > #elif defined (MDE_CPU_AARCH64) > #define EFI_REMOVABLE_MEDIA_FILE_NAME > EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 > +#elif defined (MDE_CPU_RISCV64) > + #define EFI_REMOVABLE_MEDIA_FILE_NAME > EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 > #else > #error Unknown Processor Type > #endif > -- > 2.7.4 >=20 >=20 >=20