summaryrefslogtreecommitdiff
path: root/kexec/kexec-uImage.c
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2012-06-16 16:52:15 +0900
committerSimon Horman <horms@verge.net.au>2012-06-18 10:47:04 +0900
commitc423dc9db2d052d997e85e741b16ca919ee3011e (patch)
tree29c305af7e96aadbbf2bc3ac90483bc6b3210089 /kexec/kexec-uImage.c
parent0e4946bc3009e7b9ce6f9d792077eddd7e40cc14 (diff)
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>
Diffstat (limited to 'kexec/kexec-uImage.c')
-rw-r--r--kexec/kexec-uImage.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kexec/kexec-uImage.c b/kexec/kexec-uImage.c
index 83e7910..3bc85c5 100644
--- a/kexec/kexec-uImage.c
+++ b/kexec/kexec-uImage.c
@@ -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;
}