mirror of https://github.com/xemu-project/xemu.git
arm_boot: Pass ARMCPU to arm_boot_info::write_secondary_boot()
Adapt exynos4210 and highbank accordingly. The parameter itself is unused. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Igor Mitsyanko <i.mitsyanko@samsung.com> (for exynos)
This commit is contained in:
parent
20e93374e9
commit
9543b0cdd6
|
@ -50,7 +50,7 @@ struct arm_boot_info {
|
||||||
* perform any necessary CPU reset handling and set the PC for thei
|
* perform any necessary CPU reset handling and set the PC for thei
|
||||||
* secondary CPUs to point at this boot blob.
|
* secondary CPUs to point at this boot blob.
|
||||||
*/
|
*/
|
||||||
void (*write_secondary_boot)(CPUARMState *env,
|
void (*write_secondary_boot)(ARMCPU *cpu,
|
||||||
const struct arm_boot_info *info);
|
const struct arm_boot_info *info);
|
||||||
void (*secondary_cpu_reset_hook)(CPUARMState *env,
|
void (*secondary_cpu_reset_hook)(CPUARMState *env,
|
||||||
const struct arm_boot_info *info);
|
const struct arm_boot_info *info);
|
||||||
|
|
|
@ -59,7 +59,7 @@ static uint32_t smpboot[] = {
|
||||||
0 /* bootreg: Boot register address is held here */
|
0 /* bootreg: Boot register address is held here */
|
||||||
};
|
};
|
||||||
|
|
||||||
static void default_write_secondary(CPUARMState *env,
|
static void default_write_secondary(ARMCPU *cpu,
|
||||||
const struct arm_boot_info *info)
|
const struct arm_boot_info *info)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
@ -303,7 +303,7 @@ static void do_cpu_reset(void *opaque)
|
||||||
|
|
||||||
void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info)
|
void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info)
|
||||||
{
|
{
|
||||||
ARMCPU *cpu;
|
ARMCPU *cpu = arm_env_get_cpu(env);
|
||||||
int kernel_size;
|
int kernel_size;
|
||||||
int initrd_size;
|
int initrd_size;
|
||||||
int n;
|
int n;
|
||||||
|
@ -402,7 +402,7 @@ void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info)
|
||||||
rom_add_blob_fixed("bootloader", bootloader, sizeof(bootloader),
|
rom_add_blob_fixed("bootloader", bootloader, sizeof(bootloader),
|
||||||
info->loader_start);
|
info->loader_start);
|
||||||
if (info->nb_cpus > 1) {
|
if (info->nb_cpus > 1) {
|
||||||
info->write_secondary_boot(env, info);
|
info->write_secondary_boot(cpu, info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
info->is_linux = is_linux;
|
info->is_linux = is_linux;
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
static uint8_t chipid_and_omr[] = { 0x11, 0x02, 0x21, 0x43,
|
static uint8_t chipid_and_omr[] = { 0x11, 0x02, 0x21, 0x43,
|
||||||
0x09, 0x00, 0x00, 0x00 };
|
0x09, 0x00, 0x00, 0x00 };
|
||||||
|
|
||||||
void exynos4210_write_secondary(CPUARMState *env,
|
void exynos4210_write_secondary(ARMCPU *cpu,
|
||||||
const struct arm_boot_info *info)
|
const struct arm_boot_info *info)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
|
|
@ -97,7 +97,7 @@ typedef struct Exynos4210State {
|
||||||
MemoryRegion bootreg_mem;
|
MemoryRegion bootreg_mem;
|
||||||
} Exynos4210State;
|
} Exynos4210State;
|
||||||
|
|
||||||
void exynos4210_write_secondary(CPUARMState *env,
|
void exynos4210_write_secondary(ARMCPU *cpu,
|
||||||
const struct arm_boot_info *info);
|
const struct arm_boot_info *info);
|
||||||
|
|
||||||
Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
|
Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
/* Board init. */
|
/* Board init. */
|
||||||
|
|
||||||
static void hb_write_secondary(CPUARMState *env, const struct arm_boot_info *info)
|
static void hb_write_secondary(ARMCPU *cpu, const struct arm_boot_info *info)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
uint32_t smpboot[] = {
|
uint32_t smpboot[] = {
|
||||||
|
|
Loading…
Reference in New Issue