[PATCH kexec-tools 5/5] entry wants to be void *
Milton Miller
miltonm at bga.com
Fri Jan 2 16:04:51 EST 2009
The kexec info struct defines entry to be a void *, so pass around the
user supplied value as one.
This fixes the following warning:
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc64/include -c -MD -o kexec/kexec.o kexec/kexec.c
kexec/kexec.c: In function âmy_loadâ:
kexec/kexec.c:773: warning: assignment makes pointer from integer without a cast
Signed-off-by: Milton Miller <miltonm at bga.com>
---
Index: kexec-tools/kexec/kexec.c
===================================================================
--- kexec-tools.orig/kexec/kexec.c 2009-01-02 02:54:37.000000000 -0600
+++ kexec-tools/kexec/kexec.c 2009-01-02 02:55:06.000000000 -0600
@@ -666,7 +666,7 @@ static void update_purgatory(struct kexe
* Load the new kernel
*/
static int my_load(const char *type, int fileind, int argc, char **argv,
- unsigned long kexec_flags, unsigned long entry)
+ unsigned long kexec_flags, void *entry)
{
char *kernel;
char *kernel_buf;
@@ -846,23 +846,20 @@ static int my_exec(void)
static int kexec_loaded(void);
-static int load_jump_back_helper_image(unsigned long kexec_flags,
- unsigned long entry)
+static int load_jump_back_helper_image(unsigned long kexec_flags, void *entry)
{
int result;
struct kexec_segment seg;
memset(&seg, 0, sizeof(seg));
- result = kexec_load((void *)entry, 1, &seg,
- kexec_flags);
+ result = kexec_load(entry, 1, &seg, kexec_flags);
return result;
}
/*
* Jump back to the original kernel
*/
-static int my_load_jump_back_helper(unsigned long kexec_flags,
- unsigned long entry)
+static int my_load_jump_back_helper(unsigned long kexec_flags, void *entry)
{
int result;
@@ -1036,7 +1033,7 @@ int main(int argc, char *argv[])
int do_ifdown = 0;
int do_unload = 0;
int do_reuse_initrd = 0;
- unsigned long entry = 0;
+ void *entry = 0;
char *type = 0;
char *endptr;
int opt;
@@ -1096,7 +1093,7 @@ int main(int argc, char *argv[])
kexec_flags = KEXEC_PRESERVE_CONTEXT;
break;
case OPT_ENTRY:
- entry = strtoul(optarg, &endptr, 0);
+ entry = (void *)strtoul(optarg, &endptr, 0);
if (*endptr) {
fprintf(stderr,
"Bad option value in --load-jump-back-helper=%s\n",
More information about the kexec
mailing list