kexec_file: Change kexec_add_buffer to take kexec_buf as argument.
This is done to simplify the kexec_add_buffer argument list. Adapt all callers to set up a kexec_buf to pass to kexec_add_buffer. In addition, change the type of kexec_buf.buffer from char * to void *. There is no particular reason for it to be a char *, and the change allows us to get rid of 3 existing casts to char * in the code. Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> Acked-by: Dave Young <dyoung@redhat.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
60fe3910bb
commit
ec2b9bfaac
@@ -163,7 +163,7 @@ struct kexec_file_ops {
|
||||
*/
|
||||
struct kexec_buf {
|
||||
struct kimage *image;
|
||||
char *buffer;
|
||||
void *buffer;
|
||||
unsigned long bufsz;
|
||||
unsigned long mem;
|
||||
unsigned long memsz;
|
||||
@@ -175,6 +175,7 @@ struct kexec_buf {
|
||||
|
||||
int __weak arch_kexec_walk_mem(struct kexec_buf *kbuf,
|
||||
int (*func)(u64, u64, void *));
|
||||
extern int kexec_add_buffer(struct kexec_buf *kbuf);
|
||||
#endif /* CONFIG_KEXEC_FILE */
|
||||
|
||||
struct kimage {
|
||||
@@ -239,11 +240,6 @@ extern asmlinkage long sys_kexec_load(unsigned long entry,
|
||||
struct kexec_segment __user *segments,
|
||||
unsigned long flags);
|
||||
extern int kernel_kexec(void);
|
||||
extern int kexec_add_buffer(struct kimage *image, char *buffer,
|
||||
unsigned long bufsz, unsigned long memsz,
|
||||
unsigned long buf_align, unsigned long buf_min,
|
||||
unsigned long buf_max, bool top_down,
|
||||
unsigned long *load_addr);
|
||||
extern struct page *kimage_alloc_control_pages(struct kimage *image,
|
||||
unsigned int order);
|
||||
extern int kexec_load_purgatory(struct kimage *image, unsigned long min,
|
||||
|
Reference in New Issue
Block a user