From: Jarkko Sakkinen <jarkko@kernel.org>
To: Haitao Huang <haitao.huang@linux.intel.com>
Cc: linux-sgx@vger.kernel.org, dave.hansen@linux.intel.com,
reinette.chatre@intel.com, vijay.dhanraj@intel.com
Subject: Re: [RFC PATCH v3 3/4] selftests/sgx: add len field for EACCEPT op
Date: Wed, 16 Nov 2022 01:24:29 +0200 [thread overview]
Message-ID: <Y3QfrQFiWtOK3+c+@kernel.org> (raw)
In-Reply-To: <20221107220212.257422-4-haitao.huang@linux.intel.com>
On Mon, Nov 07, 2022 at 02:02:11PM -0800, Haitao Huang wrote:
> So we can EACCEPT multiple pages inside enclave without EEXIT,
> preparing for testing with MADV_WILLNEED for ranges bigger than
> a single page.
>
> Signed-off-by: Haitao Huang <haitao.huang@linux.intel.com>
> ---
> tools/testing/selftests/sgx/defines.h | 1 +
> tools/testing/selftests/sgx/test_encl.c | 20 ++++++++++++++------
> 2 files changed, 15 insertions(+), 6 deletions(-)
>
> diff --git a/tools/testing/selftests/sgx/defines.h b/tools/testing/selftests/sgx/defines.h
> index d8587c971941..8578e773d3d8 100644
> --- a/tools/testing/selftests/sgx/defines.h
> +++ b/tools/testing/selftests/sgx/defines.h
> @@ -60,6 +60,7 @@ struct encl_op_eaccept {
> struct encl_op_header header;
> uint64_t epc_addr;
> uint64_t flags;
> + uint64_t len;
> uint64_t ret;
> };
>
> diff --git a/tools/testing/selftests/sgx/test_encl.c b/tools/testing/selftests/sgx/test_encl.c
> index c0d6397295e3..fc797385200b 100644
> --- a/tools/testing/selftests/sgx/test_encl.c
> +++ b/tools/testing/selftests/sgx/test_encl.c
> @@ -35,14 +35,22 @@ static void do_encl_eaccept(void *_op)
> struct sgx_secinfo secinfo __aligned(sizeof(struct sgx_secinfo)) = {0};
> struct encl_op_eaccept *op = _op;
> int rax;
Should be empty line after declarations.
> + if (op->len == 0)
> + op->len = 4096;
What is this?
>
> secinfo.flags = op->flags;
> -
> - asm volatile(".byte 0x0f, 0x01, 0xd7"
> - : "=a" (rax)
> - : "a" (EACCEPT),
> - "b" (&secinfo),
> - "c" (op->epc_addr));
> + for (uint64_t addr = op->epc_addr;
> + addr < op->epc_addr + op->len; addr += 4096) {
> + asm volatile(".byte 0x0f, 0x01, 0xd7"
> + : "=a" (rax)
> + : "a" (EACCEPT),
> + "b" (&secinfo),
> + "c" (addr));
> + if (rax) {
> + op->ret = rax;
> + return;
> + }
> + }
>
> op->ret = rax;
> }
> --
> 2.25.1
>
BR, Jarkko
next prev parent reply other threads:[~2022-11-15 23:25 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-07 22:02 [RFC PATCH v3 0/4] x86/sgx: implement support for MADV_WILLNEED Haitao Huang
2022-11-07 22:02 ` [RFC PATCH v3 1/4] x86/sgx: Export sgx_encl_eaug_page Haitao Huang
2022-11-07 22:02 ` [RFC PATCH v3 2/4] x86/sgx: Implement support for MADV_WILLNEED Haitao Huang
2022-11-07 22:02 ` [RFC PATCH v3 3/4] selftests/sgx: add len field for EACCEPT op Haitao Huang
2022-11-07 22:02 ` [RFC PATCH v3 4/4] selftests/sgx: Add test for madvise(..., WILLNEED) Haitao Huang
2022-11-15 23:24 ` Jarkko Sakkinen [this message]
2022-11-16 19:26 ` [RFC PATCH v3 3/4] selftests/sgx: add len field for EACCEPT op Haitao Huang
2022-11-27 17:16 ` Jarkko Sakkinen
2022-11-15 22:03 ` [RFC PATCH v3 2/4] x86/sgx: Implement support for MADV_WILLNEED Jarkko Sakkinen
2023-01-25 19:40 ` Haitao Huang
2023-01-26 21:24 ` Jarkko Sakkinen
2022-11-15 21:54 ` [RFC PATCH v3 1/4] x86/sgx: Export sgx_encl_eaug_page Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y3QfrQFiWtOK3+c+@kernel.org \
--to=jarkko@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=haitao.huang@linux.intel.com \
--cc=linux-sgx@vger.kernel.org \
--cc=reinette.chatre@intel.com \
--cc=vijay.dhanraj@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox