From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 591D033508F for ; Fri, 21 Nov 2025 14:15:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763734537; cv=none; b=iK4xmioi/Gy6M3ouvumnZ9kjsnDU6kYdSmg9Mg8XTMMg+CzyFcQSQnnyi8qWVFDvU3/tzEaD16ZBbAejR4wmbZWSYYriG7R7aSJjVGtSZArRSwMVF+rPX7EXnaMtzvzz6koT1Xz/T5cUvAn5Re0k/ZSiVuWHuwQQUV45vBJ3xU4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763734537; c=relaxed/simple; bh=MjfA5fnd7L66DjdZNfmVNygHdADGZXy3k+4/elL7V4Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PMROWMQvhamUqFHC0SbIdIS/hmeCL7rwoQ7i2UjAgeMe7EvbQcsQlMNiD8/gErRZNvFqPfRB5Y1hLoSUfHBdXB5DZyNGkBx4XtLNXamlWRQ4b2Hzw0GNeEi6BPxoI3Sgfq6EEIJDgHMblM5Mk+npOqG+ApYCyEDus8Lg+254RU0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BQV7Cy+K; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BQV7Cy+K" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-6417313bddaso3183047a12.3 for ; Fri, 21 Nov 2025 06:15:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763734533; x=1764339333; darn=vger.kernel.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=uGPLXtn2HPM/8PhvpiWP2NBl0sy58Zy7a6LjUqe07Hg=; b=BQV7Cy+Khu9E7bQuC3lzcSByEM0HxnKjZvVPETrcMjcuTY17+trX0JunRgCgqhq7o3 s/YSgBkcYD3VaXxpzhlk74BFFkkUSNj5HtlrvlJ14TwuRDii+4HT6z7iZJXJi5hPHU4W rBFQlPZDApZsO7V68aROUzTHQH69fYDrORe9iaAUSzf7hHJIhO1/x4c5KRme2St2BBbM QWRr6b+eYL9QXVHl9NvkCr2/QUA39JWuKzGhvr+HiwzCwMT9UdiWgqk+DzRx4dUhIs0Y 4p0SJ4MUNrfQQyFO7qUPsBlvgpNnqK8L5byVVuUmgoupqoKzkgty1Rjt1ITcoUIHw0UI z33w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763734533; x=1764339333; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uGPLXtn2HPM/8PhvpiWP2NBl0sy58Zy7a6LjUqe07Hg=; b=PWhi64FTPkI3+EYntYxoH6U4g6ZBl8GjSooN92quUrH5aHgz1Dsb2H6+AUGutT23qR HWAxNYEa0I+KOz7xtTHpGOA7c1giDeYyjCw9nUUhtcULjgJcPYj/ZgBCBBSIi9OIOYC+ kU+6ifweNQGNxTISoWVhBViw0us8vbSi86SEi6Liv36ujkh1C70ouaqqmz5iBtL88bAN u8Q3gaQsB67diTp3A9QMPINVJ3CQoAfasxv6i/NBVgMYLb59Jn0hYX0f7JpvUqYFKShI 9jZJnAX2I7p0Z3N1TBrhb0NV3mfIPAAaPYNgy+AtCJYKohj8UhqNSvx+ojv1UzICKZo4 lIDw== X-Forwarded-Encrypted: i=1; AJvYcCVm6Al8oKLxcCJwj/mx/3AWiHBg8h9ZCwCV0dnAzb71NrnpFKGCirV8cIClV+vQsk+ewjmRrJeXFgXnl4E=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4ALrAbVOVkJZWvxmKJM/ktwi+9QFsPfbVnerqRJcCdhYJcO3g BJDeC/LIohE+GjC89jG1/zZYxYVgIdgPbe+3Irs9jc9W06l1hdPmWvLJ X-Gm-Gg: ASbGnct/0sZWXgcebD8TUa9EzvnmmzJIIEllkbP6wZ3xsExp7VySxX8Ek7Vuq6vglV3 ptwEnTF32slo5RaZudb1/Nrxm4ZUvqx3jlLdVBHgllz2AyO60Y/FjQxX0eOWSAgjVhmzRK+qby0 x6Qy8xi3Ujxry2BowgZteljhnMcb63MC6ppk3zQFVvsUSm8rnAko4sUXe+2L2D4o22o6y+5Ewhe 0SItwk9TJa2PvlivQzmZaOcNdSBN227or5eOOrbGSjnxXDB4V3QceR8YXXai2y9+9PHRgPWL7eS LCUg97qN7Uq4FJMk+bHop5IKS9+8/4/twxjBtTEr2CMyf6kBmGF5Bh/cNe+c9SBtJo1c9AlNvk0 Ru1njUDAlY+DqPxCqitdnBS+qArC1ezFAQpr1wCavPeB/7aSTe6iqK70IceOh73JRlzs/PKcSf6 EjgmYJoCUnVeZ1Ed31nZhIeQ== X-Google-Smtp-Source: AGHT+IGmg4tnLFkhi55pDseSzAGW4nxyBLH/othiodg9XOfmMcc675OBQjO5zvq+RYwA5nQUFYx2nA== X-Received: by 2002:a05:6402:50d4:b0:640:9b62:a8bb with SMTP id 4fb4d7f45d1cf-64554677ab5mr2145552a12.22.1763734533412; Fri, 21 Nov 2025 06:15:33 -0800 (PST) Received: from fedora ([193.77.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-64536460ee1sm4609936a12.34.2025.11.21.06.15.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Nov 2025 06:15:32 -0800 (PST) From: Uros Bizjak To: linux-hyperv@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Michael Kelley , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH v2 3/3] x86/hyperv: Remove ASM_CALL_CONSTRAINT with VMMCALL insn Date: Fri, 21 Nov 2025 15:14:11 +0100 Message-ID: <20251121141437.205481-3-ubizjak@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251121141437.205481-1-ubizjak@gmail.com> References: <20251121141437.205481-1-ubizjak@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Unlike CALL instruction, VMMCALL does not push to the stack, so it's OK to allow the compiler to insert it before the frame pointer gets set up by the containing function. ASM_CALL_CONSTRAINT is for CALLs that must be inserted after the frame pointer is set up, so it is over-constraining here and can be removed. Signed-off-by: Uros Bizjak Tested-by: Michael Kelley Cc: "K. Y. Srinivasan" Cc: Haiyang Zhang Cc: Wei Liu Cc: Dexuan Cui Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" --- v2: Expand commit message and include ASM_CALL_CONSTRAINT explanation --- arch/x86/hyperv/ivm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c index 7365d8f43181..be7fad43a88d 100644 --- a/arch/x86/hyperv/ivm.c +++ b/arch/x86/hyperv/ivm.c @@ -392,7 +392,7 @@ u64 hv_snp_hypercall(u64 control, u64 param1, u64 param2) register u64 __r8 asm("r8") = param2; asm volatile("vmmcall" - : "=a" (hv_status), ASM_CALL_CONSTRAINT, + : "=a" (hv_status), "+c" (control), "+d" (param1), "+r" (__r8) : : "cc", "memory", "r9", "r10", "r11"); -- 2.51.1