On Tue, Nov 13, 2018 at 01:51:06PM -0800, Dave Hansen wrote:
> On 11/13/18 1:40 PM, Jarkko Sakkinen wrote:
> > +int main(int argc, char **argv)
> > +{
> > +   unsigned long bin_size = (unsigned long)&encl_bin_end -
> > +                            (unsigned long)&encl_bin;
> > +   struct sgx_secs secs;
> > +   uint64_t result = 0;
> > +
> > +   if (!encl_load(&secs, bin_size))
> > +           exit(1);
> > +
> > +   sgx_call((void *)&MAGIC, &result, (void *)secs.base);
> > +   if (result != MAGIC) {
> > +           fprintf(stderr, "0x%lx != 0x%lx\n", result, MAGIC);
> > +           exit(1);
> > +   }
> > +
> > +   exit(0);
> > +}
> 
> Well, I guess 100 lines of code for something a wee bit shy of hello
> world isn't bad. :)
> 
> In general, this looks fine, but probably needs some better commenting
> and probably some messages that make it a bit more clear what is going on.
> 
> It would be _nice_, for instance to try to do some CPUID detection of
> SGX so that the error (or success?) message can tell you whether you're
> missing hardware support or kernel support.
> 
> Thanks for doing this, though.  It's sorely needed.

Great, thanks, I see what I can do.

/Jarkko

Reply via email to