Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp16717pxb; Wed, 6 Apr 2022 20:17:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzo0C3vWMmnAoVyKlerCV0szqzrnt7/+C49+u72qC4dObdBN5znLKQHUBQ8ZIFxHcMS2En2 X-Received: by 2002:a17:906:7304:b0:6e0:6918:ef6f with SMTP id di4-20020a170906730400b006e06918ef6fmr11034028ejc.370.1649301470851; Wed, 06 Apr 2022 20:17:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649301470; cv=none; d=google.com; s=arc-20160816; b=iYzlMiEVQYy6N8sClP73cMGjYeVK/VDd/57yE57v8Wt3xGsYSDXqUzo3M/+aCMgfeP 61xgbaMszWF/U350Oj1bBbaP+ufc83EqApZdiioTzZACRLgTcpeaBKtxoMNzoyqpcVex yFbH45x6RaEOE/EpAidwiY5DMALbu+Spk1bDf18P81s4p6tO58vrf9qM7Nj1gg/PzNWT JTjnD8RlaP4hVRajbptQceRAyQ95qfpAV1acwNrsrPZfp3S1z7WxPXnj04LWghMNwQBi Js5UVMDBVr6EYfzalwJH0AOXo6S/i3F4gLJwUkZKrAoqi1ATcOWWpCMR6wGlwHbn7ssJ lbDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=52XeoShnHmdAQ+XobvAW3OjjBZFsGfa67mgB/KHswHw=; b=XPd83UkVBqmyHO8p6SiaAu5SJtm/96c3miUNzT7uEEaC7E92tsfjRFccG9bpBDBZBs CUB4YS5df92SlpkSSjsia+EQ5/+/b3EawNqgip0UqiHULuN0FTtVkH+om9+4ySIozgEW 6aZASRdfTsXt1dwLzDATHKmdvsROQICMpqVHGVRM7HAHlzkfp/paWd0mGlHmOWGCw8ON 3dvrsO/xccfiDisKfrSvCfvgRMpd62vHr4QUO0TOtI+18y+/dDa2pQWYvCnqjO6aigSS adEUSBQ08X1kZDWQK6EI6uiZVthVB/oNU6CrWZkbJY0UIftP3dUG8ghG1JM4ONDowaeE Cn3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=rTC+MTir; dkim=neutral (no key) header.i=@linutronix.de header.b="l/De9Ow9"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m10-20020a056402510a00b00418d6c3d730si15069389edd.253.2022.04.06.20.17.25; Wed, 06 Apr 2022 20:17:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=rTC+MTir; dkim=neutral (no key) header.i=@linutronix.de header.b="l/De9Ow9"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233984AbiDFWJT (ORCPT + 99 others); Wed, 6 Apr 2022 18:09:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229763AbiDFWJS (ORCPT ); Wed, 6 Apr 2022 18:09:18 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ADDF32A71C; Wed, 6 Apr 2022 15:07:20 -0700 (PDT) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1649282839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=52XeoShnHmdAQ+XobvAW3OjjBZFsGfa67mgB/KHswHw=; b=rTC+MTir7K3GQwjDaTnq/Dtgs9ZArTDUo8SEVZ8/M7l0Ij82aZQsxfxt4MSQvDZPqhzjbe KmAvC/1zLhXu9TrKuiWPVKsLn5MkyxZifWmaI51hUsVzMe0GDKkIWnzWUHhVTGRrnRGhjq CPvfqO/kjVbIhCUE1MYr/B7f0pAb0dfqz4tJo1i3kltxcKiulF8Amz9MStp5aiBF/OTg59 bXSaUVq2t1wWWpZbtctl9uOmg1cKLed7IhXjmITB4bhTVpfo6majJv+iwx1LHnCAkSm1k1 9jlnuq5Tg7dEz82ISrh4peEjS5Xc3bEjIsKWPZv3e/zZ+bMPHUImxf/kov3uWw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1649282839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=52XeoShnHmdAQ+XobvAW3OjjBZFsGfa67mgB/KHswHw=; b=l/De9Ow9qS0nayBe3dC2SF/mqKKOsu2s5yJnnCR+HzzwO6gGPHvUKa7HHa8ezn5dzKZ2ry un2P6HyZnfHvUxAg== To: Reto Buerki , dwmw2@infradead.org Cc: x86@kernel.org, kvm@vger.kernel.org, iommu@lists.linux-foundation.org, joro@8bytes.org, pbonzini@redhat.com, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, maz@misterjones.org, decui@microsoft.com Subject: Re: [PATCH v3 12/35] x86/msi: Provide msi message shadow structs In-Reply-To: <20220406083624.38739-1-reet@codelabs.ch> References: <20201024213535.443185-13-dwmw2@infradead.org> <20220406083624.38739-1-reet@codelabs.ch> Date: Thu, 07 Apr 2022 00:07:18 +0200 Message-ID: <87sfqpzx0p.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 06 2022 at 10:36, Reto Buerki wrote: > While working on some out-of-tree patches, we noticed that assignment to > dmar_subhandle of struct x86_msi_data lead to a QEMU warning about > reserved bits in MSI data being set: > > qemu-system-x86_64: vtd_interrupt_remap_msi: invalid IR MSI (sid=256, address=0xfee003d8, data=0x10000) > > This message originates from hw/i386/intel_iommu.c in QEMU: > > #define VTD_IR_MSI_DATA_RESERVED (0xffff0000) > if (origin->data & VTD_IR_MSI_DATA_RESERVED) { ... } > > Looking at struct x86_msi_data, it appears that it is actually 48-bits in size > since the bitfield containing the vector, delivery_mode etc is 2 bytes wide > followed by dmar_subhandle which is 32 bits. Thus assignment to dmar_subhandle > leads to bits > 16 being set. > > If I am not mistaken, the MSI data field should be 32-bits wide for all > platforms (struct msi_msg, include/linux/msi.h). Is this analysis > correct or did I miss something wrt. handling of dmar_subhandle? It's correct and I'm completely surprised that this went unnoticed for more than a year. Where is that brown paperbag... Thanks, tglx