On 2025/7/26 上午9:31, Richard Henderson wrote:
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.
Good catch. This patch has problem and will fix it in next round.
Regards
Bibo Mao
r~