Hi,
I am simulation an elf_i386 (32-bit x86) assembly code in SE mode. In my assembly code, there is mov al, [esi] where esi is set to 0x1970.
When running my simulation I get the following error: "panic: Tried to read unmapped address 0x1970."
I am initializing the DRAM with a binary disk image which contains my data that the benchmark is expected to use. My GEM5 configuration includes the following:
---=====================
system.mem_mode = "timing"
system.mem_ranges = [AddrRange("8000MB")]
system.mem_ctrl = MemCtrl()
system.mem_ctrl.dram = DDR3_1600_8x8()
system.mem_ctrl[0].dram.image_file = 'binary_disk_image.bin'
system.mem_ctrl.dram.range = system.mem_ranges[0]
system.mem_ctrl.port = system.membus.mem_side_ports
---=====================
Any suggestion on how to resolve this error?
Thanks!
Alain
Hi again,
Debugging seems to show that the TLB (vaddr) is not mapped to the physical address. Below the output of the debugging:
---=================
system.cpu.[tid:0]: Reading integer reg rsi (6) as 0x1970.
global: MOV_R_M : ld: The address is 0x1970
system.cpu.mmu.dtb: Translating vaddr 0x1970.
system.cpu.mmu.dtb: In protected mode.
system.cpu.mmu.dtb: Paging enabled.
system.cpu.mmu.dtb: Handling a TLB miss for address 0x1970 at pc 0x8049014.
system.cpu: A0 T0 : 0x8049014 @multiply1 : mov al, DS:[esi]
system.cpu: A0 T0 : 0x8049014 @multiply1. 0 : MOV_R_M : ld al, DS:[esi] : MemRead : A=0x1970 flags=(IsInteger|IsLoad|IsMicroop|IsLastMicroop|IsFirstMicroop)
system.cpu: Fault occured. Handling the fault
src/arch/x86/faults.cc:166http://faults.cc:166/: panic: Tried to read unmapped address 0x1970.
PC: (0x8049014=>0x8049016).(0=>1), Instr: MOV_R_M : ld al, DS:[esi]
---=================
Is this a bug in the current version of GEM5 where vaddr and paddr are not being mapped?
Alain
On Apr 5, 2024, at 12:45 AM, Alain Aoun via gem5-users gem5-users@gem5.org wrote:
Hi,
I am simulation an elf_i386 (32-bit x86) assembly code in SE mode. In my assembly code, there is mov al, [esi] where esi is set to 0x1970.
When running my simulation I get the following error: "panic: Tried to read unmapped address 0x1970."
I am initializing the DRAM with a binary disk image which contains my data that the benchmark is expected to use. My GEM5 configuration includes the following:
---=====================
system.mem_mode = "timing"
system.mem_ranges = [AddrRange("8000MB")]
system.mem_ctrl = MemCtrl()
system.mem_ctrl.dram = DDR3_1600_8x8()
system.mem_ctrl[0].dram.image_file = 'binary_disk_image.bin'
system.mem_ctrl.dram.range = system.mem_ranges[0]
system.mem_ctrl.port = system.membus.mem_side_ports
---=====================
Any suggestion on how to resolve this error?
Thanks!
Alain
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org