diff options
author | Paul Beesley <paul.beesley@arm.com> | 2019-10-14 15:27:12 +0000 |
---|---|---|
committer | Manish Pandey <manish.pandey2@arm.com> | 2019-12-20 16:03:32 +0000 |
commit | 538b002046b567ed3c431633623f335b90476e40 (patch) | |
tree | ab7cad1fed63ba04a30a4d5fa073497038bd0224 /include/services | |
parent | 3f3c341ae58321ec1b86162916d80b6db9187759 (diff) | |
download | arm-trusted-firmware-538b002046b567ed3c431633623f335b90476e40.tar.gz |
spm: Remove SPM Alpha 1 prototype and support files
The Secure Partition Manager (SPM) prototype implementation is
being removed. This is preparatory work for putting in place a
dispatcher component that, in turn, enables partition managers
at S-EL2 / S-EL1.
This patch removes:
- The core service files (std_svc/spm)
- The Resource Descriptor headers (include/services)
- SPRT protocol support and service definitions
- SPCI protocol support and service definitions
Change-Id: Iaade6f6422eaf9a71187b1e2a4dffd7fb8766426
Signed-off-by: Paul Beesley <paul.beesley@arm.com>
Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com>
Diffstat (limited to 'include/services')
-rw-r--r-- | include/services/sp_res_desc.h | 253 | ||||
-rw-r--r-- | include/services/sp_res_desc_def.h | 94 | ||||
-rw-r--r-- | include/services/spci_svc.h | 124 | ||||
-rw-r--r-- | include/services/spm_svc.h | 8 | ||||
-rw-r--r-- | include/services/sprt_svc.h | 74 |
5 files changed, 0 insertions, 553 deletions
diff --git a/include/services/sp_res_desc.h b/include/services/sp_res_desc.h deleted file mode 100644 index b8be72eeb..000000000 --- a/include/services/sp_res_desc.h +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef SPM_RES_DESC_H -#define SPM_RES_DESC_H - -#include <stdint.h> - -#include <services/sp_res_desc_def.h> - -/******************************************************************************* - * Attribute Section - ******************************************************************************/ - -struct sp_rd_sect_attribute { - /* - * Version of the resource description. - */ - uint16_t version; - - /* - * Type of the Secure Partition: - * - bit[0]: SP Type - * - b'0: UP SP - * - b'1: MP SP - * If UP SP: - * - bit[1]: Type of UP SP - * - b'0: Migratable UP SP - * - b'1: Pinned UP SP - */ - uint16_t sp_type; - - /* - * If this is a Pinned UP SP, PE on which the Pinned UP SP will run. - */ - uint32_t pe_mpidr; - - /* - * Run-Time Exception Level: - * - 0: SEL0 SP - * - 1: SEL1 SP - */ - uint8_t runtime_el; - - /* - * Type of Execution: - * - 0: Init-time only - * - 1: Run-time Execution - */ - uint8_t exec_type; - - /* - * Expected behavior upon failure: - * - 0: Restartable - * - 1: One-Shot - */ - uint8_t panic_policy; - - /* - * Translation Granule to use in the SP translation regime: - * - 0: 4KB - * - 1: 16KB - * - 2: 64KB - */ - uint8_t xlat_granule; - - /* - * Size of the SP binary in bytes. - */ - uint32_t binary_size; - - /* - * - If SP is NOT PIE: - * - VA Address where the SP expects to be loaded. - * - If SP is PIE: - * - Ignored. - */ - uint64_t load_address; - - /* - * Initial execution address. This is a VA as the SP sees it. - */ - uint64_t entrypoint; -}; - -/******************************************************************************* - * Memory Region Section - ******************************************************************************/ - -struct sp_rd_sect_mem_region { - /* - * Name of a Memory region, including null terminator. Reserved names: - * - "Client Shared Memory Region": - * Memory region where memory shared by clients shall be mapped. - * - "Queue Memory Region": - * Memory region shared with SPM for SP queue management. - */ - char name[RD_MEM_REGION_NAME_LEN]; - - /* - * Memory Attributes: - * - bits[3:0]: Type of memory - * - 0: Device - * - 1: Code - * - 2: Data - * - 3: BSS - * - 4: Read-only Data - * - 5: SPM-to-SP Shared Memory Region - * - 6: Client Shared Memory Region - * - 7: Miscellaneous - * - If memory is { SPM-to-SP shared Memory, Client Shared Memory, - * Miscellaneous } - * - bits[4]: Position Independent - * - b'0: Position Dependent - * - b'1: Position Independent - */ - uint32_t attr; - - /* - * Base address of the memory region. - */ - uint64_t base; - - /* - * Size of the memory region. - */ - uint64_t size; - - /* - * Pointer to next memory region (or NULL if this is the last one). - */ - struct sp_rd_sect_mem_region *next; -}; - -/******************************************************************************* - * Notification Section - ******************************************************************************/ - -struct sp_rd_sect_notification { - /* - * Notification attributes: - * - bit[31]: Notification Type - * - b'0: Platform Notification - * - b'1: Interrupt - * If Notification Type == Platform Notification - * - bits[15:0]: Implementation-defined Notification ID - * If Notification Type == Interrupt - * - bits[15:0]: IRQ number - * - bits[23:16]: Interrupt Priority - * - bit[24]: Trigger Type - * - b'0: Edge Triggered - * - b'1: Level Triggered - * - bit[25]: Trigger Level - * - b'0: Falling or Low - * - b'1: Rising or High - */ - uint32_t attr; - - /* - * Processing Element. - * If Notification Type == Interrupt && IRQ number is { SGI, LPI } - * - PE ID to which IRQ will be forwarded - */ - uint32_t pe; - - /* - * Pointer to next notification (or NULL if this is the last one). - */ - struct sp_rd_sect_notification *next; -}; - -/******************************************************************************* - * Service Description Section - ******************************************************************************/ - -struct sp_rd_sect_service { - /* - * Service identifier. - */ - uint32_t uuid[4]; - - /* - * Accessibility Options: - * - bit[0]: Accessibility by secure-world clients - * - b'0: Not Accessible - * - b'1: Accessible - * - bit[1]: Accessible by EL3 - * - b'0: Not Accessible - * - b'1: Accessible - * - bit[2]: Accessible by normal-world clients - * - b'0: Not Accessible - * - b'1: Accessible - */ - uint8_t accessibility; - - /* - * Request type supported: - * - bit[0]: Blocking request - * - b'0: Not Enable - * - b'1: Enable - * - bit[1]: Non-blocking request - * - b'0: Not Enable - * - b'1: Enable - */ - uint8_t request_type; - - /* - * Maximum number of client connections that the service can support. - */ - uint16_t connection_quota; - - /* - * If the service requires secure world memory to be shared with its - * clients: - * - Maximum amount of secure world memory in bytes to reserve from the - * secure world memory pool for the service. - */ - uint32_t secure_mem_size; - - /* - * Interrupt number used to notify the SP for the service. - * - Should also be enabled in the Notification Section. - */ - uint32_t interrupt_num; - - /* - * Pointer to next service (or NULL if this is the last one). - */ - struct sp_rd_sect_service *next; -}; - -/******************************************************************************* - * Complete resource description struct - ******************************************************************************/ - -struct sp_res_desc { - - /* Attribute Section */ - struct sp_rd_sect_attribute attribute; - - /* System Resource Section */ - struct sp_rd_sect_mem_region *mem_region; - - struct sp_rd_sect_notification *notification; - - /* Service Section */ - struct sp_rd_sect_service *service; -}; - -#endif /* SPM_RES_DESC_H */ diff --git a/include/services/sp_res_desc_def.h b/include/services/sp_res_desc_def.h deleted file mode 100644 index 5a3c50d7f..000000000 --- a/include/services/sp_res_desc_def.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2018, Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef SPM_RES_DESC_DEFS_H -#define SPM_RES_DESC_DEFS_H - -#include <lib/utils_def.h> - -/******************************************************************************* - * Attribute Section - ******************************************************************************/ - -#define RD_ATTR_TYPE_UP_MIGRATABLE U(0) -#define RD_ATTR_TYPE_UP_PINNED U(2) -#define RD_ATTR_TYPE_MP U(1) - -#define RD_ATTR_RUNTIME_SEL0 U(0) -#define RD_ATTR_RUNTIME_SEL1 U(1) - -#define RD_ATTR_INIT_ONLY U(0) -#define RD_ATTR_RUNTIME U(1) - -#define RD_ATTR_PANIC_RESTART U(0) -#define RD_ATTR_PANIC_ONESHOT U(1) - -#define RD_ATTR_XLAT_GRANULE_4KB U(0) -#define RD_ATTR_XLAT_GRANULE_16KB U(1) -#define RD_ATTR_XLAT_GRANULE_64KB U(2) - -/******************************************************************************* - * Memory Region Section - ******************************************************************************/ - -#define RD_MEM_REGION_NAME_LEN U(32) - -#define RD_MEM_DEVICE U(0) -#define RD_MEM_NORMAL_CODE U(1) -#define RD_MEM_NORMAL_DATA U(2) -#define RD_MEM_NORMAL_BSS U(3) -#define RD_MEM_NORMAL_RODATA U(4) -#define RD_MEM_NORMAL_SPM_SP_SHARED_MEM U(5) -#define RD_MEM_NORMAL_CLIENT_SHARED_MEM U(6) -#define RD_MEM_NORMAL_MISCELLANEOUS U(7) - -#define RD_MEM_MASK U(15) - -#define RD_MEM_IS_PIE (U(1) << 4) - -/******************************************************************************* - * Notification Section - ******************************************************************************/ - -#define RD_NOTIF_TYPE_PLATFORM (U(0) << 31) -#define RD_NOTIF_TYPE_INTERRUPT (U(1) << 31) - -#define RD_NOTIF_PLAT_ID_MASK U(0xFFFF) -#define RD_NOTIF_PLAT_ID_SHIFT U(0) - -#define RD_NOTIF_PLATFORM(id) \ - (RD_NOTIF_TYPE_PLATFORM \ - | (((id) & RD_NOTIF_PLAT_ID_MASK) << RD_NOTIF_PLAT_ID_SHIFT)) - -#define RD_NOTIF_IRQ_NUM_MASK U(0xFFFF) -#define RD_NOTIF_IRQ_NUM_SHIFT U(0) -#define RD_NOTIF_IRQ_PRIO_MASK U(0xFF) -#define RD_NOTIF_IRQ_PRIO_SHIFT U(16) - -#define RD_NOTIF_IRQ_EDGE_FALLING U(0) -#define RD_NOTIF_IRQ_EDGE_RISING U(2) -#define RD_NOTIF_IRQ_LEVEL_LOW U(1) -#define RD_NOTIF_IRQ_LEVEL_HIGH U(3) -#define RD_NOTIF_IRQ_TRIGGER_SHIFT U(24) - -#define RD_NOTIF_IRQ(num, prio, trig) \ - (RD_NOTIF_TYPE_IRQ \ - | (((num) & RD_NOTIF_IRQ_NUM_MASK) << RD_NOTIF_IRQ_NUM_SHIFT) \ - | (((prio) & RD_NOTIF_IRQ_PRIO_MASK) << RD_NOTIF_IRQ_PRIO_SHIFT) \ - | (((trig) << RD_NOTIF_IRQ_TRIGGER_SHIFT))) - -/******************************************************************************* - * Service Description Section - ******************************************************************************/ - -#define RD_SERV_ACCESS_SECURE (U(1) << 0) -#define RD_SERV_ACCESS_EL3 (U(1) << 1) -#define RD_SERV_ACCESS_NORMAL (U(1) << 2) - -#define RD_SERV_SUPPORT_BLOCKING (U(1) << 0) -#define RD_SERV_SUPPORT_NON_BLOCKING (U(1) << 0) - -#endif /* SPM_RES_DESC_DEFS_H */ diff --git a/include/services/spci_svc.h b/include/services/spci_svc.h deleted file mode 100644 index 1d02bfa9c..000000000 --- a/include/services/spci_svc.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2018-2019, Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef SPCI_SVC_H -#define SPCI_SVC_H - -#include <lib/smccc.h> -#include <lib/utils_def.h> - -/* SPCI_VERSION helpers */ - -#define SPCI_VERSION_MAJOR U(0) -#define SPCI_VERSION_MAJOR_SHIFT 16 -#define SPCI_VERSION_MAJOR_MASK U(0x7FFF) -#define SPCI_VERSION_MINOR U(1) -#define SPCI_VERSION_MINOR_SHIFT 0 -#define SPCI_VERSION_MINOR_MASK U(0xFFFF) -#define SPCI_VERSION_FORM(major, minor) ((((major) & SPCI_VERSION_MAJOR_MASK) \ - << SPCI_VERSION_MAJOR_SHIFT) | \ - ((minor) & SPCI_VERSION_MINOR_MASK)) -#define SPCI_VERSION_COMPILED SPCI_VERSION_FORM(SPCI_VERSION_MAJOR, \ - SPCI_VERSION_MINOR) - -/* Definitions to build the complete SMC ID */ - -#define SPCI_FID_MISC_FLAG (U(0) << 27) -#define SPCI_FID_MISC_SHIFT U(20) -#define SPCI_FID_MISC_MASK U(0x7F) - -#define SPCI_FID_TUN_FLAG (U(1) << 27) -#define SPCI_FID_TUN_SHIFT U(24) -#define SPCI_FID_TUN_MASK U(0x7) - -#define OEN_SPCI_START U(0x30) -#define OEN_SPCI_END U(0x3F) - -#define SPCI_SMC(spci_fid) ((OEN_SPCI_START << FUNCID_OEN_SHIFT) | \ - (U(1) << 31) | (spci_fid)) -#define SPCI_MISC_32(misc_fid) ((SMC_32 << FUNCID_CC_SHIFT) | \ - SPCI_FID_MISC_FLAG | \ - SPCI_SMC((misc_fid) << SPCI_FID_MISC_SHIFT)) -#define SPCI_MISC_64(misc_fid) ((SMC_64 << FUNCID_CC_SHIFT) | \ - SPCI_FID_MISC_FLAG | \ - SPCI_SMC((misc_fid) << SPCI_FID_MISC_SHIFT)) -#define SPCI_TUN_32(tun_fid) ((SMC_32 << FUNCID_CC_SHIFT) | \ - SPCI_FID_TUN_FLAG | \ - SPCI_SMC((tun_fid) << SPCI_FID_TUN_SHIFT)) -#define SPCI_TUN_64(tun_fid) ((SMC_64 << FUNCID_CC_SHIFT) | \ - SPCI_FID_TUN_FLAG | \ - SPCI_SMC((tun_fid) << SPCI_FID_TUN_SHIFT)) - -/* SPCI miscellaneous functions */ - -#define SPCI_FID_VERSION U(0x0) -#define SPCI_FID_SERVICE_HANDLE_OPEN U(0x2) -#define SPCI_FID_SERVICE_HANDLE_CLOSE U(0x3) -#define SPCI_FID_SERVICE_MEM_REGISTER U(0x4) -#define SPCI_FID_SERVICE_MEM_UNREGISTER U(0x5) -#define SPCI_FID_SERVICE_MEM_PUBLISH U(0x6) -#define SPCI_FID_SERVICE_REQUEST_BLOCKING U(0x7) -#define SPCI_FID_SERVICE_REQUEST_START U(0x8) -#define SPCI_FID_SERVICE_GET_RESPONSE U(0x9) -#define SPCI_FID_SERVICE_RESET_CLIENT_STATE U(0xA) - -/* SPCI tunneling functions */ - -#define SPCI_FID_SERVICE_TUN_REQUEST_START U(0x0) -#define SPCI_FID_SERVICE_REQUEST_RESUME U(0x1) -#define SPCI_FID_SERVICE_TUN_REQUEST_BLOCKING U(0x2) - -/* Complete SMC IDs and associated values */ - -#define SPCI_VERSION SPCI_MISC_32(SPCI_FID_VERSION) - -#define SPCI_SERVICE_HANDLE_OPEN SPCI_MISC_32(SPCI_FID_SERVICE_HANDLE_OPEN) -#define SPCI_SERVICE_HANDLE_OPEN_NOTIFY_BIT U(1) - -#define SPCI_SERVICE_HANDLE_CLOSE SPCI_MISC_32(SPCI_FID_SERVICE_HANDLE_CLOSE) - -#define SPCI_SERVICE_MEM_REGISTER_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_MEM_REGISTER) -#define SPCI_SERVICE_MEM_REGISTER_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_MEM_REGISTER) - -#define SPCI_SERVICE_MEM_UNREGISTER_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_MEM_UNREGISTER) -#define SPCI_SERVICE_MEM_UNREGISTER_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_MEM_UNREGISTER) - -#define SPCI_SERVICE_MEM_PUBLISH_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_MEM_PUBLISH) -#define SPCI_SERVICE_MEM_PUBLISH_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_MEM_PUBLISH) - -#define SPCI_SERVICE_REQUEST_BLOCKING_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_REQUEST_BLOCKING) -#define SPCI_SERVICE_REQUEST_BLOCKING_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_REQUEST_BLOCKING) - -#define SPCI_SERVICE_REQUEST_START_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_REQUEST_START) -#define SPCI_SERVICE_REQUEST_START_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_REQUEST_START) - -#define SPCI_SERVICE_GET_RESPONSE_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_GET_RESPONSE) -#define SPCI_SERVICE_GET_RESPONSE_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_GET_RESPONSE) - -#define SPCI_SERVICE_RESET_CLIENT_STATE_AARCH32 SPCI_MISC_32(SPCI_FID_SERVICE_RESET_CLIENT_STATE) -#define SPCI_SERVICE_RESET_CLIENT_STATE_AARCH64 SPCI_MISC_64(SPCI_FID_SERVICE_RESET_CLIENT_STATE) - -#define SPCI_SERVICE_TUN_REQUEST_START_AARCH32 SPCI_TUN_32(SPCI_FID_SERVICE_TUN_REQUEST_START) -#define SPCI_SERVICE_TUN_REQUEST_START_AARCH64 SPCI_TUN_64(SPCI_FID_SERVICE_TUN_REQUEST_START) - -#define SPCI_SERVICE_REQUEST_RESUME_AARCH32 SPCI_TUN_32(SPCI_FID_SERVICE_REQUEST_RESUME) -#define SPCI_SERVICE_REQUEST_RESUME_AARCH64 SPCI_TUN_64(SPCI_FID_SERVICE_REQUEST_RESUME) - -#define SPCI_SERVICE_TUN_REQUEST_BLOCKING_AARCH32 SPCI_TUN_32(SPCI_FID_SERVICE_TUN_REQUEST_BLOCKING) -#define SPCI_SERVICE_TUN_REQUEST_BLOCKING_AARCH64 SPCI_TUN_64(SPCI_FID_SERVICE_TUN_REQUEST_BLOCKING) - -/* SPCI error codes. */ - -#define SPCI_SUCCESS 0 -#define SPCI_NOT_SUPPORTED -1 -#define SPCI_INVALID_PARAMETER -2 -#define SPCI_NO_MEMORY -3 -#define SPCI_BUSY -4 -#define SPCI_QUEUED -5 -#define SPCI_DENIED -6 -#define SPCI_NOT_PRESENT -7 - -#endif /* SPCI_SVC_H */ diff --git a/include/services/spm_svc.h b/include/services/spm_svc.h index a3723a0f5..c8dbe5d55 100644 --- a/include/services/spm_svc.h +++ b/include/services/spm_svc.h @@ -7,8 +7,6 @@ #ifndef SPM_SVC_H #define SPM_SVC_H -#if SPM_MM - #include <lib/utils_def.h> #define SPM_VERSION_MAJOR U(0) @@ -61,16 +59,12 @@ #define SPM_DENIED -3 #define SPM_NO_MEMORY -5 -#endif /* SPM_MM */ - #ifndef __ASSEMBLER__ #include <stdint.h> int32_t spm_setup(void); -#if SPM_MM - uint64_t spm_smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, @@ -83,8 +77,6 @@ uint64_t spm_smc_handler(uint32_t smc_fid, /* Helper to enter a Secure Partition */ uint64_t spm_sp_call(uint32_t smc_fid, uint64_t x1, uint64_t x2, uint64_t x3); -#endif /* SPM_MM */ - #endif /* __ASSEMBLER__ */ #endif /* SPM_SVC_H */ diff --git a/include/services/sprt_svc.h b/include/services/sprt_svc.h deleted file mode 100644 index 2421ea251..000000000 --- a/include/services/sprt_svc.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2018-2019, Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef SPRT_SVC_H -#define SPRT_SVC_H - -#include <lib/smccc.h> -#include <lib/utils_def.h> - -/* SPRT_VERSION helpers */ - -#define SPRT_VERSION_MAJOR U(0) -#define SPRT_VERSION_MAJOR_SHIFT 16 -#define SPRT_VERSION_MAJOR_MASK U(0x7FFF) -#define SPRT_VERSION_MINOR U(1) -#define SPRT_VERSION_MINOR_SHIFT 0 -#define SPRT_VERSION_MINOR_MASK U(0xFFFF) -#define SPRT_VERSION_FORM(major, minor) ((((major) & SPRT_VERSION_MAJOR_MASK) \ - << SPRT_VERSION_MAJOR_SHIFT) | \ - ((minor) & SPRT_VERSION_MINOR_MASK)) -#define SPRT_VERSION_COMPILED SPRT_VERSION_FORM(SPRT_VERSION_MAJOR, \ - SPRT_VERSION_MINOR) - -/* SPRT function IDs */ - -#define SPRT_FID_VERSION U(0x0) -#define SPRT_FID_PUT_RESPONSE U(0x1) -#define SPRT_FID_YIELD U(0x5) -#define SPRT_FID_PANIC U(0x7) -#define SPRT_FID_MEMORY_PERM_ATTR_GET U(0xB) -#define SPRT_FID_MEMORY_PERM_ATTR_SET U(0xC) - -#define SPRT_FID_MASK U(0xFF) - -/* Definitions to build the complete SMC ID */ - -#define OEN_SPRT_START U(0x20) -#define OEN_SPRT_END U(0x2F) - -#define SPRT_SMC_64(sprt_fid) ((OEN_SPRT_START << FUNCID_OEN_SHIFT) | \ - (U(1) << 31) | ((sprt_fid) & SPRT_FID_MASK) | \ - (SMC_64 << FUNCID_CC_SHIFT)) -#define SPRT_SMC_32(sprt_fid) ((OEN_SPRT_START << FUNCID_OEN_SHIFT) | \ - (U(1) << 31) | ((sprt_fid) & SPRT_FID_MASK) | \ - (SMC_32 << FUNCID_CC_SHIFT)) - -/* Complete SMC IDs */ - -#define SPRT_VERSION SPRT_SMC_32(SPRT_FID_VERSION) -#define SPRT_PUT_RESPONSE_AARCH64 SPRT_SMC_64(SPRT_FID_PUT_RESPONSE) -#define SPRT_YIELD_AARCH64 SPRT_SMC_64(SPRT_FID_YIELD) -#define SPRT_PANIC_AARCH64 SPRT_SMC_64(SPRT_FID_PANIC) -#define SPRT_MEMORY_PERM_ATTR_GET_AARCH64 SPRT_SMC_64(SPRT_FID_MEMORY_PERM_ATTR_GET) -#define SPRT_MEMORY_PERM_ATTR_SET_AARCH64 SPRT_SMC_64(SPRT_FID_MEMORY_PERM_ATTR_SET) - -/* Defines used by SPRT_MEMORY_PERM_ATTR_{GET,SET}_AARCH64 */ - -#define SPRT_MEMORY_PERM_ATTR_RO U(0) -#define SPRT_MEMORY_PERM_ATTR_RW U(1) -#define SPRT_MEMORY_PERM_ATTR_RO_EXEC U(2) -/* U(3) is reserved */ -#define SPRT_MEMORY_PERM_ATTR_MASK U(3) -#define SPRT_MEMORY_PERM_ATTR_SHIFT 3 - -/* SPRT error codes. */ - -#define SPRT_SUCCESS 0 -#define SPRT_NOT_SUPPORTED -1 -#define SPRT_INVALID_PARAMETER -2 - -#endif /* SPRT_SVC_H */ |