From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (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 5C8BE332EBD for ; Mon, 5 Jan 2026 09:04:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767603880; cv=none; b=b7J/cWTlU/06Olu/Aj6TLWYypfkZCJmJRtSB6+MSRyPj44y1E+W3oP6U3uC52hwhVF2/WpGLX0VECmpGdG4K5DIXVU7idrGOYVDPSweQcwiILWVrBlOopmr9ZHDF4L7Pq3KGK2Gcpdmjn7Zi6xPgKjfdGT2DpySzz5dFcjLYZGk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767603880; c=relaxed/simple; bh=cF0HqpOjPFVBzYPhHAhvX3LaVUpaHrS55tPoqFcFmRM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YJx7oEWS1pv+/oCdeqebHn1bS3StovMl7S+z85WnuxO8UxtTJGENssXNcwXLl5WhRthNZXtJDJ0yJfsAukjiJ8XqQjAHXFFmRjktJCINTUwQjtoVAemm84p2k8Tm/Em/IaqnnH/Z8mBRxSsyc7UITQGlsMRjoc8K9CVeryO0u0w= 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=JEQ0a+5z; arc=none smtp.client-ip=209.85.218.53 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="JEQ0a+5z" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-b8010b8f078so2040592066b.0 for ; Mon, 05 Jan 2026 01:04:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767603877; x=1768208677; 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=Ib9jpmX7sNQQB8uf2G1Nm3PDrzKBuAb2KF+Gs046Th4=; b=JEQ0a+5zGyzewxQ4cN/Xd16iCiC2XzLdUEQh6ZZZO7rHadnkTK2TTpFJQaipebpnd3 NNrT/lGGcuxUeHLXP1KLMkDCGvc6CB2rVCX0PJxr3wlRPt5C4TygzDjjgWzXxMYd8cAL K7nNLlr6v+Hs/+Bt1cO+xYWJDWqEZ+4Sc+mIMtpZfjG8btmn0bFWinumeQlEUZVkEfeB T8GhSpuwtrXdQGJkr3T5NzjAfrZaVRJ+w+nbB6UKJyYxWMvuVew/fTvyQlaOnVe2JbrQ yhIDl8jvMrVd38I1tX7rtAOVMCI5+/BLTRF0yGc7Z2hAYhF83yYHVFd7PJI64NKhAZc6 vvTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767603877; x=1768208677; 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=Ib9jpmX7sNQQB8uf2G1Nm3PDrzKBuAb2KF+Gs046Th4=; b=oHDKKI/sB+pAk9zVudf9r28czLRs/QOyNst17/iWBt+dUd3P89grsA/Vs3MWM/R6PB Yur6HgeFL6bs8kGRmaL8fEO94pyKUJk0LBE90AeJWYmSginnpoXqcWXEdXDSDswQ+xzA YSsqiMy99747qH76Qu6msiPiDiLprEkBm2LqNlKT6HsAxdtuG5XHYUTAdxqeludvK+f9 v9DUyK5M7hbYYNnuTmmThPhbeuFZezIWpkmbeBgAsSLkVjTpCR2XzZEZyyUG4j+nvMIi f0VNdMzkvNNGGG1xAdls49eBteKTuTRfcHPeJyRbRdjD1M7xmO7OZFNRNG+guAT7eIS4 EEpQ== X-Forwarded-Encrypted: i=1; AJvYcCX2bGXn4ttZwVA7RXudb0UdHt+/EfJAgpy1avFEq8YChZ7ZRhIFVog7NRsSbR0sCCEE5mUA0W+qr4cLkdA=@vger.kernel.org X-Gm-Message-State: AOJu0Yxfm4/XapDR1S+G9fVWIjIzpgrHi6OMzbuemi/KxvfFNH7CxhHy WyBtyN6kYErlXG8IF55ojqj6/PhXOgJXoyI5O0vx+VdeBhm3Pe5Uocit X-Gm-Gg: AY/fxX4AlLA/SB98cTR9cHM5+HJGK2lBSAx55bPVLoMMkhLRRN3Hdon2DjkyWMYSoUW I8Ap+o25V2c13EZRCt+X9RInBbAG0gpcZDxMDg2+gdXj75RKxegPlZcMdKDehtUaL66j8srcrUn uIdsoSGyN5B3LU5Ufr0Tu4QWQ4WC2fQ9KHX3D++PXm1YHdvy+5H2w5VEgCvSkyBSjzxB9wnaxEi vvIJgHEjOAL97rP3CwCft8UUlXoMGpJ85/S40cxu+79ImiwPXrMS/gYcChDBTEZMCaZU/gMVpBK cTxpDKj6iYO2ZFMGyq+y+2N3DZbTenRMEdfH2rrflf76LHIk6Vz42bOh4X98E6ea3xCb5qaJJ8y ze/n35OryrfCU2qMioQfXQNKwKBNU3y+7Tii3mXe4dIABD5XzonXDcGNjqo3IADSUBeXecENKre x5Ktjk3jEMcXA4ZScyqAdI6fKS7LhbAjEtKgEz4qYIUD8= X-Google-Smtp-Source: AGHT+IFOiCERt1NZCR4+Z8iIL46M+Y6pZisWGWoycfh6mZ3Sg82rc/1tH4HUJRB0QF6kN1BwWwW6mw== X-Received: by 2002:a17:906:6a1c:b0:b7c:e320:522c with SMTP id a640c23a62f3a-b80371d4499mr5498240366b.53.1767603876170; Mon, 05 Jan 2026 01:04:36 -0800 (PST) Received: from fedora ([193.77.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037de0de1sm5521794766b.40.2026.01.05.01.04.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 01:04:33 -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 RESEND v2 3/3] x86/hyperv: Remove ASM_CALL_CONSTRAINT with VMMCALL insn Date: Mon, 5 Jan 2026 10:02:34 +0100 Message-ID: <20260105090422.6243-3-ubizjak@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260105090422.6243-1-ubizjak@gmail.com> References: <20260105090422.6243-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.52.0