Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp4725947ybp; Mon, 7 Oct 2019 12:58:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqwqHFqzqgectRsf0Hgcb48HS/1Zqvcw5ZJdg9cpco0/uQTsRYvG2w3MJ1IoMNJDX1lCdBN0 X-Received: by 2002:a05:6402:1a4f:: with SMTP id bf15mr30986075edb.292.1570478315585; Mon, 07 Oct 2019 12:58:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570478315; cv=none; d=google.com; s=arc-20160816; b=bXaHnZFNwprBY8MaHM5O04C8sdlSXCR89Dj2H0JEJn+r4XVjrDVDYpwPZwLPf/bUEH Hy5uMItpvVcILhvE/JrrmWfSm5pE8EIABOmVKCzrSX1wnS9zPbr3hP+VnU+xkq51//Xb 3cfmCMSTZLaC+jCHp1hxp4xdyeN80TrntvqYRcOStqM+s/ytbmqAkTeVwcfFZlc/1iHt QAxa9fC4MiKhImSA5gRc8PEDbLtk2MY82PAalgWECSnH9hrYct4SQx4gNzhoh3JRWcb/ od6c/Kb4s6HaRzcvEIqLVhaw2Pdy2xQkrNf3OA3GyRCHfZpiMKyAgt94jUnMN42mLcNc 3l3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Np1dLtH5+g3q/AtVMCx0wuJ5qYDTOY/aAWm/xM3OOGk=; b=ICPb10ZkpjKiIOAPkxD9LNsOVCQeM6PReR1LB8xYy2QV+TGqFDQ0rlAut20woVRDYl P3S7U2oQDUf2pBzjjoJBoo3wTlwkucTFLXzdUUgNwr/k53OkKfKyDucF+tv/fuYA6FRT FUTA+NpuMzdFvNIN5Xfej5jKr9egCzMySFPXa3Xbp/KeedfROoTdTZK3AzmWdKTcPSWS H0dEq3I5ptU70pr98Lq5UEbeKEmzgkjCT2mKRW1nmtgv7kCa2CoTR08myIT0faRIenb9 rtX7IByXv07/ElX2qmgMiVkWJMqvAftzq6b6wCTAMXDFy3a5mosDmpR7hzfiolDRvmXJ BDaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=igfx0QTx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id op27si7637257ejb.253.2019.10.07.12.58.11; Mon, 07 Oct 2019 12:58:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=igfx0QTx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728893AbfJGT5z (ORCPT + 99 others); Mon, 7 Oct 2019 15:57:55 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:33861 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728289AbfJGT5z (ORCPT ); Mon, 7 Oct 2019 15:57:55 -0400 Received: by mail-pl1-f193.google.com with SMTP id k7so7385436pll.1 for ; Mon, 07 Oct 2019 12:57:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Np1dLtH5+g3q/AtVMCx0wuJ5qYDTOY/aAWm/xM3OOGk=; b=igfx0QTx4y7VtszEETGCiZTm0y8asHQ6eEmdFVoL9g7fTrfLKBZRgwM+W2Wi/xCSgM cgkiRO0/0Uq6DR4AYrvB3a4grZXb+G3Ae9lAwi3zPBHqxQH9Ny3/FlttwAumHsF1AkDv 966mLZmZlFON8x2mdvKdWNvciTbw+z01GLPpjdvk0l/nhTppD25EMEKxBaRRkJ32QOe2 ERpDe5pDlfrc5LWWn5JnaBJg23OmIcm8hhR5hA4iU8QbOzvOKdTyjDm33Qc4aEENcGZO ftGSPOULiR3Sg1j+BRW4wxD3TEZQo/WU0mZFVEG6gSTWyN7npB0gD0U0j/dnewmLGNn9 2qIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Np1dLtH5+g3q/AtVMCx0wuJ5qYDTOY/aAWm/xM3OOGk=; b=J+c4Z26MX7F6OfKIOQZMAKeT2TRRItBqeV/KccRf6VW9YVbiwkmG3WPaBlaApWgP1+ cS7nulI63xI87PhsvBq+AoUzLAiyQsNXGGCLiZYximMrwP7o+bh+F7kkhsEHiwnUjgVy g7Z3+2g+0pm693v+Rs5w2nzNa5UCWvkiAjfabCs1O0q40ETrhJqjKM+GJ2jO5qEb49o0 rHoeC73HNQ3KvJOCWBScTAa+OiP6VMrqvSuG52+Z+/+6e2+j2XfTQYFAecpjlWq06txA kcixm250lCFDedFM79e8IhjmFZehygKeG1h/ED9gjry/4XHov+ID62Lj0ULU3kA8QA+u s29g== X-Gm-Message-State: APjAAAXETLNctADMRQ+3XFgXOAcvEomVdbquGuByeWWRqaVq71T0HDan UzwMFF3DPIcsGP5tmx3EjbVDufpm59xKPZezUCKpfQ== X-Received: by 2002:a17:902:820e:: with SMTP id x14mr30841969pln.223.1570478274285; Mon, 07 Oct 2019 12:57:54 -0700 (PDT) MIME-Version: 1.0 References: <20191007192129.104336-1-samitolvanen@google.com> In-Reply-To: <20191007192129.104336-1-samitolvanen@google.com> From: Nick Desaulniers Date: Mon, 7 Oct 2019 12:57:42 -0700 Message-ID: Subject: Re: [PATCH] x86/cpu/vmware: use the full form of inl in VMWARE_PORT To: Sami Tolvanen Cc: Thomas Hellstrom , pv-drivers@vmware.com, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Kees Cook , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , virtualization@lists.linux-foundation.org, LKML , clang-built-linux Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 7, 2019 at 12:21 PM 'Sami Tolvanen' via Clang Built Linux wrote: > > LLVM's assembler doesn't accept the short form inl (%%dx) instruction, > but instead insists on the output register to be explicitly specified: > > :1:7: error: invalid operand for instruction > inl (%dx) > ^ > LLVM ERROR: Error parsing inline asm > > Use the full form of the instruction to fix the build. > > Signed-off-by: Sami Tolvanen Thanks Sami, this looks like it addresses: Link: https://github.com/ClangBuiltLinux/linux/issues/734 Looks like GAS' testsuite has some cases where the second operand is indeed implicitly %eax if unspecified. (This should still be fixed in Clang). Just to triple check that they're equivalent: $ cat inl.s inl (%dx) inl (%dx), %eax $ as inl.s $ objdump -d a.out a.out: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 <.text>: 0: ed in (%dx),%eax 1: ed in (%dx),%eax Reviewed-by: Nick Desaulniers > --- > arch/x86/kernel/cpu/vmware.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c > index 9735139cfdf8..46d732696c1c 100644 > --- a/arch/x86/kernel/cpu/vmware.c > +++ b/arch/x86/kernel/cpu/vmware.c > @@ -49,7 +49,7 @@ > #define VMWARE_CMD_VCPU_RESERVED 31 > > #define VMWARE_PORT(cmd, eax, ebx, ecx, edx) \ > - __asm__("inl (%%dx)" : \ > + __asm__("inl (%%dx), %%eax" : \ > "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) : \ > "a"(VMWARE_HYPERVISOR_MAGIC), \ > "c"(VMWARE_CMD_##cmd), \ -- Thanks, ~Nick Desaulniers