From nobody Sun Sep 28 15:25:44 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1758732301; cv=none; d=zohomail.com; s=zohoarc; b=Hg2MKJMwMyIKnDgCL8sORHaEc12mpaABbAqx6becgc2tQesdNLXbOiUdNYfM5CZ2hzDYq2pWHpno7/rBIgDbD/Dbs3AhKNVvj91QtGJdUpm7FzpDUbzl+L/dnSec/d8krSkL97gMNMzUEMT/PwyTXLQIFwouCxdUh0QwaCFdyLI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758732301; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=E92Sk4SPBUbSpMQbQtf55NOqIlFUSOxuPXOd/rMzn0s=; b=O614IM271ynLGYWRY/LEB+3f+TcBe8Q/jeDcLVzTQXJXzKMPTpe0Fk1jVhVlo9nx4Fcpfn/tXDV3rf0MedMBSVLaVR1ZoOTUGSlJbhlKdi1t/hlBABUf/+wSoilWqcTvoSoCgXndgeLoEcuRiumsfmEv5Nu4Hbk4Lgea95AgiSE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1758732301736979.003999874522; Wed, 24 Sep 2025 09:45:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v1SbQ-0008L1-Gk; Wed, 24 Sep 2025 12:44:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v1Sb1-0008Ih-Ee for qemu-devel@nongnu.org; Wed, 24 Sep 2025 12:44:01 -0400 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v1Sap-0000zp-Fe for qemu-devel@nongnu.org; Wed, 24 Sep 2025 12:43:59 -0400 Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-55ce508d4d6so6206112e87.0 for ; Wed, 24 Sep 2025 09:43:46 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-407f579c1e9sm5662534f8f.46.2025.09.24.09.43.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 24 Sep 2025 09:43:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1758732223; x=1759337023; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=E92Sk4SPBUbSpMQbQtf55NOqIlFUSOxuPXOd/rMzn0s=; b=XI/V+YxcniPF0uxT1v5iUS11abKJb+zSET5G0xdEdjehf4ASQGmre7ANmTH2+3HbEh 8xiLmUYWKOkxUKkusDU7HEsHkzoyKI2cks6W1CmPpgcR/iOzikn5nK1N31106m5KT3XU fIltlw/O9frLNGf3ArhHChMYFvf5XQ1yJaBBFdJO/qkE1FZ7+CGVwZyhHB+CdAcxHCxk Rxv+GIFRVBCZLWZXy75wr3cSDVeeXrnI3s6hgoFl83kRXAkORL1NWhYbtr/0HXTfJLZF fH1DT/HR0ZqNb1MQBrYnhPKipgjDT/UFxy+V8wyEfGCKn6UY35abfSns6SJW9r1ZwiFs Oiow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758732223; x=1759337023; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=E92Sk4SPBUbSpMQbQtf55NOqIlFUSOxuPXOd/rMzn0s=; b=CHR7zdlJPNjiqgOuQ/Zf0KT8epOoQOIPlPI7Vs8TO3XII0Pj5QF/81H+BhQIvK/yI9 nyVF7JeK+GbRf2PRFqtZdVK2YZ9dV7PYTCN3/1qW34IK9QIfXYaZcmoADoQgNVx1fJFh ArJCytC9pNoz4q5bhV+GtA1ixTu8GeQKCtYdJ9rrQPLOiH/Wq1OdOIvVdwUk2lxAJcNh NuLVoiu38PHZzsZmGy3Uy5VgypTQfsDyAC2wHKJ4qB4az/hy96w+901R8nCbB8JcoCif q24xjHS3dCnYLwrwN0XCCGcxVwFPpVRzrJIpgX8fiqBfy7ow2g0cMCYkq3BKvNu1MO0a GeVQ== X-Gm-Message-State: AOJu0Yy50t8TDjGhqLWPxd8WcUxoAjjRIdyF6+SwGN9ItWGFkCTkGhhW YORPRdub0may2ozYo/4KeXpMrFYti/LR86Q5K5vriWD3W5k+K6GjEcns9oUR0ln4bisz4j+qTk9 MoiaSC6zHog== X-Gm-Gg: ASbGncvoxHryb47eAi54QcqrcYak10J7TvjzONLQ4e8sRERUvqM5DZT7+XtrYdL2IGa 6E8IucNC5cM/OPFK3Whcxk18S7//GB6IV06Nz1w2gFczQxFFxzuf8G3WnKJ9pEvNYaJboBQ1eO/ 9+ygq/KDsfn61zqpu1z/yl5YS1evPTvrBiE7D5qslypCF8LXlTRq4ARRFpVHAHF4UVnvDGeDFkC YbX+yprIDMzCKazkZukSyHzXXrwHLi7nGG5yRI009uxbRdknpvHcZScl2CiKfeSgDIB4LVjIWWy zCcxIh9Lp+eTucuMdF80QSzv2iaVuA1sZ18rUXHvrQMLWhaQCyc93bmW8QuihQ6uGsfYi/gV7dm YM5DE7YvEBWDd9XaNneCzotptNf42jSnisIg3Z4qeSSWxNvt9hR17YfuAeL/rb5BMbjiM2/1dtw qFfH78Fv4= X-Google-Smtp-Source: AGHT+IH3PwzLGvqFU0zVPn86CPx+bgUrZZSFcQkdIoFv4SUd+3dj5hmjWDfawgMN5lCSXkCzSxLg3A== X-Received: by 2002:a05:6000:2410:b0:3ee:13ba:e133 with SMTP id ffacd0b85a97d-40e4354d631mr586118f8f.1.1758732210993; Wed, 24 Sep 2025 09:43:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Darren Kenny , Michael Rolnik , Alexander Bulekov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH] target/avr: Mark I/O space mapped cpu regs as reentrancy-safe Date: Wed, 24 Sep 2025 18:43:29 +0200 Message-ID: <20250924164329.51644-1-philmd@linaro.org> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::12a; envelope-from=philmd@linaro.org; helo=mail-lf1-x12a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1758732302356116600 The test_avr_mega2560.py functional test hangs displaying: qemu-system-avr: warning: Blocked re-entrant IO on MemoryRegion: avr-cpu-= reg2 at addr: 0x5 Mark the I/O space mapped cpu regs as reentrancy-safe to avoid that. Process 71455 stopped * thread #4, stop reason =3D breakpoint 1.1 frame #0: 0x1000a2d30 access_with_adjusted_size(addr=3D5, value=3D0x16f= f9e4f0, size=3D1, access_size_min=3D, access_size_max=3D4, acc= ess_fn=3D(memory_region_read_accessor at memory.c:435), mr=3D0x12101bce0, a= ttrs=3DMemTxAttrs @ x7) at memory.c:547:13 544 if (mr->dev && !mr->disable_reentrancy_guard && 545 !mr->ram_device && !mr->ram && !mr->rom_device && !mr->read= only) { 546 if (mr->dev->mem_reentrancy_guard.engaged_in_io) { -> 547 warn_report_once("Blocked re-entrant IO on MemoryRegion= : " 548 "%s at addr: 0x%" HWADDR_PRIX, 549 memory_region_name(mr), addr); 550 return MEMTX_ACCESS_ERROR; Target 0: (qemu-system-avr) stopped. (lldb) bt * thread #4, stop reason =3D breakpoint 1.1 * frame #0: 0x1000a2d30 access_with_adjusted_size(addr=3D5, value=3D0x16f= f9e4f0, size=3D1, access_size_min=3D, access_size_max=3D4, acc= ess_fn=3D(memory_region_read_accessor at memory.c:435), mr=3D0x12101bce0, a= ttrs=3DMemTxAttrs @ x7) at memory.c:547:13 frame #1: 0x1000a27a4 memory_region_dispatch_read [inlined] memory_regi= on_dispatch_read1(mr=3D0x12101bce0, addr=3D5, pval=3D0x16ff9e4f0, size=3D1,= attrs=3DMemTxAttrs @ x21) at memory.c:0 frame #2: 0x1000a2768 memory_region_dispatch_read(mr=3D0x12101bce0, add= r=3D5, pval=3D, op=3D, attrs=3D) at = memory.c:1484:9 frame #3: 0x1000af89c flatview_read_continue_step(attrs=3DMemTxAttrs @ = x24, buf=3D"", len=3D, mr_addr=3D5, l=3D0x16ff9e568, mr=3D0x12= 101bce0) at physmem.c:3061:18 frame #4: 0x1000afb4c flatview_read [inlined] flatview_read_continue(fv= =3D0x0000600003993b40, addr=3D8388701, attrs=3DMemTxAttrs @ x21, ptr=3D0x16= ff9e5c0, len=3D1, mr_addr=3D5, l=3D1, mr=3D) at physmem.c:3102= :19 frame #5: 0x1000afb3c flatview_read(fv=3D0x0000600003993b40, addr=3D838= 8701, attrs=3DMemTxAttrs @ x21, buf=3D0x16ff9e5c0, len=3D1) at physmem.c:31= 32:12 frame #6: 0x1000b50bc subpage_read(opaque=3D, addr=3D, data=3D0x16ff9e630, len=3D1, attrs=3D) at physmem.c:= 2615:11 frame #7: 0x1000a9150 memory_region_read_with_attrs_accessor(mr=3D0x104= 096400, addr=3D93, value=3D0x16ff9e790, size=3D1, shift=3D0, mask=3D255, at= trs=3D) at memory.c:461:9 frame #8: 0x1000a2c9c access_with_adjusted_size(addr=3D93, value=3D, size=3D, access_size_min=3D, access_si= ze_max=3D, access_fn=3D, mr=3D, attr= s=3D) at memory.c:566:18 frame #9: 0x1000a27a4 memory_region_dispatch_read [inlined] memory_regi= on_dispatch_read1(mr=3D0x104096400, addr=3D93, pval=3D0x16ff9e790, size=3D1= , attrs=3DMemTxAttrs @ x21) at memory.c:0 frame #10: 0x1000a2768 memory_region_dispatch_read(mr=3D0x104096400, ad= dr=3D93, pval=3D, op=3D, attrs=3D) a= t memory.c:1484:9 frame #11: 0x100163034 do_ld_mmio_beN [inlined] int_ld_mmio_beN(cpu=3D<= unavailable>, full=3D, ret_be=3D0, addr=3D93, size=3D1, mmu_id= x=3D, type=3D, ra=3D, mr=3D, mr_offset=3D93) at cputlb.c:1963:13 frame #12: 0x100163004 do_ld_mmio_beN(cpu=3D0x121018ec0, full=3D0x12102= 7400, ret_be=3D, addr=3D, size=3D, m= mu_idx=3D1, type=3DMMU_DATA_LOAD, ra=3D12884916912) at cputlb.c:1997:12 frame #13: 0x1001536f0 helper_ldub_mmu [inlined] do_ld_1(cpu=3D, p=3D0x16ff9e800, mmu_idx=3D, type=3DMMU_DATA_LOAD, ra= =3D12884916912) at cputlb.c:2262:16 frame #14: 0x1001536dc helper_ldub_mmu [inlined] do_ld1_mmu(cpu=3D, addr=3D, oi=3D, ra=3D, acc= ess_type=3DMMU_DATA_LOAD) at cputlb.c:2338:12 frame #15: 0x1001536dc helper_ldub_mmu(env=3D0x12101baf0, addr=3D, oi=3D, retaddr=3D12884916912) at ldst_common.c.inc:19= :12 frame #16: 0x300003ae4 frame #17: 0x10013c6dc cpu_tb_exec(cpu=3D, itb=3D, tb_exit=3D) at cpu-exec.c:439:11 frame #18: 0x10013d418 cpu_exec_loop [inlined] cpu_loop_exec_tb(cpu=3D0= x121018ec0, tb=3D, pc=3D, last_tb=3D= , tb_exit=3D0x16ff9ee0c) at cpu-exec.c:878:10 frame #19: 0x10013d400 cpu_exec_loop(cpu=3D0x121018ec0, sc=3D0x16ff9eed= 0) at cpu-exec.c:991:13 frame #20: 0x10013cc00 cpu_exec_setjmp(cpu=3D0x121018ec0, sc=3D0x16ff9e= ed0) at cpu-exec.c:1011:12 frame #21: 0x10013cb24 cpu_exec(cpu=3D0x121018ec0) at cpu-exec.c:1037:11 frame #22: 0x100165830 tcg_cpu_exec(cpu=3D0x121018ec0) at tcg-accel-ops= .c:98:11 frame #23: 0x10016607c mttcg_cpu_thread_routine [inlined] mttcg_cpu_exe= c(cpu=3D0x121018ec0) at tcg-accel-ops-mttcg.c:154:11 frame #24: 0x100166070 mttcg_cpu_thread_routine(arg=3D0x121018ec0) at t= cg-accel-ops-mttcg.c:113:21 frame #25: 0x100334218 qemu_thread_start(args=3D) at qemu-= thread-posix.c:393:9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/avr/cpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/avr/cpu.c b/target/avr/cpu.c index a6df71d0205..306c3590f23 100644 --- a/target/avr/cpu.c +++ b/target/avr/cpu.c @@ -151,6 +151,7 @@ static void avr_cpu_realizefn(DeviceState *dev, Error *= *errp) =20 memory_region_init_io(&cpu->cpu_reg2, OBJECT(cpu), &avr_cpu_reg2, env, "avr-cpu-reg2", 8); + cpu->cpu_reg2.disable_reentrancy_guard =3D true; memory_region_add_subregion(get_system_memory(), OFFSET_DATA + 0x58, &cpu->cpu_reg2); } --=20 2.51.0