Enclave Runtime PAL API defines a common interface to interact between rune and enclave runtime.
Enclave Runtime PAL API Specification currently support PAL API v1 and PAL API v2.
If you want to use rune
to run you enclave runtime, you can choose one of supported PAL API version to achieve. Using higher PAL API is recommended.
The PAL API will evolve. You can submit proposal for the extension of PAL API. We will take it after careful consideration.
rune
has a lot of subcommands such as create
,start
,exec
,run
,kill
,delete
, and etc. The relationship between them is shown in the following table.
Subcommand | v1 | v2 |
---|---|---|
create | pal_get_version | pal_get_version |
pal_init | pal_init | |
start | pal_exec | pal_create_process |
pal_exec | ||
run | pal_get_version | pal_get_version |
pal_init | pal_init | |
pal_exec | pal_create_process | |
pal_exec | ||
pal_destroy | pal_destroy | |
exec | pal_exec | pal_create_process |
pal_exec | ||
delete | pal_destroy | pal_destroy |
kill | pal_kill |
If you want to develop a PAL for your enclave runtime, please refer to Enclave Runtime Programming Guide for the details.
Current enclave runtime programming guide version is based on PAL API v2.