[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
armv7-m: tlb_set_page_full: Assertion failed
From: |
Raphaël Poggi |
Subject: |
armv7-m: tlb_set_page_full: Assertion failed |
Date: |
Fri, 29 Mar 2024 11:56:22 +0000 |
Hi,
I am currently working on adding support of a custom ASIC based on
ARMv7-M (Cortex-M3).
I have a RAM region defined as followed:
base address = 0x0021E000
size = 0x1FFC
For some reason, during memcpy performed on guest side, I have an
assertion failed:
qemu-system-arm: ../accel/tcg/cputlb.c:1169: tlb_set_page_full:
Assertion `!(iotlb & ~TARGET_PAGE_MASK)' failed.
Here are some information I was able to gather during my debugging:
- my memcpy is the following:
dest = 0x206006 (another ram region)
src = 0x21e008
size = 0x3f9
- during the access that triggers the assertion, here are the state of
some variables just before the assertion:
iotlb = 0xb03fc - ram_addr = 0xb0000 - xlat = 0x3fc - TARGET_PAGE_MASK
= 0xfffffc0
- the last two lines of the gdb backtrace from qemu process:
#4 0x0000555555de29fc in tlb_set_page_full
(cpu=cpu@entry=0x55555740c790,
mmu_idx=mmu_idx@entry=0x1, addr=addr@entry=0x21e400,
full=full@entry=0x7fffafffe010) at ../accel/tcg/cputlb.c:1169
#5 0x0000555555d2b5fa in arm_cpu_tlb_fill
(cs=0x55555740c790, address=0x21e400, size=<optimized out>,
access_type=MMU_DATA_LOAD, mmu_idx=0x1, probe=<optimized out>,
retaddr=0x7fffb004b3c5) at ../target/arm/tcg/tlb_helper.c:364
I am really struggling to understand what is going wrong with my very
limited knowledge of qemu.
Could someone help me ?
Many thanks,
Raphael Poggi
- armv7-m: tlb_set_page_full: Assertion failed,
Raphaël Poggi <=