diff --git a/hw/sharpsl.h b/hw/sharpsl.h index 184aae6cdb..4d5cee98da 100644 --- a/hw/sharpsl.h +++ b/hw/sharpsl.h @@ -18,6 +18,6 @@ void scoop_gpio_out_set(struct scoop_info_s *s, int line, qemu_irq handler); #define SL_PXA_PARAM_BASE 0xa0000a00 -void sl_bootparam_write(uint32_t ptr); +void sl_bootparam_write(target_phys_addr_t ptr); #endif diff --git a/hw/spitz.c b/hw/spitz.c index ac844bddf7..6a15c78192 100644 --- a/hw/spitz.c +++ b/hw/spitz.c @@ -965,7 +965,7 @@ static void spitz_common_init(ram_addr_t ram_size, int vga_ram_size, spitz_binfo.initrd_filename = initrd_filename; spitz_binfo.board_id = arm_id; arm_load_kernel(cpu->env, &spitz_binfo); - sl_bootparam_write(SL_PXA_PARAM_BASE - PXA2XX_SDRAM_BASE); + sl_bootparam_write(SL_PXA_PARAM_BASE); } static void spitz_init(ram_addr_t ram_size, int vga_ram_size, diff --git a/hw/tosa.c b/hw/tosa.c index 6702b6b99a..55042e3515 100644 --- a/hw/tosa.c +++ b/hw/tosa.c @@ -239,7 +239,7 @@ static void tosa_init(ram_addr_t ram_size, int vga_ram_size, tosa_binfo.initrd_filename = initrd_filename; tosa_binfo.board_id = 0x208; arm_load_kernel(cpu->env, &tosa_binfo); - sl_bootparam_write(SL_PXA_PARAM_BASE - PXA2XX_SDRAM_BASE); + sl_bootparam_write(SL_PXA_PARAM_BASE); } QEMUMachine tosapda_machine = { diff --git a/hw/zaurus.c b/hw/zaurus.c index 8b16c47a41..482834fb7b 100644 --- a/hw/zaurus.c +++ b/hw/zaurus.c @@ -275,8 +275,8 @@ static struct __attribute__ ((__packed__)) sl_param_info { .phadadj = 0x01, }; -void sl_bootparam_write(uint32_t ptr) +void sl_bootparam_write(target_phys_addr_t ptr) { - memcpy(phys_ram_base + ptr, &zaurus_bootparam, - sizeof(struct sl_param_info)); + cpu_physical_memory_write(ptr, (void *)&zaurus_bootparam, + sizeof(struct sl_param_info)); }