On Mon, Oct 07, 2019 at 10:57:12AM +0300, Jarkko Sakkinen wrote: > On Sat, Oct 05, 2019 at 08:54:13AM -0700, Sean Christopherson wrote: > > On Fri, Oct 04, 2019 at 09:52:21PM +0300, Jarkko Sakkinen wrote: > > > On Thu, Oct 03, 2019 at 05:15:00PM -0700, Sean Christopherson wrote: > > > > I'll tackle this tomorrow. I've been working on the feature control MSR > > > > series and will get that sent out tomorrow as well. I should also be able > > > > to get you the multi-page EADD patch. > > > > > > Great I'll compose the patch set during the weekend and take Monday off > > > so you have the full work day to get everything (probably send the patch > > > set on Sunday). > > > > Didn't get to the actual SGX stuff yesterday as the feature control series > > took longer than expected to finish. Working on the other items this > > morning. > > I anyway decided to wait for your patches. > > I said in earlier email that two ioctl's would be great but I think the > following would be the API that I would actually appreciate the most: > > struct sgx_enclave_add_page_desc { > __u64 addr; > __u64 src; > __u64 secinfo; > __u16 mrmask; > __u8 reserved[6]; > }; > > struct sgx_enclave_add_page { > __u64 nr_pages; > __u64 pages; > }; Actually, maybe like this: struct sgx_enclave_add_page_desc { __u64 addr; __u64 offset; __u64 secinfo; __u16 mrmask; __u8 reserved[6]; }; struct sgx_enclave_add_page { __u64 src; __u64 nr_pages; __u64 pages; }; I.e. probably makes sense to fix the same source for all pages. Also wondering if we should have special case for adding zero pages? I.e. when you set @src to NULL ioctl would assume that zero pages would be added? E.g. I could use this in the selftest to create variable size data segment. /Jarkko