[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ranconfig failure between VT-d and HVM


  • To: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 21 Apr 2022 16:12:01 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vXo0w0CYODB9ALcu+zQYRCzxY1GbV6wdvC3xednxnSs=; b=SHnT6Y8ke/NT3jM90q3y0eTfyDIsJ5M+7HZRfXlJl0qCzeB5CcvE9FocEFFfD2nc0y9ekw9+RW2gFDP/D8q05tJ+vnpWLFwab7+5gbqzmnim4oX+SAa5lmd1hgUCoHB7NC1KDciny/H/r3milM7jUaPvpLrQ7iU8CjS4Fi1JLLnchGsgaw3Z8eiM4ap8gnsXubTsQ6LsZZEgD7EhQ5BNsmjgTQrbN2rLa5Ljv0Uv55kWoeRfpGleieEJhuTVybX0IEQPSACu6RGVOzeHXXRMHn3rFiDfuEBkRn7He3KGeh/1pue3q3a+D3y+89MItNJHTWN1fAaRW0T1aodiZWO4pg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WAwRJTLOw2E1a9XMRYLx6uAX12CBX9kUd/YKdGGGhKwrLSUpp5ceOhOZNb9HtlgZViDcDp0TW617vB2ZhxgPrSnfLnp4UQuoxii0TYAGfHlPWajgGpwfojP+QGcs+HwB2A+vigNjK8QLFZF1Hs94Ox9/jcRdGlMms76BYRDsofA3d/Fq75jsGrbzDtusU/phePMWJAN78N7hBZsNmmjNJmCiPIskhNoZIF4M5Qw/pUOIn680V6rP6obgVeMt+gbS15wchYedPVs73k1F1QnAsx1PtUIWzU3M+9vGBKupctj5trpTKk1TDayeeuGzSDDK/HDcPC6zRt4PzztlJVwkow==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 21 Apr 2022 14:12:10 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 20.04.2022 20:01, Andrew Cooper wrote:
> On 20/04/2022 18:49, Andrew Cooper wrote:
>> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/2355562119
>>
>> ld: prelink.o: in function `vtd_setup':
>> drivers/passthrough/vtd/iommu.c:(.init.text+0x219f6): undefined
>> reference to `opt_hap_2mb'
>> drivers/passthrough/vtd/iommu.c:(.init.text+0x219f6): relocation
>> truncated to fit: R_X86_64_PC32 against undefined symbol `opt_hap_2mb'
>> ld: drivers/passthrough/vtd/iommu.c:(.init.text+0x21a23): undefined
>> reference to `opt_hap_1gb'
>> drivers/passthrough/vtd/iommu.c:(.init.text+0x21a23): relocation
>> truncated to fit: R_X86_64_PC32 against undefined symbol `opt_hap_1gb'
>> ld: ./.xen-syms.0: hidden symbol `opt_hap_2mb' isn't defined
>> ld: final link failed: bad value
>> make[3]: *** [arch/x86/Makefile:137: xen-syms] Error 1
>>
>> It's really not clear why this has first show up now.  There has been a
>> huge quantity of noise in Gitlab CI for the past 3 weeks with ARM being
>> offline, but I can't see anything relevant in the large number of IOMMU
>> changes in that period.
>>
>> Anyway, the issue is simple.  It's vtd_ept_page_compatible() in a
>> !CONFIG_HVM build.
> 
> And just after sending, I realised it's not an IOMMU change.
> 
> commit c479415610f0448bb07d39185e72ef36e08ebec0
> Author: Jan Beulich <jbeulich@xxxxxxxx>
> Date:   Fri Apr 8 13:50:29 2022
> 
>     x86/P2M: p2m.c is HVM-only
> 
> 
> CI disputes the claim.

Just as an intermediate result: In my !HVM build (with gcc11) this

        if ( !vtd_ept_page_compatible(iommu) )
            clear_iommu_hap_pt_share();

simply compiles to nothing, which I assume is the result of
clear_iommu_hap_pt_share() doing nothing in that case. Hence no
reference to opt_hap_{2mb,1gb}.

Jan




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.