[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 10/16] hw/arm/raspi: Use AddressSpace when using arm_boot:
From: |
Alistair Francis |
Subject: |
Re: [PATCH v3 10/16] hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot |
Date: |
Mon, 21 Oct 2019 16:22:13 -0700 |
On Sat, Oct 19, 2019 at 4:56 PM Philippe Mathieu-Daudé <address@hidden> wrote:
>
> write_secondary_boot() is used in SMP configurations where the
> CPU address space might not be the main System Bus.
> The rom_add_blob_fixed_as() function allow us to specify an
> address space. Use it to write each boot blob in the corresponding
> CPU address space.
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Alistair
> ---
> hw/arm/raspi.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index a12459bc41..569d85c11a 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -60,12 +60,14 @@ static void write_smpboot(ARMCPU *cpu, const struct
> arm_boot_info *info)
> QEMU_BUILD_BUG_ON((BOARDSETUP_ADDR & 0xf) != 0
> || (BOARDSETUP_ADDR >> 4) >= 0x100);
>
> - rom_add_blob_fixed("raspi_smpboot", smpboot, sizeof(smpboot),
> - info->smp_loader_start);
> + rom_add_blob_fixed_as("raspi_smpboot", smpboot, sizeof(smpboot),
> + info->smp_loader_start,
> + arm_boot_address_space(cpu, info));
> }
>
> static void write_smpboot64(ARMCPU *cpu, const struct arm_boot_info *info)
> {
> + AddressSpace *as = arm_boot_address_space(cpu, info);
> /* Unlike the AArch32 version we don't need to call the board setup hook.
> * The mechanism for doing the spin-table is also entirely different.
> * We must have four 64-bit fields at absolute addresses
> @@ -92,10 +94,10 @@ static void write_smpboot64(ARMCPU *cpu, const struct
> arm_boot_info *info)
> 0, 0, 0, 0
> };
>
> - rom_add_blob_fixed("raspi_smpboot", smpboot, sizeof(smpboot),
> - info->smp_loader_start);
> - rom_add_blob_fixed("raspi_spintables", spintables, sizeof(spintables),
> - SPINTABLE_ADDR);
> + rom_add_blob_fixed_as("raspi_smpboot", smpboot, sizeof(smpboot),
> + info->smp_loader_start, as);
> + rom_add_blob_fixed_as("raspi_spintables", spintables, sizeof(spintables),
> + SPINTABLE_ADDR, as);
> }
>
> static void write_board_setup(ARMCPU *cpu, const struct arm_boot_info *info)
> --
> 2.21.0
>
>
- [PATCH v3 05/16] hw/arm/bcm2836: Make the SoC code modular, (continued)
- [PATCH v3 05/16] hw/arm/bcm2836: Make the SoC code modular, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 06/16] hw/arm/bcm2836: Rename cpus[] as cpu[].core, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 08/16] hw/arm/bcm2835_peripherals: Add const link property in realize(), Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 07/16] hw/arm/bcm2836: Use per CPU address spaces, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 09/16] hw/arm/bcm2836: Create VideoCore address space in the SoC, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 10/16] hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot, Philippe Mathieu-Daudé, 2019/10/19
- Re: [PATCH v3 10/16] hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot,
Alistair Francis <=
- [PATCH v3 11/16] hw/arm/raspi: Use -smp cores=<N> option to restrict enabled cores, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 12/16] hw/arm/bcm2836: Rename enabled_cpus -> enabled_cores, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 13/16] hw/arm/raspi: Make the board code modular, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 15/16] python/qemu/machine: Allow to use other serial consoles than default, Philippe Mathieu-Daudé, 2019/10/19
- [PATCH v3 14/16] hw/arm/highbank: Use AddressSpace when using write_secondary_boot(), Philippe Mathieu-Daudé, 2019/10/19
- [PATCH NOTFORMERGE v3 16/16] tests/acceptance: Test U-boot on the Raspberry Pi 3, Philippe Mathieu-Daudé, 2019/10/19
- Re: [PATCH v3 00/16] hw/arm/raspi: Add thermal/timer, improve address space, run U-boot, Peter Maydell, 2019/10/24