e2k: remove FIRMWARE_LOAD_ADDR

Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
This commit is contained in:
Alibek Omarov 2021-04-17 23:07:07 +03:00
parent c110f65d09
commit bd4ec67ed2
3 changed files with 12 additions and 9 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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