{"id":2196409,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2196409/?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":"<20260213182713.44924-3-philmd@linaro.org>","date":"2026-02-13T18:27:10","name":"[2/5] page-vary: Expose TARGET_PAGE_BITS_MIN definition","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"ec31caa74fb600fb8ae208ee7703378aec6b9cfd","submitter":{"id":85046,"url":"http://patchwork.ozlabs.org/api/1.0/people/85046/?format=json","name":"Philippe Mathieu-Daudé","email":"philmd@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260213182713.44924-3-philmd@linaro.org/mbox/","series":[{"id":492130,"url":"http://patchwork.ozlabs.org/api/1.0/series/492130/?format=json","date":"2026-02-13T18:27:09","name":"page-vary: Build set_preferred_target_page_bits() as common code","version":1,"mbox":"http://patchwork.ozlabs.org/series/492130/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2196409/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=fN6uYqHE;\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 4fCLK44XWPz1xr1\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 14 Feb 2026 05:28:40 +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 1vqxtA-0007Dc-Ke; Fri, 13 Feb 2026 13:27:36 -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 <philmd@linaro.org>) id 1vqxt7-0007D4-A3\n for qemu-devel@nongnu.org; Fri, 13 Feb 2026 13:27:34 -0500","from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1vqxt5-00062c-5w\n for qemu-devel@nongnu.org; Fri, 13 Feb 2026 13:27:33 -0500","by mail-wm1-x32a.google.com with SMTP id\n 5b1f17b1804b1-4806cc07ce7so11232315e9.1\n for <qemu-devel@nongnu.org>; Fri, 13 Feb 2026 10:27:30 -0800 (PST)","from localhost.localdomain (88-187-86-199.subs.proxad.net.\n [88.187.86.199]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43796abc8b1sm7698227f8f.23.2026.02.13.10.27.28\n (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);\n Fri, 13 Feb 2026 10:27:28 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1771007249; x=1771612049; 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=wRcTQI36rdFbgS0RaM9tbsJGf2KLXWBx5voTCVv7K6s=;\n b=fN6uYqHEXLWsguuplbm1YwYr7jiM6mnZWo1zzey4WS3E84oM3dxICbUvUnuGTDslxD\n MceZfDlKWm1fffyYcLl9WfapRw2aXi57bhzlRy72oXSWu/UV3MCLs6dS19Qs425D/xl3\n mAzCqY1SVZHSEAmn6pVXtc2jUBuGxAc/2Hc+Jj0ccV3ZLCheN1XmyOQGB3kkMY/Zy+uk\n ZQfXL7Wc2HHebRhgRRY6oZtXzFl5T3VBluvMyhHj9hIA94tQxP5L/3zT29ntSQcaoIke\n 7fAKdnDrLAeqQWHzjFptTfQyRZsO2Maz5Gihci/O6XBkopGbFDQxLT9UnwR1sOrvGjuV\n vQSA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771007249; x=1771612049;\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=wRcTQI36rdFbgS0RaM9tbsJGf2KLXWBx5voTCVv7K6s=;\n b=Y16XzmdOjszNm4kJUlQNErEzvOnFDgRvgajPV+IhQ78kJeAPeBkdQKXnsgCKDbPp5C\n Z6LK0FsEilxRM3VCUL9QY8ATZ6c/By1QQKqHFPCfmK4D7C/SJMyrSVGXU5ql9SD2BChO\n kXfrV+vNEpH/Gltm+CMtsqsq83gtgk9wNFdp6FUojH78zurNocRFoZpcR1Ego5uwl2nN\n agDzrUS7M21eyENYQz+3QKah8hERw1Qin/Y+3pm6ey/Vd/ZE10C7+lDGBxCrEMeV23K4\n B79FUXvz3kHCk6S4H8TN4zwE+8D/dDKr7xHElJWVm2riKNXiqIT9vpNk8myIdS0bAK7S\n LZoA==","X-Gm-Message-State":"AOJu0YzRLVts8p+dm0MEyXF5EEZuQS2G5RlMpRxnW19OYGZht31RXazt\n qJGh3X/gjC4BpJK/o/WVsouGhmAwnZD8/coYB5owknf3VaVYMk9JOY2Xcy0X+sFKqQT4uRT/9B8\n svb6I01s=","X-Gm-Gg":"AZuq6aKOJtcO3KQG1K5OTWy3Plwf35oUmTp1mLUk5clllLKVO/hQFrLoAH9tgvW/8r5\n hMfI8DpUGtUQjDlYkQiRo2721a5Od4BehfWkeZWf+3vjxkFZPg48CeRdzCS2CTcuzQaVj+vFZYI\n I+vQs4xj8QtwVjE/o9OO6bLF8/vlWJXcNb0pbeH8Swa5f6MyNzrekCOusmfvXGqobB90DgDNsu6\n ITh10QB8nBfPPHsQlMF2MatXX9Uhr6dU8EmduXG0TuPQ8ClIC1coljd8zD8aogpVqoNpTxLQKBm\n apaUzYSvxnhLrtq8YBezWpkUmiasMVL+RyWHauj9p/JL0kr14jUOqfdmWGrA9eKOyidzKhqZ6cq\n Loqefcpx9UbHjJ9jue2kc1FjxO/Kf7cwTKYHg2b7qZnLtb/3Y+ovwzq+zNdDi+V6rJ2Ae9fQfYk\n d+RpNTKHaai0FZnEA48IP8K6feQiB4Z4arZXbCaeASCGVAaXtGNcWjueNgbI0vVqHoPH3wbHyi","X-Received":"by 2002:a05:6000:1a8f:b0:435:a9c9:159 with SMTP id\n ffacd0b85a97d-437978d11d0mr4962786f8f.18.1771007249114;\n Fri, 13 Feb 2026 10:27:29 -0800 (PST)","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","To":"qemu-devel@nongnu.org","Cc":"Richard Henderson <richard.henderson@linaro.org>,\n Pierrick Bouvier <pierrick.bouvier@linaro.org>, =?utf-8?q?Philippe_Mathieu-?=\n\t=?utf-8?q?Daud=C3=A9?= <philmd@linaro.org>,\n Paolo Bonzini <pbonzini@redhat.com>","Subject":"[PATCH 2/5] page-vary: Expose TARGET_PAGE_BITS_MIN definition","Date":"Fri, 13 Feb 2026 19:27:10 +0100","Message-ID":"<20260213182713.44924-3-philmd@linaro.org>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20260213182713.44924-1-philmd@linaro.org>","References":"<20260213182713.44924-1-philmd@linaro.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::32a;\n envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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=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":"qemu development <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":"We'll use TARGET_PAGE_BITS_MIN in page-vary-common.c,\nso expose it via \"exec/page-vary.h\".\n\nSigned-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>\n---\n include/exec/page-vary.h | 14 ++++++++++++++\n page-vary-target.c       | 15 ---------------\n 2 files changed, 14 insertions(+), 15 deletions(-)","diff":"diff --git a/include/exec/page-vary.h b/include/exec/page-vary.h\nindex 101c25911c1..3c77689ca52 100644\n--- a/include/exec/page-vary.h\n+++ b/include/exec/page-vary.h\n@@ -20,6 +20,20 @@\n #ifndef EXEC_PAGE_VARY_H\n #define EXEC_PAGE_VARY_H\n \n+/*\n+ * For system mode, the minimum comes from the number of bits\n+ * required for maximum alignment (6) and the number of bits\n+ * required for TLB_FLAGS_MASK (3).\n+ *\n+ * For user mode, TARGET_PAGE_BITS_VARY is a hack to allow the target\n+ * page size to match the host page size.  Mostly, this reduces the\n+ * ordinary target page size to run on a host with 4KiB pages (i.e. x86).\n+ * There is no true minimum required by the implementation, but keep the\n+ * same minimum as for system mode for sanity.\n+ * See linux-user/mmap.c, mmap_h_lt_g and mmap_h_gt_g.\n+ */\n+#define TARGET_PAGE_BITS_MIN 9\n+\n typedef struct {\n     bool decided;\n     int bits;\ndiff --git a/page-vary-target.c b/page-vary-target.c\nindex 49a32b4fe51..ab92da4539d 100644\n--- a/page-vary-target.c\n+++ b/page-vary-target.c\n@@ -23,21 +23,6 @@\n #include \"exec/page-vary.h\"\n #include \"exec/target_page.h\"\n \n-\n-/*\n- * For system mode, the minimum comes from the number of bits\n- * required for maximum alignment (6) and the number of bits\n- * required for TLB_FLAGS_MASK (3).\n- *\n- * For user mode, TARGET_PAGE_BITS_VARY is a hack to allow the target\n- * page size to match the host page size.  Mostly, this reduces the\n- * ordinary target page size to run on a host with 4KiB pages (i.e. x86).\n- * There is no true minimum required by the implementation, but keep the\n- * same minimum as for system mode for sanity.\n- * See linux-user/mmap.c, mmap_h_lt_g and mmap_h_gt_g.\n- */\n-#define TARGET_PAGE_BITS_MIN 9\n-\n #ifndef TARGET_PAGE_BITS_VARY\n QEMU_BUILD_BUG_ON(TARGET_PAGE_BITS < TARGET_PAGE_BITS_MIN);\n #endif\n","prefixes":["2/5"]}