On 09/06/2010 04:12 PM, Daniel Lezcano wrote:
Hi all,
after compiling my kernel on the arm architecture I was not able to
start it because qemu was segfaulting or going to an infinite loop.
After google'ing I found on launchpad the bug:
https://bugs.launchpad.net/ubuntu/+source/linux
Instead of hardcoding a default value for initrd, let's compute
dynamically from the kernel load address and its size.
We go one page after the end of the kernel.
Signed-off-by: Daniel Lezcano
---
hw/arm-misc.h |1 +
hw/arm_boot.c | 19 ---
2 files changed, 9 inser
'initrd_size' and 'base' are already present in the 'info' structure,
passing them as parameter is redundant with the first parameter.
Signed-off-by: Daniel Lezcano
---
hw/arm_boot.c | 26 ++
1 files changed, 10 insertions(+), 16
is an overlapping error.
But the two next patches makes to compute automatically an address
for initrd to loaded.
Daniel Lezcano (3):
arm : raise an error if the kernel size will overlap the initrd
arm : factor out set_kernel_args[_old]
arm : make initrd load address dynamic
hw/arm-misc.h |
If the kernel size is too big, it overwrite the initrd image in memory
without detecting the problem. Let't detect this error and exit gracefully.
Signed-off-by: Daniel Lezcano
---
hw/arm_boot.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/hw/arm_boot.c