/* * Copyright (C) 2016 Imagination Technologies * Author: Marcin Nowakowski <marcin.nowakowski@mips.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ #include <linux/kexec.h> #include <linux/libfdt.h> #include <linux/uaccess.h>
static int generic_kexec_prepare(struct kimage *image) { int i; for (i = 0; i < image->nr_segments; i++) { struct fdt_header fdt; if (image->segment[i].memsz <= sizeof(fdt)) continue; if (copy_from_user(&fdt, image->segment[i].buf, sizeof(fdt))) continue; if (fdt_check_header(&fdt)) continue; kexec_args[0] = -2; kexec_args[1] = (unsigned long) phys_to_virt((unsigned long)image->segment[i].mem); break; } return 0; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Marcin Nowakowski | 121 | 100.00% | 1 | 100.00% |
Total | 121 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Marcin Nowakowski | 16 | 100.00% | 1 | 100.00% |
Total | 16 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Marcin Nowakowski | 152 | 100.00% | 2 | 100.00% |
Total | 152 | 100.00% | 2 | 100.00% |