lib/prog_loaders: Store CBFS type in struct prog
Store the type of the loaded program after locating the file and add a method to retrieve the type. Will be used to distinguish between SELF and FIT payloads. Change-Id: Ic226e7e028d722ab9e3c6f7f1c22bde2a1cd8a85 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/26028 Reviewed-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
		
				
					committed by
					
						 Ronald G. Minnich
						Ronald G. Minnich
					
				
			
			
				
	
			
			
			
						parent
						
							d8ec973fd2
						
					
				
				
					commit
					71327fbad8
				
			| @@ -65,6 +65,7 @@ struct prog { | ||||
| 	 * payload. For architectures that use a bounce buffer | ||||
| 	 * then it would represent the bounce buffer. */ | ||||
| 	enum prog_type type; | ||||
| 	uint32_t cbfs_type; | ||||
| 	const char *name; | ||||
| 	struct region_device rdev; | ||||
| 	/* Entry to program with optional argument. It's up to the architecture | ||||
| @@ -89,6 +90,11 @@ static inline enum prog_type prog_type(const struct prog *prog) | ||||
| 	return prog->type; | ||||
| } | ||||
|  | ||||
| static inline uint32_t prog_cbfs_type(const struct prog *prog) | ||||
| { | ||||
| 	return prog->cbfs_type; | ||||
| } | ||||
|  | ||||
| static inline struct region_device *prog_rdev(struct prog *prog) | ||||
| { | ||||
| 	return &prog->rdev; | ||||
|   | ||||
| @@ -44,6 +44,8 @@ int prog_locate(struct prog *prog) | ||||
| 	if (cbfs_boot_locate(&file, prog_name(prog), NULL)) | ||||
| 		return -1; | ||||
|  | ||||
| 	cbfsf_file_type(&file, &prog->cbfs_type); | ||||
|  | ||||
| 	cbfs_file_data(prog_rdev(prog), &file); | ||||
|  | ||||
| 	return 0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user