tee: add start argument to shm_register callback
Adds a start argument to the shm_register callback to allow the callback to check memory type of the passed pages. Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
This commit is contained in:
		
							parent
							
								
									ef8e08d24c
								
							
						
					
					
						commit
						95ffe4ca43
					
				| @ -536,7 +536,8 @@ void optee_free_pages_list(void *list, size_t num_entries) | ||||
| } | ||||
| 
 | ||||
| int optee_shm_register(struct tee_context *ctx, struct tee_shm *shm, | ||||
| 		       struct page **pages, size_t num_pages) | ||||
| 		       struct page **pages, size_t num_pages, | ||||
| 		       unsigned long start) | ||||
| { | ||||
| 	struct tee_shm *shm_arg = NULL; | ||||
| 	struct optee_msg_arg *msg_arg; | ||||
| @ -606,7 +607,8 @@ int optee_shm_unregister(struct tee_context *ctx, struct tee_shm *shm) | ||||
| } | ||||
| 
 | ||||
| int optee_shm_register_supp(struct tee_context *ctx, struct tee_shm *shm, | ||||
| 			    struct page **pages, size_t num_pages) | ||||
| 			    struct page **pages, size_t num_pages, | ||||
| 			    unsigned long start) | ||||
| { | ||||
| 	/*
 | ||||
| 	 * We don't want to register supplicant memory in OP-TEE. | ||||
|  | ||||
| @ -173,11 +173,13 @@ void optee_enable_shm_cache(struct optee *optee); | ||||
| void optee_disable_shm_cache(struct optee *optee); | ||||
| 
 | ||||
| int optee_shm_register(struct tee_context *ctx, struct tee_shm *shm, | ||||
| 		       struct page **pages, size_t num_pages); | ||||
| 		       struct page **pages, size_t num_pages, | ||||
| 		       unsigned long start); | ||||
| int optee_shm_unregister(struct tee_context *ctx, struct tee_shm *shm); | ||||
| 
 | ||||
| int optee_shm_register_supp(struct tee_context *ctx, struct tee_shm *shm, | ||||
| 			    struct page **pages, size_t num_pages); | ||||
| 			    struct page **pages, size_t num_pages, | ||||
| 			    unsigned long start); | ||||
| int optee_shm_unregister_supp(struct tee_context *ctx, struct tee_shm *shm); | ||||
| 
 | ||||
| int optee_from_msg_param(struct tee_param *params, size_t num_params, | ||||
|  | ||||
| @ -299,7 +299,7 @@ struct tee_shm *tee_shm_register(struct tee_context *ctx, unsigned long addr, | ||||
| 	} | ||||
| 
 | ||||
| 	rc = teedev->desc->ops->shm_register(ctx, shm, shm->pages, | ||||
| 					     shm->num_pages); | ||||
| 					     shm->num_pages, start); | ||||
| 	if (rc) { | ||||
| 		ret = ERR_PTR(rc); | ||||
| 		goto err; | ||||
|  | ||||
| @ -108,7 +108,8 @@ struct tee_driver_ops { | ||||
| 	int (*supp_send)(struct tee_context *ctx, u32 ret, u32 num_params, | ||||
| 			 struct tee_param *param); | ||||
| 	int (*shm_register)(struct tee_context *ctx, struct tee_shm *shm, | ||||
| 			    struct page **pages, size_t num_pages); | ||||
| 			    struct page **pages, size_t num_pages, | ||||
| 			    unsigned long start); | ||||
| 	int (*shm_unregister)(struct tee_context *ctx, struct tee_shm *shm); | ||||
| }; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user