This patch adds a new way of implementing flash access for libpayload. Until now all reads had to be performed using cbfs_media, which is obsolete. From now on all reads should be performed using boot_device_read(). This patch also provides a default implementation of boot_device_read() for x86 architecture. Change-Id: I1babd2a8414ed9de3ca49903fcb4f036997b5ff3 Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/59492 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
		
			
				
	
	
		
			23 lines
		
	
	
		
			841 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			841 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: BSD-3-Clause */
 | |
| 
 | |
| #ifndef _BOOT_DEVICE_H
 | |
| #define _BOOT_DEVICE_H
 | |
| 
 | |
| #include <stddef.h>
 | |
| 
 | |
| /**
 | |
|  * This is a boot device access function, which is used by libpayload to read data from
 | |
|  * the flash memory (or other boot device). It has to be implemented by payloads that want
 | |
|  * to use FMAP or libcbfs.
 | |
|  *
 | |
|  * @param buf The output buffer to which the data should be written to.
 | |
|  * @param offset Absolute offset in bytes of the requested boot device memory area. Not aligned.
 | |
|  * @param size Size in bytes of the requested boot device memory area. Not aligned.
 | |
|  *
 | |
|  * @returns Number of bytes returned to the buffer, or negative value on error. Typically should
 | |
|  *          be equal to the `size`, and not aligned forcefully.
 | |
|  */
 | |
| ssize_t boot_device_read(void *buf, size_t offset, size_t size);
 | |
| 
 | |
| #endif /* _BOOT_DEVICE_H */
 |