On 7/24/25 15:37, Bibo Mao wrote:
@@ -191,8 +187,7 @@ static int loongarch_map_address(CPULoongArchState *env, hwaddr *physical, * legal mapping, even if the mapping is not yet in TLB. return 0 if * there is a valid map, else none zero. */ - return loongarch_page_table_walker(env, physical, prot, address, - access_type, mmu_idx); + return loongarch_page_table_walker(env, &context, access_type, mmu_idx); }
You haven't stored to the physical/prot arguments to loongarch_map_address. I'm sure this gets fixed somewhere in patches 7 through 11, but it means that this patch set isn't bisectable.
It *might* be easier to start from the other end of the call stack. Then you can do things like return loongarch_page_table_walker(env, &context->physical, &context->prot, etc) in the intermediate steps. r~