[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/arm/boot: Don't set up ATAGS for autogenerat
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH] hw/arm/boot: Don't set up ATAGS for autogenerated dtb booting |
Date: |
Tue, 31 Dec 2013 06:31:11 +1000 |
On Mon, Dec 30, 2013 at 12:20 AM, Peter Maydell
<address@hidden> wrote:
> The code which decides whether to set up the ATAGS data structure on
> reset was using the wrong conditional, which meant we were creating
> an ATAGS structure when doing a device-tree boot if the dtb was
> autogenerated by the board. This is harmless, but unnecessary, so
> bring it in to line with user-provided-dtb boots.
>
> Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
> ---
> hw/arm/boot.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/hw/arm/boot.c b/hw/arm/boot.c
> index 1c1b0e5..4036262 100644
> --- a/hw/arm/boot.c
> +++ b/hw/arm/boot.c
> @@ -173,6 +173,11 @@ static void default_reset_secondary(ARMCPU *cpu,
> env->regs[15] = info->smp_loader_start;
> }
>
> +static inline bool have_dtb(const struct arm_boot_info *info)
> +{
> + return info->dtb_filename || info->get_dtb;
> +}
> +
> #define WRITE_WORD(p, value) do { \
> stl_phys_notdirty(p, value); \
> p += 4; \
> @@ -421,7 +426,7 @@ static void do_cpu_reset(void *opaque)
> env->regs[15] = info->loader_start;
> }
>
> - if (!info->dtb_filename) {
> + if (!have_dtb(info)) {
> if (old_param) {
> set_kernel_args_old(info);
> } else {
> @@ -542,7 +547,7 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info
> *info)
> /* for device tree boot, we pass the DTB directly in r2. Otherwise
> * we point to the kernel args.
> */
> - if (info->dtb_filename || info->get_dtb) {
> + if (have_dtb(info)) {
> /* Place the DTB after the initrd in memory. Note that some
> * kernels will trash anything in the 4K page the initrd
> * ends in, so make sure the DTB isn't caught up in that.
> --
> 1.8.5
>
>