{"id":2175381,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175381/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20251217212018.93320-7-gustavo.romero@linaro.org>","date":"2025-12-17T21:20:18","name":"[v2,6/6] system/physmem: Use cpu_address_space_init to set cpu->num_ases","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"91fde6476682f710e2ff3970dd8da25d67dacbf1","submitter":{"id":82513,"url":"http://patchwork.ozlabs.org/api/1.0/people/82513/?format=json","name":"Gustavo Romero","email":"gustavo.romero@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20251217212018.93320-7-gustavo.romero@linaro.org/mbox/","series":[{"id":485770,"url":"http://patchwork.ozlabs.org/api/1.0/series/485770/?format=json","date":"2025-12-17T21:20:12","name":"system/physmem: Enhance the Address Space API","version":2,"mbox":"http://patchwork.ozlabs.org/series/485770/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2175381/checks/","tags":{},"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=blbz8Fkq;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dWmvp4QgLz1xpw\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 08:21:58 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vVyxQ-0000C1-VB; Wed, 17 Dec 2025 16:21:16 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <gustavo.romero@linaro.org>)\n id 1vVyxM-00007M-MO\n for qemu-devel@nongnu.org; Wed, 17 Dec 2025 16:21:12 -0500","from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <gustavo.romero@linaro.org>)\n id 1vVyxL-0004dq-0j\n for qemu-devel@nongnu.org; Wed, 17 Dec 2025 16:21:12 -0500","by mail-pf1-x432.google.com with SMTP id\n d2e1a72fcca58-7acd9a03ba9so7097583b3a.1\n for <qemu-devel@nongnu.org>; Wed, 17 Dec 2025 13:21:10 -0800 (PST)","from gromero0.. ([191.8.216.160]) by smtp.gmail.com with ESMTPSA id\n a92af1059eb24-12061ef3383sm1852476c88.0.2025.12.17.13.21.07\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 17 Dec 2025 13:21:09 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1766006469; x=1766611269; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=uL2mCK6rnb99hwd+Wqz4LI6bREO75gA3FJH4GnyvXvQ=;\n b=blbz8FkqBdFUHzFdtzUlxBkAAGig06krgmO2BcQOGDQBsBChagwg61w9oTDHJffOkY\n x7q/o74lIrhbvmdYWTpUeRuzhXAGea836f2MzfC5i3hg+TVLVXi1W+o0XrrSr4svHpun\n hL+JTSv90oscokIbJoiNZuXOby0r+rCC7zYycwTzSxEUAnBPA3+HtqfSwRESPckDiV9H\n Dh4ZprX2TII+8nQ6rzCnwFU4lo6J13Cr7qYAc8LUfWSTFcSFRQkzgPe9mh7K94v2SoMb\n 190Ob67//TKfL4jQxedKFWpi5Oe+xm4NkEnka0kDmJ5WjGEQvpMF4K1sLldDw9NO2ja6\n A9hw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1766006469; x=1766611269;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=uL2mCK6rnb99hwd+Wqz4LI6bREO75gA3FJH4GnyvXvQ=;\n b=BvGDKsjctHgSHX1QoUFqww4rjoTJlDqYZbXtoBRGrX0sUBCUZBMklWJVaKB/Nls/U3\n nTGK4eg/39lw7LMjuHWpwJi1+D8Lc6zRuPk248fu7r8fS/VkH9xWKce0ignW0yDeY4Wt\n K85ZyE7WkTmywJES8/zawkPf2cZ39wvYMfqIYkQXDG2RKt2zI9TSu6OxWjHRyzdBBx2F\n G/TMKlbqYHlN1YYdYfSmOZMQ+Ge/2r64v/dJ7J7DZDVln3QIBF7eEuZTmJJhF/HlUb49\n gV3Cws6A55o9zuYp9fAxCTCqrClNxd/DoSgJrwa3Y4EsEu+dXlxn3LgCn0Ef5rt1RwEF\n N9dA==","X-Gm-Message-State":"AOJu0YweRkEQ291T5lDw3h+WVJMZqx6aOD8p5jdy9E27offnHyZcWHIa\n ncgwmyk0EfUbx7kiQvI8dMjbR1AH1u8zlXdypvkWKsl7DtAvRzSs/XQfe38AztfvVAsXvMDH2gJ\n 0d9gL","X-Gm-Gg":"AY/fxX7njvjtf5LREzMwQ6rKgvSUWitBXM2gRXiyQdJIpHhFQ+BdrmQLRZaf+3ndWlH\n Ss/R12Cr2YLuEMj0sw9C6Zou/oy2pPVMbeqn4RN+I3OIYgvov1gff8BNtT+iUY3o4/fdrVwKwnn\n dUiCAfF2AM/h2Zb4/CtpfO2u5qi9Uzk1A+kAeN3MWIFCO3/O18JgZfIl+447+Jv/6tcmGfS34d5\n bBFcfeci8luRf6WEL4PpnTqjpmjjIw0eanV71HHFE1oB2aM+Ryr5iu4USRul11UHfTNZQf+Rf9Q\n fqddShXmbsGk5yzcafal4iJWOtCVTfbCNrxOsTaLbMPSY029XqouU4yKaQPyQzsym8wGse0IA9I\n Uk9JtJLf11x6J2n0KGao/WloJcXdeNj323IcTfpY3sIITSX3hj3/iSC9TMenvFbfh9JHrj5SVyK\n nJTO47dLVmCFzyIlmqvwi55BcNHQ==","X-Google-Smtp-Source":"\n AGHT+IG72lzChL8ifKR0ow59YOMJO8E+H2l9V6i5v8SneILZwhDj+kBGORNmvP48etxnHFShnT/big==","X-Received":"by 2002:a05:701b:2714:b0:119:e56b:9596 with SMTP id\n a92af1059eb24-11f34c4b478mr11234849c88.27.1766006469324;\n Wed, 17 Dec 2025 13:21:09 -0800 (PST)","From":"Gustavo Romero <gustavo.romero@linaro.org>","To":"qemu-devel@nongnu.org, qemu-arm@nongnu.org, richard.henderson@linaro.org,\n alex.bennee@linaro.org, philmd@linaro.org, peter.maydell@linaro.org","Cc":"gustavo.romero@linaro.org","Subject":"[PATCH v2 6/6] system/physmem: Use cpu_address_space_init to set\n cpu->num_ases","Date":"Wed, 17 Dec 2025 18:20:18 -0300","Message-Id":"<20251217212018.93320-7-gustavo.romero@linaro.org>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20251217212018.93320-1-gustavo.romero@linaro.org>","References":"<20251217212018.93320-1-gustavo.romero@linaro.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::432;\n envelope-from=gustavo.romero@linaro.org; helo=mail-pf1-x432.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Use the new cpu_address_space_init function to set the total number of\nASes in a CPU instead of directly setting it via cpu->num_ases.\n\nSigned-off-by: Gustavo Romero <gustavo.romero@linaro.org>\n---\n system/cpus.c                    |  4 ++--\n target/arm/cpu.c                 | 10 +---------\n target/i386/kvm/kvm-cpu.c        |  3 ++-\n target/i386/tcg/system/tcg-cpu.c |  2 +-\n 4 files changed, 6 insertions(+), 13 deletions(-)","diff":"diff --git a/system/cpus.c b/system/cpus.c\nindex fa9deafa29..54be6a3faf 100644\n--- a/system/cpus.c\n+++ b/system/cpus.c\n@@ -718,8 +718,8 @@ void qemu_init_vcpu(CPUState *cpu)\n         /* If the target cpu hasn't set up any address spaces itself,\n          * give it the default one.\n          */\n-        cpu->num_ases = 1;\n-        cpu_address_space_add(cpu, 0, \"cpu-memory\", cpu->memory);\n+        cpu_address_space_init(cpu, 1 /* Number of ASes */);\n+        cpu_address_space_add(cpu, 0 /* AS index */, \"cpu-memory\", cpu->memory);\n     }\n \n     /* accelerators all implement the AccelOpsClass */\ndiff --git a/target/arm/cpu.c b/target/arm/cpu.c\nindex 1902c510f9..67ad6f0a6e 100644\n--- a/target/arm/cpu.c\n+++ b/target/arm/cpu.c\n@@ -2148,15 +2148,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)\n     unsigned int smp_cpus = ms->smp.cpus;\n     bool has_secure = cpu->has_el3 || arm_feature(env, ARM_FEATURE_M_SECURITY);\n \n-    /*\n-     * We must set cs->num_ases to the final value before\n-     * the first call to cpu_address_space_init.\n-     */\n-    if (cpu->tag_memory != NULL) {\n-        cs->num_ases = 3 + has_secure;\n-    } else {\n-        cs->num_ases = 1 + has_secure;\n-    }\n+    cpu_address_space_init(cs, ARMASIdx_MAX);\n \n     cpu_address_space_add(cs, ARMASIdx_NS, \"cpu-memory\", cs->memory);\n \ndiff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c\nindex a6d94d0620..dbb04ef051 100644\n--- a/target/i386/kvm/kvm-cpu.c\n+++ b/target/i386/kvm/kvm-cpu.c\n@@ -92,13 +92,14 @@ static bool kvm_cpu_realizefn(CPUState *cs, Error **errp)\n         kvm_set_guest_phys_bits(cs);\n     }\n \n+    cpu_address_space_init(cs, X86ASIdx_MAX);\n+\n     /*\n      * When SMM is enabled, there is 2 address spaces. Otherwise only 1.\n      *\n      * Only initialize address space 0 here, the second one for SMM is\n      * initialized at register_smram_listener() after machine init done.\n      */\n-    cs->num_ases = x86_machine_is_smm_enabled(X86_MACHINE(current_machine)) ? 2 : 1;\n     cpu_address_space_add(cs, X86ASIdx_MEM, \"cpu-memory\", cs->memory);\n \n     return true;\ndiff --git a/target/i386/tcg/system/tcg-cpu.c b/target/i386/tcg/system/tcg-cpu.c\nindex 231a4bdf55..ab72c5ff7b 100644\n--- a/target/i386/tcg/system/tcg-cpu.c\n+++ b/target/i386/tcg/system/tcg-cpu.c\n@@ -73,7 +73,7 @@ bool tcg_cpu_realizefn(CPUState *cs, Error **errp)\n     memory_region_add_subregion_overlap(cpu->cpu_as_root, 0, cpu->cpu_as_mem, 0);\n     memory_region_set_enabled(cpu->cpu_as_mem, true);\n \n-    cs->num_ases = 2;\n+    cpu_address_space_init(cs, X86ASIdx_MAX);\n     cpu_address_space_add(cs, X86ASIdx_MEM, \"cpu-memory\", cs->memory);\n     cpu_address_space_add(cs, X86ASIdx_SMM, \"cpu-smm\", cpu->cpu_as_root);\n \n","prefixes":["v2","6/6"]}