lib/boot_device: Add API for write protect a region
Add API that should be implemented by the boot media drivers for write-protecting a subregion. Change-Id: I4c9376e2c2c7a4852f13c65824c6cd64a1c6ac0a Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com> Reviewed-on: https://review.coreboot.org/c/28724 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
		
				
					committed by
					
						 Patrick Georgi
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							f9f5093644
						
					
				
				
					commit
					6d4c1f5f43
				
			| @@ -18,6 +18,22 @@ | ||||
|  | ||||
| #include <commonlib/region.h> | ||||
|  | ||||
| /* | ||||
|  * Boot device region can be protected by 2 sources, media and controller. | ||||
|  * The following modes are identified. It depends on the flash chip and the | ||||
|  * controller if mode is actually supported. | ||||
|  * | ||||
|  * MEDIA_WP : Flash/Boot device enforces write protect | ||||
|  * CTRLR_WP : Controller device enforces write protect | ||||
|  * CTRLR_RP : Controller device enforces read protect | ||||
|  * CTRLR_RWP : Controller device enforces read-write protect | ||||
|  */ | ||||
| enum bootdev_prot_type { | ||||
| 	CTRLR_WP = 1, | ||||
| 	CTRLR_RP = 2, | ||||
| 	CTRLR_RWP = 3, | ||||
| 	MEDIA_WP = 4, | ||||
| }; | ||||
| /* | ||||
|  * Please note that the read-only boot device may not be coherent with | ||||
|  * the read-write boot device. Thus, mixing mmap() and writeat() is | ||||
| @@ -44,6 +60,14 @@ int boot_device_ro_subregion(const struct region *sub, | ||||
| int boot_device_rw_subregion(const struct region *sub, | ||||
| 				struct region_device *subrd); | ||||
|  | ||||
| /* | ||||
|  * Write protect a sub-region of the boot device represented | ||||
|  * by the region device. | ||||
|  * Returns 0 on success, < 0 on error. | ||||
|  */ | ||||
| int boot_device_wp_region(struct region_device *rd, | ||||
| 				const enum bootdev_prot_type type); | ||||
|  | ||||
| /* | ||||
|  * Initialize the boot device. This may be called multiple times within | ||||
|  * a stage so boot device implementations should account for this behavior. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user