Lines Matching refs:enclave
237 sgx_va_slot_init(struct sgx_softc *sc, struct sgx_enclave *enclave, in sgx_va_slot_init() argument
245 object = enclave->object; in sgx_va_slot_init()
300 struct sgx_enclave *enclave; in sgx_enclave_find() local
315 enclave = vmh->enclave; in sgx_enclave_find()
316 if (enclave == NULL || enclave->object == NULL) { in sgx_enclave_find()
321 *encl = enclave; in sgx_enclave_find()
330 struct sgx_enclave *enclave; in sgx_enclave_alloc() local
332 enclave = malloc(sizeof(struct sgx_enclave), in sgx_enclave_alloc()
335 enclave->base = secs->base; in sgx_enclave_alloc()
336 enclave->size = secs->size; in sgx_enclave_alloc()
338 *enclave0 = enclave; in sgx_enclave_alloc()
379 struct sgx_enclave *enclave) in sgx_enclave_remove() argument
386 TAILQ_REMOVE(&sc->enclaves, enclave, next); in sgx_enclave_remove()
389 object = enclave->object; in sgx_enclave_remove()
581 if (vmh->enclave == NULL) { in sgx_pg_dtor()
586 sgx_enclave_remove(sc, vmh->enclave); in sgx_pg_dtor()
588 free(vmh->enclave, M_SGX); in sgx_pg_dtor()
622 sgx_insert_epc_page(struct sgx_enclave *enclave, struct epc_page *epc, in sgx_insert_epc_page() argument
628 VM_OBJECT_ASSERT_WLOCKED(enclave->object); in sgx_insert_epc_page()
633 sgx_insert_epc_page_by_index(page, enclave->object, pidx, pages); in sgx_insert_epc_page()
645 struct sgx_enclave *enclave; in sgx_ioctl_create() local
654 enclave = NULL; in sgx_ioctl_create()
688 ret = sgx_enclave_alloc(sc, secs, &enclave); in sgx_ioctl_create()
693 enclave->object = object; in sgx_ioctl_create()
694 enclave->vmh = vmh; in sgx_ioctl_create()
708 enclave->secs_epc_page = epc; in sgx_ioctl_create()
732 p = vm_page_grab(enclave->object, in sgx_ioctl_create()
746 p = vm_page_grab(enclave->object, in sgx_ioctl_create()
754 TAILQ_INSERT_TAIL(&sc->enclaves, enclave, next); in sgx_ioctl_create()
757 vmh->enclave = enclave; in sgx_ioctl_create()
760 sgx_insert_epc_page_by_index(page, enclave->object, in sgx_ioctl_create()
775 free(enclave, M_SGX); in sgx_ioctl_create()
787 struct sgx_enclave *enclave; in sgx_ioctl_add_page() local
806 ret = sgx_enclave_find(sc, addp->addr, &enclave); in sgx_ioctl_add_page()
812 object = enclave->object; in sgx_ioctl_add_page()
867 ret = sgx_va_slot_init(sc, enclave, pidx, &pages); in sgx_ioctl_add_page()
874 secs_epc_page = enclave->secs_epc_page; in sgx_ioctl_add_page()
891 ret = sgx_measure_page(sc, enclave->secs_epc_page, epc, addp->mrmask); in sgx_ioctl_add_page()
899 sgx_insert_epc_page(enclave, epc, addr, &pages); in sgx_ioctl_add_page()
922 struct sgx_enclave *enclave; in sgx_ioctl_init() local
939 ret = sgx_enclave_find(sc, initp->addr, &enclave); in sgx_ioctl_init()
945 object = enclave->object; in sgx_ioctl_init()
965 secs_epc_page = enclave->secs_epc_page; in sgx_ioctl_init()