From patchwork Sun May 4 20:57:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887208 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753301wrq; Sun, 4 May 2025 13:58:38 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXRsmeRrXxOZ0sCU5Oy4E8HTVAHMUjAbGOsC+YigsYZ6tusx7+p3VXu2zm2VsAIAK1uz3JmEg==@linaro.org X-Google-Smtp-Source: AGHT+IGTdsIp0Hpipb1+qoazLJbjzk4SMl7sVnrcoLuANeyNd1F1u7VrkCD4BXiZrnJbmFmSLGC4 X-Received: by 2002:a05:6214:212e:b0:6e6:6599:edf6 with SMTP id 6a1803df08f44-6f5237fc129mr99409376d6.34.1746392318291; Sun, 04 May 2025 13:58:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392318; cv=none; d=google.com; s=arc-20240605; b=ZCfPP2DS6dIhJHNQ5a9BoN7xKMy1+f5Q/hjPLlLPtVeCPvoVwr09yqj4iv0F4xTwB6 KOi47jyYW58QjCrfic/iL9TifDu12JjvFtXlvwR7CjmYi9w3Y0ITLsQZAsLk+lQBjlbR hDh5wvkl/783BZ523MzU2meGGrr/YrNfpI8GpRg7OwM3aEiaUJddNuLRoEiNwmmJSXMu oWCEZhW7T4IyOvyOEVwp8xBy0EnMOMxExrNkPWeiZydOM7FkJrueMU6YcxjI6o8tAQLd rI4VTSeOJRchwtqU6HLjVrrDRk5gIIXa+sDTQYJE8uqZuuqOBCOAFnG0EujhTLr9Ww/i oHbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=GmYZsTnUMl5IM410FTxmeaTfbTLbZEPczwGnLZA+ci8=; fh=gFoDGlaj3dawgo7dxL4ZkFEZ9I6wTEAQ53WU9VogRKw=; b=f/t1SU7Zx3sDRa+QkGD+Dpslu+VX7rYqiCnws//sq30gRTsJFfuyz+yrLMurZrsYH0 aiW+p3K9SjX9JtqXzXMHGrM2t0vgsjXsSD7kVRkrP4fLEU6r7mffnATLsTuRBBUcQwbd lNZrXLyNMcfpSFPU/2txCNfHn7C4Cm6C/BTMejaoJf+lrOSWQ0hc/Gbbp2h568Wjcuyf 4Sjzea90Qz2tu6ITBkOtSdCGTAKDMZYL8NFCghhRcSYAWOZd6g6EUA2fabEVdtdWQJuL 96h87fxS529JTAGlgbsaWLIsafCyyw+0eRrOsXnrcDrsrwFBdHSNrqN1UFozLAJH9mA7 +CWg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZlXj37l1; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f50f4c214fsi76635926d6.475.2025.05.04.13.58.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:58:38 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZlXj37l1; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP0-0008Qr-7r; Sun, 04 May 2025 16:57:34 -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 1uBgOl-0008Ky-HB for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:20 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOj-0006vq-Pq for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:19 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-227b828de00so40210655ad.1 for ; Sun, 04 May 2025 13:57:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392236; x=1746997036; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GmYZsTnUMl5IM410FTxmeaTfbTLbZEPczwGnLZA+ci8=; b=ZlXj37l1cH6WkCgYG0biKDsGVOZekxarHbhS+2En9ybbCOVN9eXZdQXoHapx8Y7qep WBJ3asQJaKTdXoE2GO5eQuerJuI8NlXRK/PPYYTXl5X5I18hJxvWeQSL/i3maGa6LFpW V0RhR1BlzQwvT8JPFNGMBh55T4RTJpNpWCW44aIfiTZIiZq3zkGxPTkXfnkqEniol6o3 KcfqdBvP4ZKB73CHCh8s0ZeFNBwp6QfnJgU2EIcVWMsKPKbm4v3b9+FVlUFpvygGd1U5 hi1nI2RPyIfyzNkCt+P6fFy/0z5uMnKM/o8ybP8+rndyeKwYyM9zB8wwKqskjs1v11N0 RLHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392236; x=1746997036; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GmYZsTnUMl5IM410FTxmeaTfbTLbZEPczwGnLZA+ci8=; b=jesl7MVdHQ8H0jmu5onapFkw+HlfTOjB9EZij/mcSvoTLmRz4tT0Ncy3nz9orjORhx BBN32g+srrTFFrZS/tPxCDf956vfS5E3O9wrcXtzNodXmFMJtj9MNZb9OcpXjo7wsc2k 9GcHFzIOk2Qf3i8abr4tTHiz8H8Wee3NFAx579dQNyPFlDYrr+xKKObLx9ppMA+Wh3Hj eYRw4wFOxb5YT1JvrePv2G4J8uYBU7GuPgDiF65cvfsAvpaAmThw7szJkwtpWoqW1lci LAACWHWpzzmwPqktoHNqaTablKD56FzoYhT2riZZ8yabq6X3fPixA9ST5wUZad99iD5X vHVw== X-Gm-Message-State: AOJu0Yzg0i1/1XGucarXXVPpjSTr1NJ+yk+53m0+7kTGREuoA6Gv3eln EGzPcVx2YFDyeDMY0FL3j4kQmQ4Xo1fNMDcjuXg3GsQM+B+NN0pRT9WjvFzJ3AUZEvY7us+CAAv L X-Gm-Gg: ASbGncu8Iq694X4QchN6eelvq9spnQU6gTg/djwp1gyhx3oXpp66ZC3FfA36PDPUgbM Z+j8CvOunvmzK3oGkqd8idxnYTjeEzYTUUfhc3Yj7KxIlPtinVt74xg+iJMSuVVauWHufgjPhO+ not0EZHdrYH4/dS1QsekFug1kxY9wBm/eCuqrh+6p7uMYoA39LNbd5D0Bgftmq9EYxDW4IfJ+2P tSetttj/bbL0VR2R1BskheZflq2PMGDOYMMOgVcr30zxLIQnlRtKpg5Bf+iVgLMU1K0qTQHcwna arZlYg/RPdpVC/Muwb3vMkd5NzZjmXuc51KDlBmtcQ9UH4wb9tnos+sWG5sUvI/+VM+0RQ1QmmW cdiaRU8TGCQ== X-Received: by 2002:a17:903:4403:b0:224:1eaa:5de1 with SMTP id d9443c01a7336-22e18bcac92mr83986955ad.18.1746392236258; Sun, 04 May 2025 13:57:16 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com Subject: [PATCH 01/12] accel/tcg: Add TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:02 -0700 Message-ID: <20250504205714.3432096-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- include/accel/tcg/cpu-ops.h | 7 +++++++ accel/tcg/cputlb.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index cd22e5d5b9..83b2c2c864 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -222,6 +222,13 @@ struct TCGCPUOps { bool (*tlb_fill)(CPUState *cpu, vaddr address, int size, MMUAccessType access_type, int mmu_idx, bool probe, uintptr_t retaddr); + /** + * @pointer_wrap: + * + * We have incremented @base to @result, resulting in a page change. + * For the current cpu state, adjust @result for possible overflow. + */ + vaddr (*pointer_wrap)(CPUState *cpu, int mmu_idx, vaddr result, vaddr base); /** * @do_transaction_failed: Callback for handling failed memory transactions * (ie bus faults or external aborts; not MMU faults) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 5f6d7c601c..c394293d33 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1773,6 +1773,12 @@ static bool mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, l->page[1].size = l->page[0].size - size0; l->page[0].size = size0; + if (cpu->cc->tcg_ops->pointer_wrap) { + l->page[1].addr = cpu->cc->tcg_ops->pointer_wrap(cpu, l->mmu_idx, + l->page[1].addr, + addr); + } + /* * Lookup both pages, recognizing exceptions from either. If the * second lookup potentially resized, refresh first CPUTLBEntryFull. From patchwork Sun May 4 20:57:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887210 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753384wrq; Sun, 4 May 2025 13:59:08 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUVBR0CFsRSxBhxRnqQJgMf4uvArUoGBL7gXrvlJ9rhJz1ImJlGHHftldXLMTPAXVxxARVnwA==@linaro.org X-Google-Smtp-Source: AGHT+IGJ2GYWuroIH+WWWLhBvYtAK77Ewxh6kLG5gUzF0WkBK+fIO5hHl4kye3wJOz+2CqsK88Xm X-Received: by 2002:a05:622a:2d5:b0:477:6f28:3eb7 with SMTP id d75a77b69052e-48dff2e4cf4mr82335301cf.3.1746392348189; Sun, 04 May 2025 13:59:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392348; cv=none; d=google.com; s=arc-20240605; b=kg7GQ7D9n3ckcJTE0h8fmdNa6/cZnxcweilwnzIAysw6GP0nHvCF+xBfpqaKV5YRw+ D9ZHrd/x7z+k2jQnYl6wSq5V+/D2FmqJTlrshC1PL7XVhF+N3pmnSZAdeXYhCTW2JS6M ugCIWlcj/ixYbE//YsX8Ojb8t/Oqbj/SMX6eFcUDHcN4GMlH5ToMm/MZFuhFb6fszskU BbChY3AY0MNPwymz/q5cWVKtQs4k/mOVLnvrVUhRGSWGjnR2CnkQls8NVhUPpBqnAV7w DP3kcZ+g8JKCGQwdH98SnI/DknJB26NQlUtNRY0QT6LfXLH1JojV+sBqfR/kskl3sZSr WObw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OmHqHslUT/R30MADH7naEbPJDNCBfrJgNIi18eIVP5E=; fh=p4CKtYrQK6yyWfCx0ot7WxlRzfTesnQjI81xstJJeSc=; b=R2tqfol0yuf2d5rOOdAdw4ITVu8FaDDz/wUvvK2UwQ5g9EmLjbCrp7FH9Q5DmITTd4 pUx3NwLILa0k4f0j5LwKZju1divDPCR5+J5Oqide5/nijfn76c8d20jG573rbXLdEY1I hCEHN1PnRppVClPCComTu3G4RnBqUhs3LxsrCYDnlPaKPMUj4UnnJG1pyFqymrL8VA5C 6s54RFV0XyN9PLsmTexmIIrZbbtYhO9THR+sr5yfeVV7VMqMJwkqOJ6mh+ZCO/xAwOQY fzK95zqWVET+U0Nk1rNEHwc+BusZ31RK0z/A8DViKoLjY2DqBfJA+wRw8gvj5qDRQKZM mvCg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=K5u+E651; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-48b960ce216si80690331cf.116.2025.05.04.13.59.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:08 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=K5u+E651; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgOx-0008Q0-Qa; Sun, 04 May 2025 16:57:31 -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 1uBgOm-0008L6-NQ for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:21 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOk-0006vv-GB for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:20 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-223fd89d036so41535795ad.1 for ; Sun, 04 May 2025 13:57:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392237; x=1746997037; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OmHqHslUT/R30MADH7naEbPJDNCBfrJgNIi18eIVP5E=; b=K5u+E651IscuzU6KpLuc0vkrzE1la7iVtoVZoQBUfq9WtxrlZRf0SQMUMIDY8qe00M tcU41jJ7LSCCw6oC/1M9anUhOJdwhR7q9jyPTHTIe2t6N1+lo9eNgfh1HuUU2E63nXLV 1MrnuIf/8GtCZ1NhRfm81HXq2t0i/g15j7zU6e575x+Y1Wkubko1RZ1+n6iXEe/7nJHR 690kPM5XNq6wPpKxYajxKt/IYn3ASsCk+IX/KN1wyFnuoHBTseFp+eHovFG51pyfpkFo 08yIyLtUDKANw5gWM5x/KlFcV/aeNPfZp3Fdni20wHJE09yS8f+XH4gZdBg8TonDR9zq JMHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392237; x=1746997037; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OmHqHslUT/R30MADH7naEbPJDNCBfrJgNIi18eIVP5E=; b=RAzvsYeA9JkrBhBzjNaHmL5EgcKS5gePb1BMovetzZ7KSgvOEMKDP6B7KN2knB2FeU 8xCLh7QdSwwtgO3P2BzcCKcSZH4NKOAUUUEkxQ17Wb9V7MdbiP1uJ6Iwmp9F+zelyJno mFgnvKSqMCMAeL81fPkMWob/LIbZZBtcF0WYv9h4CKLkhRBfI8aO1bgmeGc/n/5U8JG1 5O9hHY0kTMRKhZKR6e1UKVFrxlm4iDW3pWj+TCc4C9zgUwHSgDxyJMfaKtmb3TxTSma2 EKkpYncdAxCQDUQflyRkHq0Vg4Jo0M9Wqr5lGulyvqpSsL+e814eIt+6kjLvvgBF7GEJ bNpg== X-Gm-Message-State: AOJu0YybcIQJTmhwfa5TJBjnTz/KFefyHv+4RDp3ArTZCSFh6WsclEHa Rv9IQ3TDbIGkWC7yUWg6IRlYtopyo37dvEkbkn+F+GjH3i+nURCuZh69KYF/6tYbTRb8hCKrK+U Z X-Gm-Gg: ASbGncsWV+kFM4No7tJhSfUbrFAKxtI5dCdi0xDmLK0Ak+wrxb21d9VGxX3XTzRzGBE nM5CRyUnUOnN9hMIQLLeBMRRZxrNDhB6svQy/kCsQJbhrY01FmWV3KRoaoE9nKv9NWJVRS9/OR0 4dYvzRjt6ABA9ik+rpdQ/aS5tYklvhD+YLLDy/yQDPCukllkndbYOkhKf+mkEQykDjf3YJxwi9o yXsvA3cicCL8mD3cn0HpkWYECVJRm1bbbFMw9IZhRlpm5HrLkwpy1tCFi4i1CKyz6Hp39UZ0xio daSYDh/gaDXocl1HzMtwCU3Uoh/BqgEW9izFDPKW9JAVVfeL/VFNkUYLAOejLwBeqoGAeg/sg+I = X-Received: by 2002:a17:903:1aab:b0:225:ac99:ae08 with SMTP id d9443c01a7336-22e1e8c1fc1mr67896135ad.5.1746392237069; Sun, 04 May 2025 13:57:17 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:16 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, Helge Deller , Yoshinori Sato Subject: [PATCH 02/12] target: Use cpu_pointer_wrap_notreached for strict align targets Date: Sun, 4 May 2025 13:57:03 -0700 Message-ID: <20250504205714.3432096-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Alpha, HPPA, and SH4 always use aligned addresses, and therefore never produce accesses that cross pages. Cc: Helge Deller Cc: Yoshinori Sato Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- include/accel/tcg/cpu-ops.h | 5 +++++ accel/tcg/cputlb.c | 13 +++++++++++++ target/alpha/cpu.c | 1 + target/hppa/cpu.c | 1 + target/sh4/cpu.c | 1 + 5 files changed, 21 insertions(+) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index 83b2c2c864..4f3b4fd3bc 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -322,6 +322,11 @@ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len, */ int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len); +/* + * Common pointer_wrap implementations. + */ +vaddr cpu_pointer_wrap_notreached(CPUState *, int, vaddr, vaddr); + #endif #endif /* TCG_CPU_OPS_H */ diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index c394293d33..75cd875948 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -2932,3 +2932,16 @@ uint64_t cpu_ldq_code_mmu(CPUArchState *env, vaddr addr, { return do_ld8_mmu(env_cpu(env), addr, oi, retaddr, MMU_INST_FETCH); } + +/* + * Common pointer_wrap implementations. + */ + +/* + * To be used for strict alignment targets. + * Because no accesses are unaligned, no accesses wrap either. + */ +vaddr cpu_pointer_wrap_notreached(CPUState *cs, int idx, vaddr res, vaddr base) +{ + g_assert_not_reached(); +} diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c index 890b84c032..2082db45ea 100644 --- a/target/alpha/cpu.c +++ b/target/alpha/cpu.c @@ -261,6 +261,7 @@ static const TCGCPUOps alpha_tcg_ops = { .record_sigbus = alpha_cpu_record_sigbus, #else .tlb_fill = alpha_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_notreached, .cpu_exec_interrupt = alpha_cpu_exec_interrupt, .cpu_exec_halt = alpha_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c index 6465181543..24777727e6 100644 --- a/target/hppa/cpu.c +++ b/target/hppa/cpu.c @@ -269,6 +269,7 @@ static const TCGCPUOps hppa_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill_align = hppa_cpu_tlb_fill_align, + .pointer_wrap = cpu_pointer_wrap_notreached, .cpu_exec_interrupt = hppa_cpu_exec_interrupt, .cpu_exec_halt = hppa_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c index b35f18e250..4f561e8c91 100644 --- a/target/sh4/cpu.c +++ b/target/sh4/cpu.c @@ -296,6 +296,7 @@ static const TCGCPUOps superh_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = superh_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_notreached, .cpu_exec_interrupt = superh_cpu_exec_interrupt, .cpu_exec_halt = superh_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887213 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753437wrq; Sun, 4 May 2025 13:59:23 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVaf1RHQSlRE9nNY1VIomxJZx6BhTqjMllHdHKOrzL7qiacziJ5HOqFv6n9BdRasQuwZbVpHg==@linaro.org X-Google-Smtp-Source: AGHT+IHIScWAxnq2oY5W9J8BkFRcdVpfkVAOWhyAt2XLeLi8mz4Rs3YiSXQwhZZtgvVjAIe3R6oe X-Received: by 2002:a05:622a:148f:b0:48d:2fa6:3876 with SMTP id d75a77b69052e-48d2fb57da8mr105612991cf.8.1746392362889; Sun, 04 May 2025 13:59:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392362; cv=none; d=google.com; s=arc-20240605; b=TTwgdn8Ahz78n4m2SxSkNuckd6gt4OKF1Y01arpTca3OpJsQcZ02H5MkrjqMB6DAoK EtBTpJxDFLnftquVzIO5T4M14Dk67SLeuXNqhONX+rm3eBoNbkTDDUUqeovv6FbzFbQX oQBixibdwdGoWa3OiLHtZW04fAi4oE8PbuLHlF/QMYjVIZJVm/vb9AOSQUrmUxxTANxy sEIjl7rlfxsMLG5Ir/DZULNhK197Kavipe0y4cMBgDQXyaGucwA6ePkGTitHV3DSOZmY ygL72L6Ym2mGHU9ggQ790Y7YR2VMYY6u7M11OeWc28e6PAeC1dk9mQ8HLFMg/dtVnPB5 ukFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LsdvHpchZn7w+VdOLQ7CzBJ1Jp1aOUnFam9iiXyOn7g=; fh=KKi5kdl2ce1gsRtKYofhHcLmopdh5TnBxK9HgNIJWWM=; b=bjc7D4d2na0YK+If+6gHRVkCg0xCQGZWku0m3zHynnMnMy5Rl2HuRuU37J92ZRLrks HnM0DIELRsyVvZlI9nk0B0Re8yudmO5okws+WLgyTOab2wC2QWOOZsm+KkgE7fWEEeYe 3mBgqzx6ARiQfkVNERYVyvFk0XZAfqdgrm5Vtoan+SOanAJUsM9SToPTZM+7GQwLYu8y HaLABet60EI12wqTurc0/B4tXvvS5pm9RmPFH/9BDrhFrCixfCT38oIzObw/mxqSH1gi qe7E9dcM9TGOHevzc9lXJQ5bOb6D3C9Dd5EgnZqtgXn/QZPZQVcY7Km18MDvXzJPJelp vMCA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yoErwMQI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-48ed9957869si15702121cf.476.2025.05.04.13.59.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:22 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yoErwMQI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP2-0008Sf-M8; Sun, 04 May 2025 16:57:36 -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 1uBgOo-0008LT-Bq for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:23 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOl-0006w1-M8 for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:21 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-22e09f57ed4so33323475ad.0 for ; Sun, 04 May 2025 13:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392238; x=1746997038; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LsdvHpchZn7w+VdOLQ7CzBJ1Jp1aOUnFam9iiXyOn7g=; b=yoErwMQIiiP/vNND36mfQn3JfwLhfPuM4W7LuOE0IeSfICkUcm5KMqrfXSXO97MInO pdPOoJMnZ5W+uugm4xSiOmhelUiWtamdkFkCQWAVaDGfQlMFmegKQXl44DKcLvghQo9V VkG4PHRLS1CzFr1CwkZpedD3NWWGqObzZMuiqf1Is2Mr5iBCp9aIqi4oldmgdZGQufXi LD8Y1ELcLGiM2KEZUYtFTr7k3BdZ4K/0YyrVVTFji77PxzTLb1KiEt37e7/dgM1s3yty EtijlnpcloKS6XXOmRMAUDXndT6c4gQkXbnYG9ilMk63EShcwaw/TYISNb/pUvzogZOd o/kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392238; x=1746997038; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LsdvHpchZn7w+VdOLQ7CzBJ1Jp1aOUnFam9iiXyOn7g=; b=Ghs/nDFqxPfG+RIVIQv9y5SVjDyfEwFp1o27AICphJ1m8+ho6iseZuPGd7Sk12oC5L +1L2RXHBYuODGu+4l5LbOibU4F35F1bzSjsntxpIRew/t6FGBGfXqIsyPXKDn+xM8/Je CsCv/Kuw/9F4GpsBiC4A61DDL4UWc89swHhWMtIT3+VjeiyVTBlfSpMqlU3xvpY8loZ9 cmhQA6K9Ibjo2r0PcBK9TVwn9rLj4rzwl8DaA256GgY59Xsnl1j8O/WpQDlp+eV6p6c2 NBv0irBNNTHM1472uv2mRZNeTFOY3aGpPPpLAzOpqB9oe7AuutBlswKCVLw6ucgtbIP1 037g== X-Gm-Message-State: AOJu0Yx0+7uW/9zrTvehQ3ymPvJWzTerZyPpYpLSXwdc7ag42d1PmfmN XCwYHgJIxxwAPUWovb8v2GSO+frGxyiU63Vq9KrNd0P5HT7034SqsYAgCq/MrXtpQT5evJ2Dbxx F X-Gm-Gg: ASbGnctmChcNrtE9omDULnTiJNyHfdctGHXSskwKUlpcpvhpgmmtsM9QzUlBYzpjtcA d6Zaal+2AU4MGmOSxOpM9c9N6uJzXw//kMUa+DlM7UnmdjFWH1xUth1zXPbiFGLZW5FCmfXbqlx qnewE1y45i/o9kuG/UT3IcSCJaxOlL8N/45cQh38RSr+85NOMZDbNg0guHwcPLV6KlVJwYKrn7A rfCoQH6wAZvOPNqmaYxkvaQAoaOqXhvX3nDszSFjJ0RiQWH8CkECXnjR8qpYnSGmnzRKSg8DHK+ MybsDXBrDAprNRFCGHeHLCYznKCg3kHRxQ+xoccsx61q0H+Q9FASZIa/TLpP4ZSqsqmvzTbk2yY = X-Received: by 2002:a17:903:98d:b0:226:3392:3704 with SMTP id d9443c01a7336-22e1007aa81mr169779475ad.12.1746392238175; Sun, 04 May 2025 13:57:18 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:17 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, Michael Rolnik , Laurent Vivier , "Edgar E . Iglesias" , Stafford Horne , Yoshinori Sato , Bastian Koppelmann , Max Filippov Subject: [PATCH 03/12] target: Use cpu_pointer_wrap_uint32 for 32-bit targets Date: Sun, 4 May 2025 13:57:04 -0700 Message-ID: <20250504205714.3432096-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org M68K, MicroBlaze, OpenRISC, RX, TriCore and Xtensa are all 32-bit targets. AVR is more complicated, but using a 32-bit wrap preserves current behaviour. Cc: Michael Rolnik Cc: Laurent Vivier Cc: Edgar E. Iglesias Cc: Stafford Horne Cc: Yoshinori Sato Cc: Bastian Koppelmann Cc: Max Filippov Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias --- include/accel/tcg/cpu-ops.h | 1 + accel/tcg/cputlb.c | 6 ++++++ target/avr/cpu.c | 6 ++++++ target/m68k/cpu.c | 1 + target/microblaze/cpu.c | 1 + target/openrisc/cpu.c | 1 + target/rx/cpu.c | 1 + target/tricore/cpu.c | 1 + target/xtensa/cpu.c | 1 + 9 files changed, 19 insertions(+) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index 4f3b4fd3bc..dd8ea30016 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -326,6 +326,7 @@ int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len); * Common pointer_wrap implementations. */ vaddr cpu_pointer_wrap_notreached(CPUState *, int, vaddr, vaddr); +vaddr cpu_pointer_wrap_uint32(CPUState *, int, vaddr, vaddr); #endif diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 75cd875948..022d555f48 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -2945,3 +2945,9 @@ vaddr cpu_pointer_wrap_notreached(CPUState *cs, int idx, vaddr res, vaddr base) { g_assert_not_reached(); } + +/* To be used for strict 32-bit targets. */ +vaddr cpu_pointer_wrap_uint32(CPUState *cs, int idx, vaddr res, vaddr base) +{ + return (uint32_t)res; +} diff --git a/target/avr/cpu.c b/target/avr/cpu.c index 250241541b..6995de6a12 100644 --- a/target/avr/cpu.c +++ b/target/avr/cpu.c @@ -250,6 +250,12 @@ static const TCGCPUOps avr_tcg_ops = { .cpu_exec_reset = cpu_reset, .tlb_fill = avr_cpu_tlb_fill, .do_interrupt = avr_cpu_do_interrupt, + /* + * TODO: code and data wrapping are different, but for the most part + * AVR only references bytes or aligned code fetches. But we use + * non-aligned MO_16 accesses for stack push/pop. + */ + .pointer_wrap = cpu_pointer_wrap_uint32, }; static void avr_cpu_class_init(ObjectClass *oc, const void *data) diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index c5196a612e..6a09db3a6f 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -619,6 +619,7 @@ static const TCGCPUOps m68k_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = m68k_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = m68k_cpu_exec_interrupt, .cpu_exec_halt = m68k_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c index d069e40e70..5eff1610c2 100644 --- a/target/microblaze/cpu.c +++ b/target/microblaze/cpu.c @@ -449,6 +449,7 @@ static const TCGCPUOps mb_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = mb_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = mb_cpu_exec_interrupt, .cpu_exec_halt = mb_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/openrisc/cpu.c b/target/openrisc/cpu.c index 054ad33360..dfbb2df643 100644 --- a/target/openrisc/cpu.c +++ b/target/openrisc/cpu.c @@ -265,6 +265,7 @@ static const TCGCPUOps openrisc_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = openrisc_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = openrisc_cpu_exec_interrupt, .cpu_exec_halt = openrisc_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/rx/cpu.c b/target/rx/cpu.c index 36eba75545..c6dd5d6f83 100644 --- a/target/rx/cpu.c +++ b/target/rx/cpu.c @@ -225,6 +225,7 @@ static const TCGCPUOps rx_tcg_ops = { .restore_state_to_opc = rx_restore_state_to_opc, .mmu_index = rx_cpu_mmu_index, .tlb_fill = rx_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = rx_cpu_exec_interrupt, .cpu_exec_halt = rx_cpu_has_work, diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c index e56f90fde9..4f035b6f76 100644 --- a/target/tricore/cpu.c +++ b/target/tricore/cpu.c @@ -190,6 +190,7 @@ static const TCGCPUOps tricore_tcg_ops = { .restore_state_to_opc = tricore_restore_state_to_opc, .mmu_index = tricore_cpu_mmu_index, .tlb_fill = tricore_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = tricore_cpu_exec_interrupt, .cpu_exec_halt = tricore_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c index 91b71b6caa..ea9b6df3aa 100644 --- a/target/xtensa/cpu.c +++ b/target/xtensa/cpu.c @@ -318,6 +318,7 @@ static const TCGCPUOps xtensa_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = xtensa_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = xtensa_cpu_exec_interrupt, .cpu_exec_halt = xtensa_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887206 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753091wrq; Sun, 4 May 2025 13:57:42 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVPgl7RbPwr1Ng3UavVJ9C63VWacTAQUHN5AbvGrgru9YMXJZBIcDDPXkfWZAG04roSGt6DHg==@linaro.org X-Google-Smtp-Source: AGHT+IH4lPlY+6gIGxXBBK0VT/K8Gal/ttrIROgS32kFjhlVpNc/JKZ95Rc0OGgc1gsDDXM3oslH X-Received: by 2002:a05:620a:4244:b0:7c5:60c7:339 with SMTP id af79cd13be357-7cae3a88494mr572206285a.9.1746392262424; Sun, 04 May 2025 13:57:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392262; cv=none; d=google.com; s=arc-20240605; b=XZ/hUbs1yj1p7m6EnNaaq2keH9ZV0XAeZlZ7tQbmjtypOww87QNshKvCCUybnhvwlL fJAXCbPRs7xWI53VBhBKYFV0lgbJ/SR9sagVsftAvzzt/hOrfKzM7lMyHjvBddNEegA9 ardPLUOJXXXJiYX3J84vX8eVmiw8mgDjoiKS3Y3st+uxGffFX7CRUKDKzJCU9g2LqNi3 x4AnLLDpzndZV/5Xp4IFBC62tEhNC9884tfyO7XhDh3/dNI/YiLVcDUStWWP2qVASQMs /StKsIpX824KSr9zasbPE0IXyEfmJUCYsbJf9NpJioHM1cZmWT0Bzrsh0Uk0XHAw5Aju 76DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=el8ZwnuFADKnWT5Jx67GSOlo5+a9PaEYQq8A/ViamLA=; fh=m2VraIPxhAhyiKyM9VAS116srqIrpxnq+m7EVELXdfM=; b=CWVfiVgmRvCC9FPopYVVe4ftq7dKAhQi7CIi2NBnmIvFRDyYnb2Y2aIs+HSJLfI8WL Aga3YLJtWML2YI1Nv1ZcuSIiA4suMllHG+ro2zYKLlfqsk7ca7kHqw6Gx41dL5P4HmzI YQqSnYbMib0Gt6zZkL+o1PKxeEiuH25669x3M9G9JrVbdOo/e3wCWtYGVnZWGRcbP8KP eRIPgRCJzOvQ8EJr7K4gnUFPZgFdPov1X4QREbDEYifeFuX+tY4Me8X7LZtYAkrsATB+ 1c/i+OBC7I0iLHHoX4CmhLGbUYxCMlP5/HbVCQuK98mhoOGy66rK9D4mL3OefoHEWxbi YOWg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UttDiJsL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7cad23c7bc4si723995085a.144.2025.05.04.13.57.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:57:42 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UttDiJsL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgOx-0008PA-CI; Sun, 04 May 2025 16:57:31 -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 1uBgOo-0008LS-BW for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:23 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOm-0006wF-DK for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:21 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-224100e9a5cso51794745ad.2 for ; Sun, 04 May 2025 13:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392239; x=1746997039; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=el8ZwnuFADKnWT5Jx67GSOlo5+a9PaEYQq8A/ViamLA=; b=UttDiJsLtPOGIV2Nk034IRbQb1wUNDHsuv1rmrapK0+kzKfbqmgGY3x13JndfNFtRf fOBne8X7dTHvTOj2+dJTJD7YhXGkFIgjT9gWS+zlEJ/bWX/7QFits31wanKC+ocGk0cV US3wiVaXdnfb7aAfpXPJtPMNrvxXL8kauolkEKdJPI7O1PXqDrZUHToNlgumHMQ+cgeG V/cVqxS0ePEVxaPrd9bcpumaCYJ38RfYWNia3PZFmPyEI98K2q6/A65S3n5WufDgD/CI YjpZHPNABGp9uoukgyGZN8kcyMfPI1fV/8yYAsvoFA5g7AiF3Sr62JXCssKyv91OX7IP O+AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392239; x=1746997039; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=el8ZwnuFADKnWT5Jx67GSOlo5+a9PaEYQq8A/ViamLA=; b=Wm1AIhi1BOYwyUHBxIE3HArJDTGIDj2fzh8GJMgyVSuX7znHiNbYcFO6awZdy0tjsx B2B+Y82r+sV7p5/rSqQ8H/rSMyDpuWJTtWVdSZM6cNrA4bgGjeSHXF3VXlyA9EF6qcEs L/A/eCgBB5Dg46QtFyGGbd/U4wW0qUIk3YaYh/8sr4ZBrka8lmZVyP5CB/6dGmZNzm8R i22PYxdKdlZz6h0tWpZsi5IqeYx5wuiVA2/kJjhN5YvgU8Vp79oYld3fqtK4fEyzh54/ zjhJaQ4IGUdLe55LZWOPuvr9o5fQcvzkaVze4kPvI+osF/UrxiIGEH1PfdU0hB/dA+BC 9F+g== X-Gm-Message-State: AOJu0Yzii+I9Kaebgt3Q1oil4izahOjTYbM9xe0AH5XQUHivzF5R5zYl Lbok3ggThEKALTJSJIQKyXmOaTcvXzes95bnB1IM9Mf3KfkUjh7lIKwprOF8dCoPAJFV1YXDi8D O X-Gm-Gg: ASbGncsZeu7B+FxoD993IfzapZypqjNoHh4sUciCur37uy1YvThCexaHtWbf4MsjWjJ sDD9xqgmzr7CH6QSjKmB7UmZhgkeGWMVobLvUvyqgU2rq42vk1ShEqT9uEN8hZmuK84tDH20Gmc gxNwWI7nmFCCnpcwbI9154d3AMc8o576NRBimUC9J1FKvCou5pOPXXEvHdG9hb8XCo96oTyRsDM 9cwVhHKl+RERqGUjboauMy/zR269HjvGVs9jhX+NXl5+MVsFJshM6EmcYi/NyUCbDjsW0ebr0Mn DlD3lxTbvWd01T2/rosgjo3QrSsYPf8TIhIzhkaLT+tP40UH5hE/PFEVoDxSA7dkJPMnZtoyx0M = X-Received: by 2002:a17:902:ec85:b0:21f:988d:5758 with SMTP id d9443c01a7336-22e1ea61942mr69746255ad.35.1746392238999; Sun, 04 May 2025 13:57:18 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, qemu-arm@nongnu.org Subject: [PATCH 04/12] target/arm: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:05 -0700 Message-ID: <20250504205714.3432096-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org For a-profile, check A32 vs A64 state. For m-profile, use cpu_pointer_wrap_uint32. Cc: qemu-arm@nongnu.org Signed-off-by: Richard Henderson --- target/arm/cpu.c | 24 ++++++++++++++++++++++++ target/arm/tcg/cpu-v7m.c | 1 + 2 files changed, 25 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 45cb6fd7ee..18edcf49c6 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2710,6 +2710,29 @@ static const struct SysemuCPUOps arm_sysemu_ops = { #endif #ifdef CONFIG_TCG +#ifndef CONFIG_USER_ONLY +static vaddr aprofile_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + /* + * The Stage2 and Phys indexes are only used for ptw on arm32, + * and all pte's are aligned, so we never produce a wrap for these. + * Double check that we're not truncating a 40-bit physical address. + */ + assert((unsigned)mmu_idx < (ARMMMUIdx_Stage2_S & ARM_MMU_IDX_COREIDX_MASK)); + + if (!is_a64(cpu_env(cs))) { + return (uint32_t)result; + } + + /* + * TODO: For FEAT_CPA2, decide how to we want to resolve + * Unpredictable_CPACHECK in AddressIncrement. + */ + return result; +} +#endif /* !CONFIG_USER_ONLY */ + static const TCGCPUOps arm_tcg_ops = { .mttcg_supported = true, /* ARM processors have a weak memory model */ @@ -2729,6 +2752,7 @@ static const TCGCPUOps arm_tcg_ops = { .untagged_addr = aarch64_untagged_addr, #else .tlb_fill_align = arm_cpu_tlb_fill_align, + .pointer_wrap = aprofile_pointer_wrap, .cpu_exec_interrupt = arm_cpu_exec_interrupt, .cpu_exec_halt = arm_cpu_exec_halt, .cpu_exec_reset = cpu_reset, diff --git a/target/arm/tcg/cpu-v7m.c b/target/arm/tcg/cpu-v7m.c index 95b23d9b55..8e1a083b91 100644 --- a/target/arm/tcg/cpu-v7m.c +++ b/target/arm/tcg/cpu-v7m.c @@ -249,6 +249,7 @@ static const TCGCPUOps arm_v7m_tcg_ops = { .record_sigbus = arm_cpu_record_sigbus, #else .tlb_fill_align = arm_cpu_tlb_fill_align, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = arm_v7m_cpu_exec_interrupt, .cpu_exec_halt = arm_cpu_exec_halt, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887215 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753460wrq; Sun, 4 May 2025 13:59:33 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVPPTr6mB57a5mKOf1WHpdNbf5BPlDPfxQEqp8RYhE1bQywu1ssE755soT2wsi3FvRKy/4p2g==@linaro.org X-Google-Smtp-Source: AGHT+IFbgXoOosQicLil20cZBRuU67WUfslSRADstyiAplRNX0kAypM8Ru89HqblIJ9ERzQQgaWK X-Received: by 2002:a05:622a:10d:b0:47b:3ca:4680 with SMTP id d75a77b69052e-48dff2e3ec2mr66951401cf.6.1746392372833; Sun, 04 May 2025 13:59:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392372; cv=none; d=google.com; s=arc-20240605; b=HPsDu5WIDQdxKNqWt47FfOfp8IlRGo6OulgXm/XycHpOzllO9cOWW0uCLV5Hl1cXi6 tNCDVj07oi7826Qsdbey2tunkXYA09lBiJqfEyoc9spyLWkvDnzYLGBh0Z+yXqOGWr28 AhdbKBXjDu+uPTn/iQ+FXAJU4mr4nC8GYIrZj7tlZ/VurNLbWVWqcJMML7tSDm/7WV/Y /GNsxoCTst+PIoFakRhj2R9UIT+D65oR33SxKbGStFR3I9Jrs62qHacK6+N8b+MENqJx tKP+gq14K6dC4e7qNyMcT3vi+qzDr9Z9PUCOE8PT7295GB87oNU2dhnx9H0b7/uHETHT oueg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ZDUucsVfN8y2irEntE8OMOE8JkQwtgG4PNL9nMV9SgM=; fh=YD8bL2nPriUESfaHHtbmD/3caOpif0TXLAMxVELVioY=; b=hp1DkhkR/9Lga4TnmILFB6k78GZreEd3smTkadLV8a2D09LkAl6Ac/ylzQtcWFQpf3 3ju1qekmWi9sUwJFGGfJioVxp4PeX7B6VRDALZAglfd9RxHadBhF16SyK1dsOz0G0gro 3swZJd82gTiGoywnSNRQryHd7+aT8YieGuUNc8QSOlx67N280Y9/zjK3TR4iZmBi78Cf 4F/z75TUQ1JncwXSGOjKHRFtNGrwhOwgatEtaQFaA8Zm6Fv6FUm5gO2xqDMhhFe6w1O5 RgCpGGpxgSb5gnFW9pIokDnWuUeBZBm2474Csj2H3Ey2tj0ztFb+R+l3w+nNWPg/r8xP dzzg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AmSE5A0e; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-48b990fc348si74810591cf.618.2025.05.04.13.59.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:32 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AmSE5A0e; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP3-0008TW-Cp; Sun, 04 May 2025 16:57:37 -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 1uBgOq-0008Mx-LU for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:25 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOn-0006wK-Vh for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:23 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2254e0b4b79so55975345ad.2 for ; Sun, 04 May 2025 13:57:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392239; x=1746997039; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZDUucsVfN8y2irEntE8OMOE8JkQwtgG4PNL9nMV9SgM=; b=AmSE5A0eeije8UErLy+sjOry3EwLAU3kYPWF/kbVzmApqSQfbmtLYgNC5BAWKC/Fcx Hoo4HE1E0hC+vtub7NPW1AEZ9SaRdXr2aeyuA4VcdQiuEHUmhwqaa27wvsS9MkAgTIrt a+raNN4MC+TrEOVHSEaqkFSltznz2ZjMYcxgOtRoU/0djWgFsabCWAekKv+vLnyxBQei rVrxn7loXr3V0pBXSkvH0YcgobzdJj8u1s2JlxlzKX1QV1Cb15ggkkuEEUeTGsWVBriz +TiF/U7L81zls5snJ1OjIIP1CYxesrdTbbKHaWtbXdSUZys7nt57Kj5ti+69GEnSbDWK WS8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392239; x=1746997039; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZDUucsVfN8y2irEntE8OMOE8JkQwtgG4PNL9nMV9SgM=; b=NyYwf8MslOJbnuD/T15o7ZZj7+WbAEa97aaku/M3Kt4PkdE9ZqsSFz79tFvEq4kce9 Xo/bAh5KQG/0jeg94GeAdWjXfO3XyYTV3O+uIR5WeQbER/cRIyPjEbkJC6lGoAPcnVrU Xm/YNAUPN2pDvvT8Z9iyKCx52wxuSK92i1dYhi8AD0EReA7PMBOb2MN3/ha0ixUk21h/ 3JvIzWtpU18BQXv3QY2Pte9dsSjTgVveyp8U3toeX+YzESGINJ5t8SNO/DX7S6b1PQ9V Erxg8neiirL4caqbLiWdox0GKUGfMMEQEkjid0OUIK/I8zkZiWmftKkXbpxD215zHwbT UcMQ== X-Gm-Message-State: AOJu0YyCeWuzFmDMr4hf9KiLF+hsUnI2Q4kOjFmkE2qO+eKjbOdl19CZ awqNq5fqyQfhg6S5jFqfJuz3xbLSSnXzrstKT8+YVVEjkr2pe6E69yjRnEGBiH2HdfzhowN66LG F X-Gm-Gg: ASbGnctfp0/jlD0E5Q+XMHyj5WYpRoywgixsWRYBRtlnVm4GYw9aOQiUc5WNzb8AlGe pFVTLIURZlZBCQCHJxo+11n7IPMbqdbwo4bw6Y6yAj77s+5QVJhitHgiKV2ykIj92B1WRQmYAij ZZg+/81LKzhmQ04DHKepoe5bn2LSZCQeBhbMkO5pqPN9cvTBl29NOkDC2O9eJffuFa2RJcXeqsI vF/nU7oD27IkKY4GFZyBt/5jRKujqUBhmpNUTDwogLyYeLZJC6aN4Bq5YHy8jSmElBc2M6g2sPU x5WRsu168KVsBVIDWuAoRktlqY48G+aN+dt5usbKSRXeyHa6MwENhdROWXuIcT2zRoF4qaLv26c = X-Received: by 2002:a17:903:3c4f:b0:220:f449:7419 with SMTP id d9443c01a7336-22e1e8ea150mr69674855ad.7.1746392239710; Sun, 04 May 2025 13:57:19 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, Paolo Bonzini Subject: [PATCH 05/12] target/i386: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:06 -0700 Message-ID: <20250504205714.3432096-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check 32 vs 64-bit state. Cc: Paolo Bonzini Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- target/i386/tcg/tcg-cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/i386/tcg/tcg-cpu.c b/target/i386/tcg/tcg-cpu.c index 179dfdf064..6f5dc06b3b 100644 --- a/target/i386/tcg/tcg-cpu.c +++ b/target/i386/tcg/tcg-cpu.c @@ -149,6 +149,12 @@ static void x86_cpu_exec_reset(CPUState *cs) do_cpu_init(env_archcpu(env)); cs->exception_index = EXCP_HALTED; } + +static vaddr x86_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return cpu_env(cs)->hflags & HF_CS64_MASK ? result : (uint32_t)result; +} #endif const TCGCPUOps x86_tcg_ops = { @@ -172,6 +178,7 @@ const TCGCPUOps x86_tcg_ops = { .record_sigbus = x86_cpu_record_sigbus, #else .tlb_fill = x86_cpu_tlb_fill, + .pointer_wrap = x86_pointer_wrap, .do_interrupt = x86_cpu_do_interrupt, .cpu_exec_halt = x86_cpu_exec_halt, .cpu_exec_interrupt = x86_cpu_exec_interrupt, From patchwork Sun May 4 20:57:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887207 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753290wrq; Sun, 4 May 2025 13:58:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVLo5ya7dvG8yNykmHa3ddAe+sKOkK0UrWT71FhhrFJbwU3k/7/IDpl2Cb4jDkbiWurRb18qw==@linaro.org X-Google-Smtp-Source: AGHT+IFzbtdMrfIpmxI6FFCiP5SA5FFcZoXPf8r9aT3zp1uOMYmdFx6/45oda1YQo1Y6WgikPqqK X-Received: by 2002:a05:620a:298d:b0:7c5:95e6:62c9 with SMTP id af79cd13be357-7cad57bed51mr1833260085a.29.1746392316018; Sun, 04 May 2025 13:58:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392316; cv=none; d=google.com; s=arc-20240605; b=X8cw9kakb1buBkO7pzizqxscYRRUGwV6Yr9EnVjQdoRrh3NJC3CbB4J2noiQl3ApkQ aB+GB7oPdeaOXGPFGIroDR+l9OofhOROQI/Ces0Od+PgTMmo3qMyINaquUwb2wd8sUXK 6mES0ImWdSaYG74vWX37GKvljPyQ1DslABDkdEEZx7aSWrkouOLAVCwVqtburakYcoB5 Hqf3K3GbYBAag077/LzCRi+qMtKR0+xYWdwAhVDtxEZ12GcJYn6AoLFq9p34Kg9J9kFM jahBWQy69rfl7jNf6d6Pvzly9CSHOLtlrXL9qYb29JLgqwBGLPP0W58ebTyWBhtZFRY6 xIkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aPY0PoTn2GLTyVD137nu2Bjal+slOFwG2h9vUM4KmIE=; fh=jw0QojOeHfLbVns8vePZZ7LgQdYlU8AiM6AlG11nrYE=; b=JGafBXQzQIXN2ZNrjnHfWf9zMDukRJ53cahQrk5SBbZyT/6tgdXmXlfnk84NTW8m8w +rG1crTRkymINIAb8aPQ1a/y2W5fiQQy0kusayhF8h0Ts/maA93vats4GJh1fVgAeW97 fvdDd0N91GGEmu/38Zim/9RrfJA3ld/+APe3Ib4dFQOMx8POpmvyr1TfHnTJFWspmheu 04wXRrh1whOY9zUwb3udy3FJl2nxQUfMono/Hf6tdDrAWdhUINan/D9gNsl3lRnHOLku Zgg+j3F9lEHHDWl5YJuiWc+uSZn0MVICAnyvNQgWvGD7+TjhSKU9ErJTEjj9ZWq7exEF eDbw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=F4R5JOxt; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7cad244a70esi756929185a.579.2025.05.04.13.58.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:58:36 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=F4R5JOxt; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgOz-0008Qk-Nx; Sun, 04 May 2025 16:57:33 -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 1uBgOq-0008Mw-K4 for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:25 -0400 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOo-0006wW-M6 for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:24 -0400 Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-af908bb32fdso3246522a12.1 for ; Sun, 04 May 2025 13:57:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392240; x=1746997040; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aPY0PoTn2GLTyVD137nu2Bjal+slOFwG2h9vUM4KmIE=; b=F4R5JOxtbpfF7ypBcQrHJtAKLbtLwN0W7V3t9iVv0ToAyOR8Nyyb/gnDWFpD24Z4hA 9fP6irSGeqCK+07eM5Waig2RC0+MEk8so5Dd5CeiJawaRnCpZ62g8PY/zcMAmRroa2lW v9Pts5wVMU6gFYFO0amMlgOL6JJnG8zIbAcO45gmUZSjaYMNFUxa/e32IWR8pNu4vJcb msWnj291FcMxlVVMY7egKBlZSQwStuWsc0mBfwOmhEvSpUQ1pVIcrd01UG0Lgs8j2mr2 MugRIn8v/l1x39ZvjcVRhA8U1o8Pk4PasJZshy+JrktOdiNJ/+WWD+zH9wRq+oleilPn 5q6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392240; x=1746997040; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aPY0PoTn2GLTyVD137nu2Bjal+slOFwG2h9vUM4KmIE=; b=j3YbRu7qJQhXvZCFYF4ohKBVONlyfSc+hpClBDasXcM4qfs0sfYzol1yr4HrbXaFUW G3zN6j5jyYaOFxtq+me6iug6/PvZuFkB9nhhv5Nhe33PpPLIDZPifL6vt67+Vkqboluh CrWR4xb9t/FEgwgSgbjppgyzxLjn6Ruz5soYUB8BejEVcm+31N9Hfuv/RMDJJgjuPhlY wKBDADuJRoYpLVszrSpqsufDgNc53KFWCU6n7gc8FfVnJSCUMfFsJxEAGyttkV9275Cd h5kUF6KpgmVCG6aEgjnhPVWUHrcZF7/6UnhtRJyehguwPFA7reih29M/qPzgXVoiQaIM Y3kA== X-Gm-Message-State: AOJu0YxcOnOGSfNSyXWlVEBkZcMl8KxnxOVd+jS4SacsyBoQy7N5B/0y PMA/pSERNKk9SrGV7lgjM6V5uwS2OAW9eHD9DGgG30fRnSC8kd3u58Y0mv6j8TFhgLbCqpd+tFs w X-Gm-Gg: ASbGncsV7an4bGkZ3/AxJr3MtNZX4y9AawgPKN8HB/9YMqd6pTEJVs+M/uaolaode9C lWiiohr7AjZbNynT5e5MHGgPF4dfAbEs9j2y/hKEesTA4N/cMuMNdro+7VVLyOMdUu4QZzsRklC tSXFdEsm7VyAOekV6q/XnKiBYA9ZxYA78ITv2A5h4wommkF9HNHcsC0NkU0SDRfBseEoUbppXBl 3PjwYAoJieHEOIiNcJd47UadVXky4vYSqA/hcmVCgT6xsmR++8u2rE7NbySgCctO1ndv1Lnq1xa OiycHgeAgKKCe2Wn/bpvBO8eiTuOhOxp3oBaGPRp/qPa4WCb6Z7oLnyg4v1runNJ1NBs9n5rIqM = X-Received: by 2002:a17:903:40d0:b0:216:4676:dfb5 with SMTP id d9443c01a7336-22e100b7209mr173665005ad.21.1746392240567; Sun, 04 May 2025 13:57:20 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, Song Gao , Bibo Mao Subject: [PATCH 06/12] target/loongarch: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:07 -0700 Message-ID: <20250504205714.3432096-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::530; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x530.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check va32 state. Cc: Song Gao Cc: Bibo Mao Signed-off-by: Richard Henderson --- target/loongarch/cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index f7535d1be7..abad84c054 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -334,6 +334,12 @@ static bool loongarch_cpu_exec_interrupt(CPUState *cs, int interrupt_request) } return false; } + +static vaddr loongarch_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return is_va32(cpu_env(cs)) ? (uint32_t)result : result; +} #endif static TCGTBCPUState loongarch_get_tb_cpu_state(CPUState *cs) @@ -889,6 +895,7 @@ static const TCGCPUOps loongarch_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = loongarch_cpu_tlb_fill, + .pointer_wrap = loongarch_pointer_wrap, .cpu_exec_interrupt = loongarch_cpu_exec_interrupt, .cpu_exec_halt = loongarch_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887211 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753404wrq; Sun, 4 May 2025 13:59:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUekUr8M6PHkvK2lPf3GZFd06XlnbwNMNta8EcnTc66sTIEEiuqsd7QRadUsg8tEq+RTqeUsw==@linaro.org X-Google-Smtp-Source: AGHT+IGSMYo6sArvb21EEms4pN26zkgacW4esO36iY/3HuC7Etm3ODeQTwNsohgaXSkdeLeTrkaB X-Received: by 2002:a05:620a:1b88:b0:7c7:a591:4f9b with SMTP id af79cd13be357-7cae3aa5a5bmr716858685a.28.1746392355100; Sun, 04 May 2025 13:59:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392355; cv=none; d=google.com; s=arc-20240605; b=Zex8Sf8Z6GpepecDOJmDTC8wTRvH6Gnfcu/PsoR21QbQXspobAr7ao/WVDtMCUbobe jkH12NRNXfDGjOwQvyRZFis/Cf0pHRREW7/Lqn750eEzX+2czk2PlfsRPcrhG21Hx56x AoCf7g46J/Q5E4LZZhJN3YOYeoiG1FcN4wo/WAJHUj3qA7TlsTW9rjKIR11YTiM7Lkfy ndOPHD6ja3r1wB5X4OrSrDxPGQG5F2h/GCeC3oIwwO+BHDL7oi1QM1HQFJP1Dqt2QMJW bM9KPIfOaL5vqkCR3oncsw8b23USjvNYZmh63Zg4ljDDERyFSFYSvyiVskXR643eF8N0 hBGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=C8L43VbOTrH9ZrSVatLWH3zgdrIKpBIl0F+WaJ9mYjo=; fh=gFoDGlaj3dawgo7dxL4ZkFEZ9I6wTEAQ53WU9VogRKw=; b=btupaWqARjRM5Mf1p3ZD+Dht2+xe9ZXbOS4ephT/p7hXIgyqSlNGDBRw7Wqeew7wHx Klt+cgedMjdNK1jo5x1YZjctqr5CBzkqmVsqMJbRjcztMpUREICwUpRbzqtFz5jFUva9 iV6lUmbQ8o+Fs/6MR4oTotIV7jyfYoGpx1lRqP7qEbCBSbPPlx21NCe/Dprr874fssNr HUH4LDDJhi2dzPiHlfB3A9u46ThjIAqgYhwQQW0cZzo5l4hNIyPzCl5A1Uba72eWBXEG dKrQPmZoWgY9+MLLjfJnwpx4icV2wesR/cXBE4/eIT35tshQVL5fz/83h/7gW0tChE3b E53A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S5cpwdoe; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7cad242017csi752099985a.217.2025.05.04.13.59.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:15 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S5cpwdoe; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP0-0008Qq-83; Sun, 04 May 2025 16:57:34 -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 1uBgOs-0008NT-00 for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:27 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOp-0006we-MW for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:25 -0400 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-308702998fbso3395354a91.1 for ; Sun, 04 May 2025 13:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392241; x=1746997041; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=C8L43VbOTrH9ZrSVatLWH3zgdrIKpBIl0F+WaJ9mYjo=; b=S5cpwdoex/ukUKFK1vSq/xBZMWoJj18HfXfm3YbZoI2oJjwbbsCdu6DV/JKpDO58nl CTZ1BGV8LT2peZ+144ywpzBOIggrAxhsBHeV9pteY55xf7fArZK+AKs6DhRDF+Uomym0 QduKmRPGg3zaetJDXwXcSDQvftRCWVMb0A6xPX8robaHIrP4GLt3PDnzfeYnG7z9e2HO ezz5+s9DfaT8XZ9IVuWPjrKVtbxFeTiv358uspCF4Niq5fhBdJw0JE6emGncnPkhypW+ rEP7FqrprUtlsC2Gts8vZGouDCg0TnJRnmtZcyeT8R1x30alSHT5unluI3tc+EZCE/og Yrdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392241; x=1746997041; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=C8L43VbOTrH9ZrSVatLWH3zgdrIKpBIl0F+WaJ9mYjo=; b=VaQUgRmo0xhHHG+MOU2cmoDV59Q4s3BV7ii8k5RyHh/ubihc2s61JJpVHva5+PZrb8 oHPADS3DAhU2alBpVEivNZJ3YWA5t/obLjuO5sKU+7P5EwkrfjpIlS/7cXftEkqz+b/M ReOwceLN30vbEzzFGWdAtfp1E5AyvJ2bzqENnYr6CtvAeoIOCLVzB6Z/6boRNKHkVf0K 6FTvX7/+kVOEVlc4ilrXOylQm0BgjQWLij5WYQPBSrgQaKWWlL5BaAJ1SQjMWEx48oYt 2z/zFY4AyDY/5w4jOiE4O3Rl+GGV2aGpf1pL/MsN04pF92FvVh41/4sr8ycuMZ6b9mst mLlA== X-Gm-Message-State: AOJu0YyvTGuKNAhffA02mKq+oy083d6YhAA8bOGeZJVoCX8vBfYTam4i R04+NJ3tGkzurBCPlAhoAcTLV/vSOHkfT8n4c75L+SbkfbEDX4o462A0PpUZhx3IRll1CasyQbD f X-Gm-Gg: ASbGnct7CRWyJN7tquXccoXHvDt07HgAXORIE2fMnmEHNysI6dnwhmRJFWe8UfBS1EJ DzBMoGc0thGpwjq/0i/z/O85ors8iLFej9JG7EnTXAVlxivGLo3pZZj5Qsx0zLnNQ4VqhGDBoWx I8qhO3tqBbQfoqLki+v6WjGItYiBGsraie2fdQuagV5LWr40uRP1MvV0+q31N6PtnTvMmHJFCMh DZMMeq+8WnvhcwdTw276nQHj2wFrqP86s2YxWEqNf+D0m2uASn8ocLaT2jqLG7s9ZA3u9FHIFAT wp9Ev6OeykZUiisTwLjR6BeDkFlx0rfBh4jRvRLI+J6MjWeVxNxESq0pQwEWObQJK2lhhK78XxR FtFDL//4bNw== X-Received: by 2002:a17:90b:3c87:b0:2f6:d266:f45e with SMTP id 98e67ed59e1d1-30a6196f08cmr9084691a91.2.1746392241256; Sun, 04 May 2025 13:57:21 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com Subject: [PATCH 07/12] target/mips: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:08 -0700 Message-ID: <20250504205714.3432096-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1029.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check 32 vs 64-bit addressing state. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- target/mips/cpu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 4cbfb9435a..1f6c41fd34 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -560,6 +560,14 @@ static TCGTBCPUState mips_get_tb_cpu_state(CPUState *cs) }; } +#ifndef CONFIG_USER_ONLY +static vaddr mips_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return cpu_env(cs)->hflags & MIPS_HFLAG_AWRAP ? (int32_t)result : result; +} +#endif + static const TCGCPUOps mips_tcg_ops = { .mttcg_supported = TARGET_LONG_BITS == 32, .guest_default_memory_order = 0, @@ -573,6 +581,7 @@ static const TCGCPUOps mips_tcg_ops = { #if !defined(CONFIG_USER_ONLY) .tlb_fill = mips_cpu_tlb_fill, + .pointer_wrap = mips_pointer_wrap, .cpu_exec_interrupt = mips_cpu_exec_interrupt, .cpu_exec_halt = mips_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887212 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753409wrq; Sun, 4 May 2025 13:59:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVCQXPAOQZhaiGRGn65D0vNZNi3oGhoIVm6ZvHoPyYdHq8MNoXQ7lmBrBoFwzEPFX9RXVBKAw==@linaro.org X-Google-Smtp-Source: AGHT+IFrVSMmYP0J6kA6TDl0fW2BiUcof/R/mXZNyPb97mMi30LUYidjautSN7Er2QhTLm16lA5G X-Received: by 2002:a05:622a:5884:b0:471:fc73:b656 with SMTP id d75a77b69052e-48b1aa581b6mr202304041cf.12.1746392355780; Sun, 04 May 2025 13:59:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392355; cv=none; d=google.com; s=arc-20240605; b=YQq6PYVp+sxUsq/+kuWt9Mf4XqtYN355wjtQjZY6SH6PYkLI5iWi7YR1np3fvyAwbL xA1csdbqYW2/oUS2ms3NdLkqN7huQyRQWu3wyyEJ8EbX0r9GRBmUuVXtf1rCgwUHAiXZ cP8ysNnY8rJkU+tzVjPzuXgrpIz1L6LDFcEuuZP/Pde0hWTMBVPOzU21sztgIR9n+PAt GcFUZp6wQ4mG5MDbH8ZW3jLmOwTERd9tyke7LL0QJyHP1BlL/P79HmN4nRTGglONCWrE X+q4pxelVsjGqoARCbXUdONoVdQEhdquLVD2K9s8Oel9+uJ9GarX4KL84w3CqI7ak2Sm 7pug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/8PKPlYK09WrFi4XlR/wFHCWNHO85sXDuZWr9mCY9fo=; fh=uMTCNVQAufFUQawOlH/fDoMp+P+KFApQNoBUYnSzXKc=; b=Vj6SqNwsc6REx0fpAJcdZUlY8NA5UbrJOd380Hnqa64HEzEOaaO6Q0JqbM+rMBTIqB LqvcZCJ1Mbo52atTG/7dOVD2rQ9eucmmPmPg8XtC62Q+68XDiKsBgbEWOBmSTkEG71C/ avzGlBdzH6LGuFocgeHU9CgNOF1VCoKjMwx5AIuJFeDJDCBEN4MIh84lzFkkH+m8oi/7 OU+eslFx0RfgmjGwoWm98wvKmtvBIwELawrtwxUeYDe/lFr28p6/1DXMgeIQBjH7NTiv ZrnNM7kKRW8GcouP5F2t4xKT/q4X6fMS5k9+gZtDi4WKgg9pjLH+I8rE4lziYQw4M9Sv U9Xw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=oioSdV3W; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-48b98247edesi77504421cf.208.2025.05.04.13.59.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:15 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=oioSdV3W; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP1-0008Rg-2c; Sun, 04 May 2025 16:57:35 -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 1uBgOt-0008Ng-FR for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:27 -0400 Received: from mail-pg1-x529.google.com ([2607:f8b0:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOq-0006wv-Fk for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:26 -0400 Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-af52a624283so3180004a12.0 for ; Sun, 04 May 2025 13:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392242; x=1746997042; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/8PKPlYK09WrFi4XlR/wFHCWNHO85sXDuZWr9mCY9fo=; b=oioSdV3WtJdeONp3rNX0vTHJ5Vp5MvGG0IvEpDM8hjbc2qSM97K//XycXeU6LAgQLq 8aK3yhQULz/FmwldRrNlMLEYM6U5VvPR/2xShw0223f4x+Sxu/lofjvZQB4o+yct7h70 hiyz+qRQSHf08+A0qvMTFmtFn1yJTAIW83FSQD5GJTiXsPRAehbdmTDgihA43pePIslm VPp5wOZ3fvrlyeskAsRm19foUOkK5ym5jN/HVsZOwqG9fIrcJtqASwTdsgIuWwE86tgt jJlLEyKoOTldqsfaCCxauVahjKN0safbDOnUbWRsYxm6h7z8GJMd6BeSxpttcq2sv1dN O8yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392242; x=1746997042; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/8PKPlYK09WrFi4XlR/wFHCWNHO85sXDuZWr9mCY9fo=; b=NB5pUHly7X2SODFGvsqTOoH6/Ccb7S22sARHqAyEMQOvXoG960Hc/SNM1W4Rkk4PLX MGeWL46mXyiPWeGGwzAQmH/b8cS8TNhbz24dGG1EEjbKBhcqMrURrd7XTsI0kOGsisvf Wkp6KZxu3Q9jXAU3rN0GPSsOiVoQ2f+wTBteSPrg5o1rqXx7V4e8JiKVKIazmIjRmEK6 DeBEw2lRfb3Zh4216qVJXyv/1bQqvurpQ7pJJIobGkwhF4/e0KwRVPaGtA9eEX2qaUQx y1GfuflPwsvBX3qYM5icO0/hVmMMAtxdTatF3rfYE6/9ge6nRPdjxuO2WhlOgyvB+Alx JhJA== X-Gm-Message-State: AOJu0Ywh8qViqptw2qiy6VedqlEzguw0QPxyQPjxfOld22x86MNhprgc 1BNKXPc+jWahpouUuxat75iTY1Bg158k6mReLTMaa1ts3lNyfSYsyYldZleuY6OmGIVXQJd8UuF k X-Gm-Gg: ASbGncsiOGYP5/bIo94WZYeuvazHvIHb8OtQ/4ej5tmW+yEpXJ9LyevNpvUllUg1AG2 AaJe7qVVvLVDtTBALVmbIUr2gX+j8AXviADWXc+prWVXG+7Y6wMkECQBTlcHePGq0+qwYmDb+DJ kATt+fO+mXwdFlXGDjh/pmPDNpdIXOkuBazfvVl/fvYHiyfGVzGUyWhEiUuULOGZwKhCv1Ev1ax c40dh3wecx1T+ugSNwOA01IuKaWLg24QopF//yZci+FkF1BGyvmqkXrNk63B54S+DfCVhogqZzo UbnorM0QjCmYT+fJQB3fw+CcXx7C3AN0b4c0P6yvw0OgGqbi7CvvQZ+jd35kBFwItAgpOORVQ5Y = X-Received: by 2002:a17:902:c40a:b0:223:4d5e:7592 with SMTP id d9443c01a7336-22e0864839amr228972965ad.21.1746392242083; Sun, 04 May 2025 13:57:22 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, qemu-ppc@nongnu.org Subject: [PATCH 08/12] target/ppc: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:09 -0700 Message-ID: <20250504205714.3432096-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::529; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x529.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check 32 vs 64-bit state. Cc: qemu-ppc@nongnu.org Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- target/ppc/cpu_init.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index cf88a18244..1f18967b62 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7386,6 +7386,12 @@ static void ppc_cpu_exec_exit(CPUState *cs) cpu->vhyp_class->cpu_exec_exit(cpu->vhyp, cpu); } } + +static vaddr ppc_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return (cpu_env(cs)->hflags >> HFLAGS_64) & 1 ? result : (uint32_t)result; +} #endif /* CONFIG_TCG */ #endif /* !CONFIG_USER_ONLY */ @@ -7490,6 +7496,7 @@ static const TCGCPUOps ppc_tcg_ops = { .record_sigsegv = ppc_cpu_record_sigsegv, #else .tlb_fill = ppc_cpu_tlb_fill, + .pointer_wrap = ppc_pointer_wrap, .cpu_exec_interrupt = ppc_cpu_exec_interrupt, .cpu_exec_halt = ppc_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887214 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753452wrq; Sun, 4 May 2025 13:59:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV9MrTvh55Yehn0f417Ku2tzdxpZ7CAGA7G7EEEKRLYEAemwbHwk4vQq05UBsXCxLqS9y+q2g==@linaro.org X-Google-Smtp-Source: AGHT+IF3O08ey+KQa5j5yrIhIuo6+7OCmRMNz5MrawvcjDyVqRBn7ez0VJFtCUlKES7tKZgmw3q4 X-Received: by 2002:a05:622a:344:b0:476:6cd3:d898 with SMTP id d75a77b69052e-48dff9dc588mr82180951cf.18.1746392369000; Sun, 04 May 2025 13:59:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392368; cv=none; d=google.com; s=arc-20240605; b=FfI9J0UVhx3FCneOo1dYhnpwfAd+VPZgOTlr1jicJo35RNzezFWC+jFYVGKnIajVE8 Hu5KXG/VZxYS7DVGcULSiCPeWMoclzfx0io1qAUMpZsg+ev1JTYAehrWXIT/4OWfJZ7k tLXHwHa6vxfZUn7Cw2c2D+tUfLXMSVYrnCDx4VJ3+mU5P9lxOnZq7SVfdHCTWRXNs67q UNux/6RuBdfEX3IfWW8borUKLXt+CHYufa7x+e+z/BN+fAX/GGLCWg+ctWGnxvoLAeKH Io1wAMZoII1paNTbV56Xex0/xwTYa9o9LCy9O36ldflSbvhOpcx01AeYX/S3UsVPKMWX pWwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TIQELB2tRYMc57jWwkjeMWxsQZONjOqCuvRT3H/S0gQ=; fh=Pv3pulUVvXUhrKyZbO+p3N5iLb5JXHomPjLnjWqGrjA=; b=KPUBYW+f7NDIAtEAJgLCnJIBmtU1MILqCE/kB/8+nKI+tb2n+W/E+2yxPeuGONUqnP jZhlbsvPWA8HOREwDfxxWdBC7+4ir0o0juQGcYU6FSt6Nm2AgnIcNoyYk3gufgF5rth4 DSNSuilePENBbW633NdHwbCuUgaue2rsQLMOAICT6887nTekc9JGC9on6BdjBuFZOQlA EAdGUi5h5Z1fwQB/AhTLAxx6yYJH0rH9LRMjPHR7cX/aeYEa0ahps2RSw3ojcGm7QOUm 2v5FlvqPqJubWxKp1YGUhtWai0M0GcAvBRMMLWRRsU0NuPDqTMFf2FOqO+QKVC38kF6n pv7A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GAZluYBC; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-48b990fc353si73778781cf.625.2025.05.04.13.59.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:28 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GAZluYBC; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP2-0008Sc-GP; Sun, 04 May 2025 16:57:36 -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 1uBgOt-0008Nh-Gc for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:27 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOq-0006x9-Ih for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:26 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-2ff694d2d4dso3366093a91.0 for ; Sun, 04 May 2025 13:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392243; x=1746997043; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TIQELB2tRYMc57jWwkjeMWxsQZONjOqCuvRT3H/S0gQ=; b=GAZluYBCncTuczWvE4cR417NM6PCdrwlFl4Q4DRzu1w9PwzhzgzYniqJ65+2D2PbnY sE3BHBga0e4Z18GDsxK+xextGbzghbcGjnKt4lC8doe17n6VnxTOhotNNlSj0OvXFYwU bZK7BwrpbVFlo70kuMlv5EgnxLTJoo0vgVshnvOmN6zf55eiQXhCpyaBkzsR8P7SX9Nc 0GQnNad+GNJNqGKOiL3taDAZ/CQHWXAcKeh3YyWkE9rWdMnEgSzTa+EJBTRAS/C7IuhH qF5R7yaWV5fH5Ur6jrlIvixuH0TzHurdnbcE+bIXDnNG/iOUY4esE4D1O2dGmL5C2Kjd 0AJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392243; x=1746997043; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TIQELB2tRYMc57jWwkjeMWxsQZONjOqCuvRT3H/S0gQ=; b=Wlw3NUSs2b1sYWlVT3BjUrLTSHjB/G1EhSDy3DSE+xqR9tgFhMRKoLF3zRW79QYIOK PELWTcktghHlXUmSIr4eqqvSVE4yrioedP9IFJRmOsz3o7mRccxfQofc9gXlBOD7XS9j yM0Ewy5Wu87OMSpkM9R9hj1AznPU18MqZIXYnvQfWDBjkP7L6TQrfNxHbH1vHt0ZGPp3 g7Co2Q+pMxwKa1SZeJ8+KJYa0U/GMdIdX59RmVAL0XMRCVQ2+meCa/QtzPiEq3SbGBw8 vp0Iqc0+rZoBwV/uztBEoJ0BvI5gd4hzEOkO5iyiX40y4vEOaecbZcVrOqikOCjLh+XC 3H5A== X-Gm-Message-State: AOJu0YxMaUJAmWxj0lVpTY7LDjHAjmf9Xt7BkYNGNbOE5q45bVDkpIdN KtuYFoPOmi8W0N4rU0tshIZJx0v3REl9DKpWZIMLktCcIebWL31+O3UYaih6Va//g6mlotMGf15 o X-Gm-Gg: ASbGnctT81ZJG1y9oKfFzNILGgQKssmj4zSLcQysih4K8qN6Q56sLCmPlsBci3dGdar vkywtDHPKnDEXV7Nbh/1uCaqNRpgEsUKb82ECFtRE8IxkCHJhdUpvZ8cQfVANBRpjUysmzoBuWx hiVaAA7iThZJr8rsMn2U3Z6zkw9U32f6OpS2KDh9O4v8Uw51gBpntf5526P4jSikLBKrk5peViT f2Pdkw9MaQCfcjvGm1hU0nu7G7NJ6y/kUlKKXBFn1xqBQXmPJiaWPnuKKKynw8XQMjoRS/PN/Hj xXI7F+6ohd0MtmEJi5iaM7dIUWZZbCt+dQgmVkZICZk6s68eSUs4WbUeyqE8vlTc2TSidqn9Jcs 0FGYufk/eVg== X-Received: by 2002:a17:90b:578f:b0:2ee:f076:20f1 with SMTP id 98e67ed59e1d1-30a6174fda0mr9082464a91.0.1746392242797; Sun, 04 May 2025 13:57:22 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, qemu-riscv@nongnu.org Subject: [PATCH 09/12] target/riscv: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:10 -0700 Message-ID: <20250504205714.3432096-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102a; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102a.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check 32 vs 64-bit and pointer masking state. Cc: qemu-riscv@nongnu.org Signed-off-by: Richard Henderson --- target/riscv/tcg/tcg-cpu.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 55e00972b7..267186e5e3 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -237,6 +237,31 @@ static void riscv_restore_state_to_opc(CPUState *cs, env->excp_uw2 = data[2]; } +#ifndef CONFIG_USER_ONLY +static vaddr riscv_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + CPURISCVState *env = cpu_env(cs); + uint32_t pm_len; + bool pm_signext; + + if (cpu_address_xl(env) == MXL_RV32) { + return (uint32_t)result; + } + + pm_len = riscv_pm_get_pmlen(riscv_pm_get_pmm(env)); + if (pm_len == 0) { + return result; + } + + pm_signext = riscv_cpu_virt_mem_enabled(env); + if (pm_signext) { + return sextract64(result, 0, 64 - pm_len); + } + return extract64(result, 0, 64 - pm_len); +} +#endif + const TCGCPUOps riscv_tcg_ops = { .mttcg_supported = true, .guest_default_memory_order = 0, @@ -250,6 +275,7 @@ const TCGCPUOps riscv_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = riscv_cpu_tlb_fill, + .pointer_wrap = riscv_pointer_wrap, .cpu_exec_interrupt = riscv_cpu_exec_interrupt, .cpu_exec_halt = riscv_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887209 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753344wrq; Sun, 4 May 2025 13:58:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWJptasXF+Wbi3CRD/uGt/tVBNIf9dobsaAkMl8cL3KTjbpN4le5MaqyQjzRQFDZouk9F1z5A==@linaro.org X-Google-Smtp-Source: AGHT+IFwdRKZwQkmOjDgaZYPkkiV8EW9dOz3Atl1Tq0TMY8v8YJSczQfbnieLHXLMMIy+MOwQGLe X-Received: by 2002:a05:620a:c4d:b0:7c5:9452:4a60 with SMTP id af79cd13be357-7cad572a6d8mr1415365585a.5.1746392335845; Sun, 04 May 2025 13:58:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392335; cv=none; d=google.com; s=arc-20240605; b=KNhE8Zt58/Xm+TPxwuQhgWxNm18z7Qg2hZCAI0ZE98KW+OMGBJwrfS+tkGADEK8J4o jBNAE2TJ6Bv/DdQtfsCw2SMP94Oa/RK5cmxTg3Hohj4bBG1szvWzI1MeprCQJABoVLLi Z55Rf532AjwE+5sD1KNaUa5vjzmdA/f4l84Cyz1T+iCXiUThCDjIZfWCwDd8RbPZJyMH V528XlXrmQOkpAHXRO66eZeE/O8Jl6OHs1dSCaG3LP6cHUJeKs4iallbhd8v68joOKUq 9xN3ESD0niVSTXP4cIeQ1vnBaRpuGNDMEvDNMRzu3VV22FruAuLMidhPYRskeXTXrl9l XSrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=l9IAKV9LJlCW9c1xiMOYV7AbY7Z625Fdb9+xsHG0s8M=; fh=jz+cr1Q3XNRSNZKNs9VlGLiiQyTT/ORBBgSQLu7itzE=; b=VCrK81zv6bMv2zRi7M+eJz8M0mwo0z7MtfSrVS+gbjLtO8aLLYl8Yc9s5ysLOuwfd6 Gu9EZgs0YYvaIr55dFwfNBt12h7cyS/e+FsAA4XH//uU9Xp7FYgh6M7Wew0WZ1ZOF++r FlGDpY+ih6Ubw3I9MSRcRK2I45ryhBvkjFRb0taI+Uj4HHeaVct6qw9H39jKd6kk/K/m 0HieAOPsHyrqxLYdUlYFREYcKjk6/DHlaY31jSomBHsxbVXxHv1F70EEqDAsC2T8MvNt DGo9ysK++keRbt/kStxl0mqWh4bVeAZKXTzH+va4jD8U8YT6yL6fZT+RYDmJpK1vR3Nu 419w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cwM6W7K3; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7cad245309csi770222885a.598.2025.05.04.13.58.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:58:55 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cwM6W7K3; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP1-0008S8-RJ; Sun, 04 May 2025 16:57:35 -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 1uBgOv-0008P5-UI for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:31 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOr-0006xF-Kf for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:28 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-af52a624283so3180013a12.0 for ; Sun, 04 May 2025 13:57:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392243; x=1746997043; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l9IAKV9LJlCW9c1xiMOYV7AbY7Z625Fdb9+xsHG0s8M=; b=cwM6W7K3No4yWVxfAaZAq4Pds8jmeTkdO2f+d0KlYDcfk+4B+KfE6aTkFtYoj3U9Xn 0EB5GT1RyLSQLK6z6evzGViN8/34k3eSslNbWGgqrrDL4Ls0fXzNOwRKFlv6poKX25fH vyDwY+kOqhsoUcrjLWVSA+0rb5EM+8Rhe8Ye52UVppvHx91qC7a5KJgt8u0XC64BboxK Wd9RYi1cp+HvxKlJT4be7SPjHUDw4QMuo9h8MYL964ECA0pFKTvcOY54DgJkV6g/6SAx hpzTRWekgcZf6SE/Z7sSm/Usz3rL6xCs5JlT3iqfJi0zfLtzirUBL79hfBOfQE08YmG0 aAuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392243; x=1746997043; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l9IAKV9LJlCW9c1xiMOYV7AbY7Z625Fdb9+xsHG0s8M=; b=pQEdr4CAQ28kT6haxnDsUgsyQM85Q6O7qFNcQuNG3ww+MCzndolW9DJHpmN4rHfdLk OhDh6lXuQvVBQKLNa7MVh5WA1tlFM71k0X1Nc+oI5U7/9OmngfwYfow96ocjhM2lA5EC GT9KXAsh38EAgJGdOvU1Z9vSTvqSCThDRfwT6kLlerYo3T9Vxoi/ERyw0qKGYvRrPnDT 0NdCrJdoWDD57m8O0kStNmnDFUBeO98qgZ+PnbC935ujL2iqMM9PY0m+PLyAjX8TvF2O WVnhSJvbH4wxscI33u8kCRW454m1Xia67BezMHUKcCMpEH+cf3jOeHO1HvN9WLNPKC0P mgDg== X-Gm-Message-State: AOJu0Ywfbx7RZ/jPJ+gy0xsrMghUcYRMRzBbFYh0KiOXwwbX2JXQiADv XxlbzQ6GHcRI7ueFM5kzynZHOt7KQ1yAj7rG5QnrvzJFdjuoQtbdrKi9vwIZB//yvrIHglscloI G X-Gm-Gg: ASbGncuHW5BVrHsexmN4vRteea+pY47/bmBcqUIMWIT64sjMuLSHLwwhBjLqvQX7hxg RJ1V1xAG3VMpYyVrf8dhYZuER4NsPg7IvSQlwV97Qgh0ZUgvWFEc4XZv9BTxFX+Rp6bxzSc6MwC LzMuYaKbP7hlif1wvpziTdLJIixjOknNYtw1VDBu4UhklkuDqrjCKUdSAbq5tqfepDGbHyz74Xj iIA5qkMb+lyktrQs//FEv2a/EOXVkjWa8Jo3h68psy6pk7ErsbeASHvcwnnVGTJVEf63h1Cw7JL T77OW77GopTiZuzvkGJX78buBJAEyLfXsB9zgt06dK9LkhT4yzMdiVHxCduw1qIxMEYbh944ZrE = X-Received: by 2002:a17:902:f0d4:b0:22e:23c1:d711 with SMTP id d9443c01a7336-22e23c1d7cfmr29261005ad.16.1746392243571; Sun, 04 May 2025 13:57:23 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, qemu-s390x@nongnu.org Subject: [PATCH 10/12] target/s390x: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:11 -0700 Message-ID: <20250504205714.3432096-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52a.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use the existing wrap_address function. Cc: qemu-s390x@nongnu.org Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- target/s390x/cpu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 9c1158ebcc..f05ce317da 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -347,6 +347,14 @@ static TCGTBCPUState s390x_get_tb_cpu_state(CPUState *cs) }; } +#ifndef CONFIG_USER_ONLY +static vaddr s390_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return wrap_address(cpu_env(cs), result); +} +#endif + static const TCGCPUOps s390_tcg_ops = { .mttcg_supported = true, .precise_smc = true, @@ -367,6 +375,7 @@ static const TCGCPUOps s390_tcg_ops = { .record_sigbus = s390_cpu_record_sigbus, #else .tlb_fill = s390_cpu_tlb_fill, + .pointer_wrap = s390_pointer_wrap, .cpu_exec_interrupt = s390_cpu_exec_interrupt, .cpu_exec_halt = s390_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887216 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753467wrq; Sun, 4 May 2025 13:59:34 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVLe2NcD56mLgcDUiZyquo+2c8MPvDx1ozW8ceRmdYY89u+2Ryx5PqKoUXQpQK42IlKBdYlbQ==@linaro.org X-Google-Smtp-Source: AGHT+IG+Xu1zPct9CigGEY1ZE+2UxfvL5psnrNaoGfkASkT6zD69/uLO6c0DenthdSRVdwFoE2CX X-Received: by 2002:a05:620a:179f:b0:7c3:c9e5:e4ba with SMTP id af79cd13be357-7cacec2a22dmr2355880185a.29.1746392373906; Sun, 04 May 2025 13:59:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392373; cv=none; d=google.com; s=arc-20240605; b=GPOHqsBG8LQDBcnzgCAKUxuPKD/mFZ1NrXxj3gN86vZbGin81jVCx1uaxOdxipPWFF v39ywO9MITrofPK8jCjWMVAV0AW45i6Awknp6GXvCsxQ0DeDZYI1z4PZ1+FZDiPP3hHm X/Kj8fqTSNhVm9ukQUYXRrL2t+TVOF80sgLgm7EeeJ7XprssOcbRbmsUwrT5OIxYu4TE BdC3PTGK+ZRlg2CN43ail6auwHWXIcKZSyVuHMqVwcL7VuCjxNlHK2ul0GNr3y6P8n99 zMfh0ci3fjkVSx0agXnBGJ1ei104H9VskEwaZoy8aMf0cMfntV+QeJiPHA7RNgD0hRce 7rwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=77OvkwGdPZ715TT3lq2D7nntXkGJOpDEIXBjuTXTyWY=; fh=QFdIEgr91w9UBwpTRTUOTl0aFP3rFEswzIOX2tkshaQ=; b=WqudzOlnSYrfVnqspZV4t7vWII6hf2/437lbf6ifksngoQDRXCeQuoAv/IAS3AFxqV Z3OYNsn+c5uZ2yyv22hcq9K88XDKSOLQ3xY8pZvn66XYF74JVvRwTd+XseAnP6m3rUdf Uljk/0PNKPbRT3QvFwM5uVKO0ZIh+40duG+yaMkYTHUISRCjB7RXxBXKmNEXJqXtWzKB XdJiCYBhCyQ9eseim+SJaxtYJb+bot55vwQvfx7C0kWDPrz8FOc2uhttZF5GCmDtLKjb 9jx5k6NLFoxu7D76++UuEk9KEN7tD13IJjmp3zN2dVuNeha9FOu2wsdBp+lDbnRLby7m IxGw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LFfQc7Nq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f50f3abca6si74288346d6.102.2025.05.04.13.59.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:33 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LFfQc7Nq; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP3-0008TU-C0; Sun, 04 May 2025 16:57:37 -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 1uBgOv-0008P8-Vh for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:31 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOr-0006xY-Tx for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:28 -0400 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-30863b48553so4550713a91.0 for ; Sun, 04 May 2025 13:57:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392244; x=1746997044; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=77OvkwGdPZ715TT3lq2D7nntXkGJOpDEIXBjuTXTyWY=; b=LFfQc7Nqg2zYwv8fzAZLsdQcfkPAGtkJPNEZybaO4NNUQGkrSr1Eldk3U+zuv3lrrB Gnx8Cb4+4MtTu+2+LTL/kZ34iZMM3cWqeMUMyMiItXRc9FymvXYYlHUpz52pPmA810XQ LPw4b4N0U/42o3BiaGOxCwOo6DLq9scb0N/qaGhaCfI74qKP53sr8bmajdfUsgbajKFK VhWzpuQmPdvrEIR1LG0Y95WlV/tnKUCFqN5+GmX/RUF0ihPWHX71xGyeW6Mh1dsqlvz5 CNcba+091viI+TDJJXDM/JPJNRE9F3KvhM/+c1/+Q+3ohHcX0ESqOz0BNogzO9lF4Obo uVzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392244; x=1746997044; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=77OvkwGdPZ715TT3lq2D7nntXkGJOpDEIXBjuTXTyWY=; b=pNdurfa0ndjdxLQz+jgq9z9QHKR/mzJGxFi995emszM8c0SUqUX9r6DGKKUNCJtNHx VvlnOV8ehlZc66nIl5WGewEboeZL1hoQ+OXgP+eqTlWVK/DoCdh7IplgGRx3o+/Isv/4 q2tkfxnwGtYH4zz5Uz5prfDcse+W4DDjyv88DOKynZY0XR7WKI4zpPXnBzmk4VxzCuic LgB1IS35xkHqrFDUE0D3wlsD+9kDM+AqfKM9wf3IMpC857Vz3p6PnaSuYRPMnE9vkmJJ aoc7vQVEL//0vghjSqYzNMeBm0jcdCKAoKGgQt1aoNAj565CWEtd5XLEC71sje1pFlj4 D7NQ== X-Gm-Message-State: AOJu0YxAH0KQoNpd2J/aodnHktKiWceRVD5mH5fayxi9Nr9BDR/N9J+9 E3sl5F/BTtTSWOIQ3D8hI2hWDwJ6upRJMLqRYbQhd3/I2KT3uLCQcmSH5JevnWyHfjN4eeiBJkV d X-Gm-Gg: ASbGncvKz6eSeD6IQ3gJf8vEAjs2T6H+BiKdGBOTNOte3FPdERYxDDBjF3oivnaBhK1 5slk2PQxqfxvZn6HXqALPtDzN9jligPDU4V37/POZMXEKhncbNzSc9393Dp7+zTrSORYc0sUa8x uMPwnRxOt4t2ASizqP9+vnQzL7dM+hSHZi2cZPU7KFFCnZ71fCZ2Jhh5Q6319GvH8pPW9kvtFYh DC2GryX+6rCiAk8ZqzyjzjWf5pJZ4hd3XnRWLsb5K9VZOCNgt+7+rk8mJOVvyG91K971JnzZva/ wOk7xhfHSvfWqc28vs1rrBY9cMQ0GXU49A3y72GeU9ZkqTKFKoDOyGOHXEyMj9bV1cIy+259oD9 YOcZK0x6OxA== X-Received: by 2002:a17:90b:58d0:b0:2ff:556f:bf9 with SMTP id 98e67ed59e1d1-30a4e1c9560mr15654404a91.4.1746392244257; Sun, 04 May 2025 13:57:24 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com, Mark Cave-Ayland Subject: [PATCH 11/12] target/sparc: Fill in TCGCPUOps.pointer_wrap Date: Sun, 4 May 2025 13:57:12 -0700 Message-ID: <20250504205714.3432096-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1033.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check address masking state for sparc64. Cc: Mark Cave-Ayland Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- target/sparc/cpu.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c index 2a3e408923..ed7701b02f 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -1002,6 +1002,18 @@ static const struct SysemuCPUOps sparc_sysemu_ops = { #ifdef CONFIG_TCG #include "accel/tcg/cpu-ops.h" +#ifndef CONFIG_USER_ONLY +static vaddr sparc_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ +#ifdef TARGET_SPARC64 + return cpu_env(cs)->pstate & PS_AM ? (uint32_t)result : result; +#else + return (uint32_t)result; +#endif +} +#endif + static const TCGCPUOps sparc_tcg_ops = { /* * From Oracle SPARC Architecture 2015: @@ -1036,6 +1048,7 @@ static const TCGCPUOps sparc_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = sparc_cpu_tlb_fill, + .pointer_wrap = sparc_pointer_wrap, .cpu_exec_interrupt = sparc_cpu_exec_interrupt, .cpu_exec_halt = sparc_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Sun May 4 20:57:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 887217 Delivered-To: patch@linaro.org Received: by 2002:a5d:430f:0:b0:38f:210b:807b with SMTP id h15csp1753483wrq; Sun, 4 May 2025 13:59:38 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVxxkoZiTVhMZZBsexEEgZoanlkxDwT1le8s/3lgYp0SW+F3unYQJxM6GkGdEiM04L8IUOIcQ==@linaro.org X-Google-Smtp-Source: AGHT+IHdLwXs711cYnDS7P6IM4ImLaTmaCEfbMJCJhezi2ZzIl/iadGUIA26ywHk1OQVbQX4vnwa X-Received: by 2002:a05:622a:a1a:b0:471:f5bd:d88f with SMTP id d75a77b69052e-48b1bc0cbe8mr218639271cf.16.1746392378007; Sun, 04 May 2025 13:59:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746392377; cv=none; d=google.com; s=arc-20240605; b=iuCuWIn4FQ7AtT0fJGQq/xhsJn5eR+zBeJGwnpEi9ig4Kv2vUwEFPy1V5h41v4Ugna 6SvMTe4WFxj5lfjJZ/81N4KPDLLLXVDgnaD9iyr3o60Zg91WfWLTiP25bxUnlaWIsnJV ANm3zuC/P6RZLE/IOKCQNoKHanJi5qAcNfduSl43AxLzQ6/H+lZUU+G6XqRChKAosOyr tHW1semP6jt2fnkxlCwX2+WP/fW9UVqhpyfzvHRtQQtVwPtggkW8Yc+zJ8ohoK0Kyo4I qchUir/2X27WrpQ6+4wKPNVOIfbC+GIh+PMmkDiXcBA/M5kX8+87qvxT6zb+0YIa68AO riWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dEuwy7Yf4FVl52jtCV243O0AMcyw9q5dI/6CqAcLAgQ=; fh=gFoDGlaj3dawgo7dxL4ZkFEZ9I6wTEAQ53WU9VogRKw=; b=CYNH1l8oIi/9xO1UQR/RMox7OvLFjIhByFm9OXo8CHw/VwzICQwlBxPrskD9f9Tlub 46g9VwY7C6PKB4B86l8MpG2GB/6Teszdrt4vO8wCdiyCRoCj9wBOtsuJPJvaovViJfvK V1PLR5PdNh6GleBSy0EaOthlTnc8Ylw1uco+2ciu2IxJjaVINoyiYqUb1wFWJnuWHHav ujXRB+lsrWUTJ91IlrRvcSI7CwEQHwbjdg4RUEVliAETWW8MiBEHXu4vbdUpoRYMsrdM AgCBYPSCo1bWMlLfxJIahmQk4gHSwZamZPJh6ZrGCh1rOnrx6UfWScrw9RNgfKETqrbf e/lg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="PF36/yNu"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-48b960cf676si75820961cf.42.2025.05.04.13.59.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 May 2025 13:59:37 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="PF36/yNu"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uBgP2-0008SJ-49; Sun, 04 May 2025 16:57:36 -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 1uBgOv-0008P7-VA for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:31 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uBgOs-0006xh-Tc for qemu-devel@nongnu.org; Sun, 04 May 2025 16:57:28 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-223f4c06e9fso33443015ad.1 for ; Sun, 04 May 2025 13:57:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746392245; x=1746997045; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dEuwy7Yf4FVl52jtCV243O0AMcyw9q5dI/6CqAcLAgQ=; b=PF36/yNusP7IHlK0QWwX7eal12L7+qrcOyI9EpbKugCb9SeAXVeBdjfqjOamZ30q0M fSF/lBQeCqYm7wtQNR2pTApZVDKFHfnyGcqFoUj1LQk3wsQxMxybYWy/5+xmaJLNvTsV /67iSmLZClEk8c+Bjk+Bnm2vL/RrVPyzZwCNKrVmf/20bo7HUm4jmUZ4QWTFoNRhXh2K MrQEP97WyAq0Hz9meWhMT5VJ0C7HMfnw6kPxAVr3EIyDW3WL3IGlO+llr+h5TmI+4O6B vDK2FcaN0WIAqeYVhTg6tE/GafScgwMKlBsWFxmrXW/rzFA7gK+VkruSD4kHy+C3MtD/ 2Wtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746392245; x=1746997045; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dEuwy7Yf4FVl52jtCV243O0AMcyw9q5dI/6CqAcLAgQ=; b=Eav6Q3efuG1fna0ilOGVBJGYP3LW6OChdrH4yn0mRv7UzaF45NscaHChzDflDZ0GkI f64hIe5LQmATz9LlvfkI3B7SzfXpnZ/bjwPqgzMPvKk1z1OkrX6zzPVsO+YrnLm40YY2 GlOdEEQCKcTeyzq6t29mr6cmEeveBbtxUxypQ13thfYJ42UzGYXpOqH0fijqFdUx4mRj cHaCAcAwdayzWVvB3KysMSgIorMdaiWJn2FMtHEd4EmHokwFEYoqwfvKKw6RyfwyiRMg BAibJCdMQrys7CPmNKj51C+OI39sz38unfy09rkQndvqBBdo5EiotL14a8B43tyD36yc DgWQ== X-Gm-Message-State: AOJu0YyPu7qzpK5ssEFphNHcJBv46C5qhvfPgT0rdwtMJRWA393E31dX nJQRdBMvjLX1mKtu0qQUJSvU4U+rbs3Uc5s8Wzs+W6lXPfMz8YkLdMfzeCuZmctdMCKRIDfrunb Y X-Gm-Gg: ASbGncs7gi5N0Lt/7LlZPNf5o7tIaFhi7YuUVren13Iqi5jSFht73BgEmBKT5CqyF3i FPEAUkahmqD2HxXVCGKjUjj9Cx1Gm4qWfXPhDfznfP72HDR0dF0U+2JQs6KJu6dcB8Ta/17+RHP r35xCtpoprPyUsxfmgNRbn3jcB9pst6NpfBB4WJ4t7jv8gf/a0PQZaxA3gQw7quHiinpt0eXEvT BRPRncLik8aUApn8A2ClhFe2OLZIWSooYtsb3SpN1ZotaYU6ZomW1xw08um2koU1xYSbuk9nBNJ /ZTnCspQTOFzA4az1ATXtSDpUjyJ1KKq/F8NvKzhfY8FODJQjaoo+yGCrBkiER/8JqdeI5/qGm0 KBZZ7APtCrQ== X-Received: by 2002:a17:902:c40a:b0:223:4d5e:7592 with SMTP id d9443c01a7336-22e0864839amr228974265ad.21.1746392244989; Sun, 04 May 2025 13:57:24 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e150eadfcsm41346425ad.32.2025.05.04.13.57.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 13:57:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: foss@percivaleng.com Subject: [PATCH 12/12] accel/tcg: Assert TCGCPUOps.pointer_wrap is set Date: Sun, 4 May 2025 13:57:13 -0700 Message-ID: <20250504205714.3432096-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250504205714.3432096-1-richard.henderson@linaro.org> References: <20250504205714.3432096-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.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_HELO_NONE=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org All targets now provide the function, so we can make the call unconditional. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- accel/tcg/cpu-exec.c | 1 + accel/tcg/cputlb.c | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index cc5f362305..713bdb2056 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -1039,6 +1039,7 @@ bool tcg_exec_realizefn(CPUState *cpu, Error **errp) assert(tcg_ops->cpu_exec_halt); assert(tcg_ops->cpu_exec_interrupt); assert(tcg_ops->cpu_exec_reset); + assert(tcg_ops->pointer_wrap); #endif /* !CONFIG_USER_ONLY */ assert(tcg_ops->translate_code); assert(tcg_ops->get_tb_cpu_state); diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 022d555f48..b49f0dcc29 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1773,11 +1773,8 @@ static bool mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, l->page[1].size = l->page[0].size - size0; l->page[0].size = size0; - if (cpu->cc->tcg_ops->pointer_wrap) { - l->page[1].addr = cpu->cc->tcg_ops->pointer_wrap(cpu, l->mmu_idx, - l->page[1].addr, - addr); - } + l->page[1].addr = cpu->cc->tcg_ops->pointer_wrap(cpu, l->mmu_idx, + l->page[1].addr, addr); /* * Lookup both pages, recognizing exceptions from either. If the