mirror of
				https://github.com/meizu-m86/kexec-tools-arm64
				synced 2025-11-04 13:56:01 +08:00 
			
		
		
		
	Support kernel_noload uImage type
Do not trigger an error when loading a uImage with the IH_TYPE_KERNEL_NOLOAD type. These images do not need to be copied to their load address before being executed. All archs (excepted PPC) do not use the uImage load and entry point parameters, so their current behavior needs not be changed further than just accepting the image type. Tested and validated on ARM. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
		
				
					committed by
					
						
						Simon Horman
					
				
			
			
				
	
			
			
			
						parent
						
							0e4946bc30
						
					
				
				
					commit
					c423dc9db2
				
			@@ -129,6 +129,8 @@
 | 
			
		||||
#define IH_TYPE_FILESYSTEM	7	/* Filesystem Image (any type)	*/
 | 
			
		||||
#define IH_TYPE_FLATDT		8	/* Binary Flat Device Tree Blob	*/
 | 
			
		||||
#define IH_TYPE_KWBIMAGE	9	/* Kirkwood Boot Image		*/
 | 
			
		||||
#define IH_TYPE_KERNEL_NOLOAD	14	/* OS Kernel Image, can run     */
 | 
			
		||||
					/* from any load address	*/
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Compression Types
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,11 @@ int uImage_probe(const unsigned char *buf, off_t len, unsigned int arch)
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
	if (header.ih_type != IH_TYPE_KERNEL) {
 | 
			
		||||
	switch (header.ih_type) {
 | 
			
		||||
	case IH_TYPE_KERNEL:
 | 
			
		||||
	case IH_TYPE_KERNEL_NOLOAD:
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		printf("uImage type %d unsupported\n", header.ih_type);
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user