e2k: remove FIRMWARE_LOAD_ADDR
Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
This commit is contained in:
parent
c110f65d09
commit
bd4ec67ed2
14
hw/e2k/e2k.c
14
hw/e2k/e2k.c
|
@ -30,6 +30,9 @@
|
|||
|
||||
#include "hw/char/escc.h"
|
||||
|
||||
#define E2K_FULL_SIC_BIOS_AREA_PHYS_BASE 0x0000000100000000UL
|
||||
#define E2K_FULL_SIC_BIOS_AREA_SIZE 0x0000000001000000UL
|
||||
|
||||
#define ES2_NSR_AREA_PHYS_BASE 0x0000000110000000UL /* node 0 */
|
||||
#define ES2_NSR_AREA_MAX_SIZE 0x0000000010000000UL /* max NSRs */
|
||||
/* area: */
|
||||
|
@ -131,16 +134,19 @@ static void firmware_init(E2KMachineState *e2kms, const char *default_filename,
|
|||
error_report("failed to get firmware size '%s'", filename);
|
||||
exit(1);
|
||||
}
|
||||
if (rom_add_file_fixed(firmware_name, FIRMWARE_LOAD_ADDR, -1) != 0) {
|
||||
if (rom_add_file_fixed(firmware_name,
|
||||
E2K_FULL_SIC_BIOS_AREA_PHYS_BASE, -1) != 0) {
|
||||
error_report("could not load firmware '%s'", firmware_name);
|
||||
exit(1);
|
||||
}
|
||||
g_free(filename);
|
||||
firmware = g_malloc(sizeof(*firmware));
|
||||
memory_region_init_ram(firmware, NULL, "e2k.firmware", size, &error_fatal);
|
||||
memory_region_add_subregion(rom_memory, FIRMWARE_LOAD_ADDR, firmware);
|
||||
memory_region_init_ram(firmware, NULL, "e2k.firmware",
|
||||
E2K_FULL_SIC_BIOS_AREA_SIZE, &error_fatal);
|
||||
memory_region_add_subregion(rom_memory,
|
||||
E2K_FULL_SIC_BIOS_AREA_PHYS_BASE, firmware);
|
||||
|
||||
reset_params.loadaddr = FIRMWARE_LOAD_ADDR;
|
||||
reset_params.loadaddr = E2K_FULL_SIC_BIOS_AREA_PHYS_BASE;
|
||||
}
|
||||
|
||||
static uint64_t sic_mem_read(void *opaque, hwaddr addr, unsigned size)
|
||||
|
|
|
@ -50,8 +50,8 @@ static void e2k_cpu_reset(DeviceState *dev)
|
|||
|
||||
memset(env, 0, offsetof(CPUE2KState, end_reset_fields));
|
||||
|
||||
// env->ip = 0x10000;
|
||||
env->ip = FIRMWARE_LOAD_ADDR;
|
||||
/* must be set by set_pc */
|
||||
/* env->ip = 0x10000; */
|
||||
env->psr = PSR_PM;
|
||||
env->upsr = UPSR_NMIE | UPSR_FE;
|
||||
env->wd.base = 0;
|
||||
|
|
|
@ -1035,9 +1035,6 @@ void e2k_proc_return(CPUE2KState *env, bool force_fx);
|
|||
#define cpu_signal_handler e2k_cpu_signal_handler
|
||||
#define cpu_list e2k_cpu_list
|
||||
|
||||
/* TODO: set correct CPU start address */
|
||||
#define FIRMWARE_LOAD_ADDR 0x100000000
|
||||
|
||||
#define APIC_DEFAULT_ADDRESS 0xfee00000
|
||||
#define APIC_SPACE_SIZE 0x100000
|
||||
|
||||
|
|
Loading…
Reference in New Issue