From patchwork Mon Jun 11 00:00:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andreas_F=C3=A4rber?= X-Patchwork-Id: 164022 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 5E9E9B6FEF for ; Mon, 11 Jun 2012 10:18:06 +1000 (EST) Received: from localhost ([::1]:40277 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sds5i-0003rP-Kc for incoming@patchwork.ozlabs.org; Sun, 10 Jun 2012 20:02:42 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34493) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sds4d-0002fe-U3 for qemu-devel@nongnu.org; Sun, 10 Jun 2012 20:01:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sds4b-0006Pc-BR for qemu-devel@nongnu.org; Sun, 10 Jun 2012 20:01:35 -0400 Received: from cantor2.suse.de ([195.135.220.15]:43986 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sds4a-0006PM-UI for qemu-devel@nongnu.org; Sun, 10 Jun 2012 20:01:33 -0400 Received: from relay2.suse.de (unknown [195.135.220.254]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id B7C7E90349; Mon, 11 Jun 2012 02:01:31 +0200 (CEST) From: =?UTF-8?q?Andreas=20F=C3=A4rber?= To: qemu-devel@nongnu.org Date: Mon, 11 Jun 2012 02:00:53 +0200 Message-Id: <1339372859-30148-22-git-send-email-afaerber@suse.de> X-Mailer: git-send-email 1.7.7 In-Reply-To: <1339372859-30148-1-git-send-email-afaerber@suse.de> References: <1339372859-30148-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 195.135.220.15 Cc: Peter Maydell , Igor Mitsyanko , Evgeny Voevodin , Mark Langsdorf , Peter Crosthwaite , Jan Kiszka , Dmitry Solodkiy , Maksim Kozlov , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Paul Brook Subject: [Qemu-devel] [PATCH 21/27] arm_boot: Pass ARMCPU to arm_load_kernel() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org In particular this simplifies the &s->mpu->cpu->env expression again. first_cpu and ->next_cpu are expected to be QOM'ified later. Signed-off-by: Andreas Färber Acked-by: Igor Mitsyanko (for exynos) Acked-by: Peter Maydell --- hw/arm-misc.h | 2 +- hw/arm_boot.c | 4 ++-- hw/collie.c | 2 +- hw/exynos4_boards.c | 4 ++-- hw/highbank.c | 2 +- hw/integratorcp.c | 2 +- hw/mainstone.c | 2 +- hw/musicpal.c | 2 +- hw/nseries.c | 2 +- hw/omap_sx1.c | 2 +- hw/palm.c | 2 +- hw/realview.c | 2 +- hw/spitz.c | 2 +- hw/tosa.c | 2 +- hw/versatilepb.c | 2 +- hw/vexpress.c | 2 +- hw/xilinx_zynq.c | 2 +- hw/z2.c | 2 +- 18 files changed, 20 insertions(+), 20 deletions(-) diff --git a/hw/arm-misc.h b/hw/arm-misc.h index bbd6fd3..b7f4c32 100644 --- a/hw/arm-misc.h +++ b/hw/arm-misc.h @@ -59,7 +59,7 @@ struct arm_boot_info { target_phys_addr_t initrd_size; target_phys_addr_t entry; }; -void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info); +void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info *info); /* Multiplication factor to convert from system clock ticks to qemu timer ticks. */ diff --git a/hw/arm_boot.c b/hw/arm_boot.c index 8eabfb2..d0e643b 100644 --- a/hw/arm_boot.c +++ b/hw/arm_boot.c @@ -303,9 +303,9 @@ static void do_cpu_reset(void *opaque) } } -void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info) +void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info *info) { - ARMCPU *cpu = arm_env_get_cpu(env); + CPUARMState *env = &cpu->env; int kernel_size; int initrd_size; int n; diff --git a/hw/collie.c b/hw/collie.c index e6f8dbf..56f89a9 100644 --- a/hw/collie.c +++ b/hw/collie.c @@ -54,7 +54,7 @@ static void collie_init(ram_addr_t ram_size, collie_binfo.kernel_cmdline = kernel_cmdline; collie_binfo.initrd_filename = initrd_filename; collie_binfo.board_id = 0x208; - arm_load_kernel(&s->cpu->env, &collie_binfo); + arm_load_kernel(s->cpu, &collie_binfo); } static QEMUMachine collie_machine = { diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c index ea32c51..e5c2a5f 100644 --- a/hw/exynos4_boards.c +++ b/hw/exynos4_boards.c @@ -138,7 +138,7 @@ static void nuri_init(ram_addr_t ram_size, exynos4_boards_init_common(kernel_filename, kernel_cmdline, initrd_filename, EXYNOS4_BOARD_NURI); - arm_load_kernel(first_cpu, &exynos4_board_binfo); + arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo); } static void smdkc210_init(ram_addr_t ram_size, @@ -151,7 +151,7 @@ static void smdkc210_init(ram_addr_t ram_size, lan9215_init(SMDK_LAN9118_BASE_ADDR, qemu_irq_invert(s->irq_table[exynos4210_get_irq(37, 1)])); - arm_load_kernel(first_cpu, &exynos4_board_binfo); + arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo); } static QEMUMachine exynos4_machines[EXYNOS4_NUM_OF_BOARDS] = { diff --git a/hw/highbank.c b/hw/highbank.c index 66ff042..a3901b0 100644 --- a/hw/highbank.c +++ b/hw/highbank.c @@ -318,7 +318,7 @@ static void highbank_init(ram_addr_t ram_size, highbank_binfo.loader_start = 0; highbank_binfo.write_secondary_boot = hb_write_secondary; highbank_binfo.secondary_cpu_reset_hook = hb_reset_secondary; - arm_load_kernel(first_cpu, &highbank_binfo); + arm_load_kernel(arm_env_get_cpu(first_cpu), &highbank_binfo); } static QEMUMachine highbank_machine = { diff --git a/hw/integratorcp.c b/hw/integratorcp.c index 46fd09d..e927012 100644 --- a/hw/integratorcp.c +++ b/hw/integratorcp.c @@ -502,7 +502,7 @@ static void integratorcp_init(ram_addr_t ram_size, integrator_binfo.kernel_filename = kernel_filename; integrator_binfo.kernel_cmdline = kernel_cmdline; integrator_binfo.initrd_filename = initrd_filename; - arm_load_kernel(&cpu->env, &integrator_binfo); + arm_load_kernel(cpu, &integrator_binfo); } static QEMUMachine integratorcp_machine = { diff --git a/hw/mainstone.c b/hw/mainstone.c index 17c68f6..97687b6 100644 --- a/hw/mainstone.c +++ b/hw/mainstone.c @@ -168,7 +168,7 @@ static void mainstone_common_init(MemoryRegion *address_space_mem, mainstone_binfo.kernel_cmdline = kernel_cmdline; mainstone_binfo.initrd_filename = initrd_filename; mainstone_binfo.board_id = arm_id; - arm_load_kernel(&mpu->cpu->env, &mainstone_binfo); + arm_load_kernel(mpu->cpu, &mainstone_binfo); } static void mainstone_init(ram_addr_t ram_size, diff --git a/hw/musicpal.c b/hw/musicpal.c index b7fed39..cef847e 100644 --- a/hw/musicpal.c +++ b/hw/musicpal.c @@ -1651,7 +1651,7 @@ static void musicpal_init(ram_addr_t ram_size, musicpal_binfo.kernel_filename = kernel_filename; musicpal_binfo.kernel_cmdline = kernel_cmdline; musicpal_binfo.initrd_filename = initrd_filename; - arm_load_kernel(&cpu->env, &musicpal_binfo); + arm_load_kernel(cpu, &musicpal_binfo); } static QEMUMachine musicpal_machine = { diff --git a/hw/nseries.c b/hw/nseries.c index b199cb9..fcc8546 100644 --- a/hw/nseries.c +++ b/hw/nseries.c @@ -1329,7 +1329,7 @@ static void n8x0_init(ram_addr_t ram_size, const char *boot_device, binfo->kernel_filename = kernel_filename; binfo->kernel_cmdline = kernel_cmdline; binfo->initrd_filename = initrd_filename; - arm_load_kernel(&s->mpu->cpu->env, binfo); + arm_load_kernel(s->mpu->cpu, binfo); qemu_register_reset(n8x0_boot_init, s); } diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c index b64e1eb..abca341 100644 --- a/hw/omap_sx1.c +++ b/hw/omap_sx1.c @@ -202,7 +202,7 @@ static void sx1_init(ram_addr_t ram_size, sx1_binfo.kernel_filename = kernel_filename; sx1_binfo.kernel_cmdline = kernel_cmdline; sx1_binfo.initrd_filename = initrd_filename; - arm_load_kernel(&mpu->cpu->env, &sx1_binfo); + arm_load_kernel(mpu->cpu, &sx1_binfo); } /* TODO: fix next line */ diff --git a/hw/palm.c b/hw/palm.c index 1375b19..bacdc90 100644 --- a/hw/palm.c +++ b/hw/palm.c @@ -265,7 +265,7 @@ static void palmte_init(ram_addr_t ram_size, palmte_binfo.kernel_filename = kernel_filename; palmte_binfo.kernel_cmdline = kernel_cmdline; palmte_binfo.initrd_filename = initrd_filename; - arm_load_kernel(&mpu->cpu->env, &palmte_binfo); + arm_load_kernel(mpu->cpu, &palmte_binfo); } /* FIXME: We shouldn't really be doing this here. The LCD controller diff --git a/hw/realview.c b/hw/realview.c index 583993c..38085f1 100644 --- a/hw/realview.c +++ b/hw/realview.c @@ -327,7 +327,7 @@ static void realview_init(ram_addr_t ram_size, realview_binfo.nb_cpus = smp_cpus; realview_binfo.board_id = realview_board_id[board_type]; realview_binfo.loader_start = (board_type == BOARD_PB_A8 ? 0x70000000 : 0); - arm_load_kernel(first_cpu, &realview_binfo); + arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo); } static void realview_eb_init(ram_addr_t ram_size, diff --git a/hw/spitz.c b/hw/spitz.c index d320633..20e7835 100644 --- a/hw/spitz.c +++ b/hw/spitz.c @@ -932,7 +932,7 @@ static void spitz_common_init(ram_addr_t ram_size, spitz_binfo.kernel_cmdline = kernel_cmdline; spitz_binfo.initrd_filename = initrd_filename; spitz_binfo.board_id = arm_id; - arm_load_kernel(&mpu->cpu->env, &spitz_binfo); + arm_load_kernel(mpu->cpu, &spitz_binfo); sl_bootparam_write(SL_PXA_PARAM_BASE); } diff --git a/hw/tosa.c b/hw/tosa.c index 8bae80d..297a8c2 100644 --- a/hw/tosa.c +++ b/hw/tosa.c @@ -242,7 +242,7 @@ static void tosa_init(ram_addr_t ram_size, tosa_binfo.kernel_cmdline = kernel_cmdline; tosa_binfo.initrd_filename = initrd_filename; tosa_binfo.board_id = 0x208; - arm_load_kernel(&mpu->cpu->env, &tosa_binfo); + arm_load_kernel(mpu->cpu, &tosa_binfo); sl_bootparam_write(SL_PXA_PARAM_BASE); } diff --git a/hw/versatilepb.c b/hw/versatilepb.c index d567af9..ed54fdd 100644 --- a/hw/versatilepb.c +++ b/hw/versatilepb.c @@ -339,7 +339,7 @@ static void versatile_init(ram_addr_t ram_size, versatile_binfo.kernel_cmdline = kernel_cmdline; versatile_binfo.initrd_filename = initrd_filename; versatile_binfo.board_id = board_id; - arm_load_kernel(&cpu->env, &versatile_binfo); + arm_load_kernel(cpu, &versatile_binfo); } static void vpb_init(ram_addr_t ram_size, diff --git a/hw/vexpress.c b/hw/vexpress.c index e957f43..4797c6a 100644 --- a/hw/vexpress.c +++ b/hw/vexpress.c @@ -438,7 +438,7 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard, vexpress_binfo.smp_loader_start = map[VE_SRAM]; vexpress_binfo.smp_bootreg_addr = map[VE_SYSREGS] + 0x30; vexpress_binfo.gic_cpu_if_addr = daughterboard->gic_cpu_if_addr; - arm_load_kernel(first_cpu, &vexpress_binfo); + arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo); } static void vexpress_a9_init(ram_addr_t ram_size, diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c index 68349e2..11026cb 100644 --- a/hw/xilinx_zynq.c +++ b/hw/xilinx_zynq.c @@ -137,7 +137,7 @@ static void zynq_init(ram_addr_t ram_size, const char *boot_device, zynq_binfo.nb_cpus = 1; zynq_binfo.board_id = 0xd32; zynq_binfo.loader_start = 0; - arm_load_kernel(first_cpu, &zynq_binfo); + arm_load_kernel(arm_env_get_cpu(first_cpu), &zynq_binfo); } static QEMUMachine zynq_machine = { diff --git a/hw/z2.c b/hw/z2.c index db25cdc..289cee9 100644 --- a/hw/z2.c +++ b/hw/z2.c @@ -363,7 +363,7 @@ static void z2_init(ram_addr_t ram_size, z2_binfo.kernel_cmdline = kernel_cmdline; z2_binfo.initrd_filename = initrd_filename; z2_binfo.board_id = 0x6dd; - arm_load_kernel(&mpu->cpu->env, &z2_binfo); + arm_load_kernel(mpu->cpu, &z2_binfo); } }