From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 82DE774009D for ; Thu, 5 Jun 2025 09:00:27 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=Zjsn8OUeCjf3Rj7v3UuUOT67EPa/KSx5R21AAd29nLI=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:MIME-Version:User-Agent:Subject:To:References:From:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240830; t=1749114027; v=1; x=1749373225; b=t3FloNmdLaodGrcD44/zXdaOJvOX66cx7bDIRbm+P5TCTQF5Xhp5C5iZUrHk1RnbOl/Twf76 bGpvqdnj40S9fcjwobDaZ/1S51CWFSu/i1MjWMCLP1FLdaT3Ybs7c7p29nIduWmftaDFjx1L3Pl izpzDzdwonl0SKlQA3XQ2B4R+uvaz8KzyN/YkbV4MYnx/5Revl16FY4uY5bimv8F5ox5AyOt9ao fZZSx1ZvyOnOhm+XKKbDVAEfhe+2dIbH8jjKKBRfv1XQFh8K3BaBRxUji4nSreck5jtptUUQ3sF lyln7ZL7EfCj/RaHl2VUEYlAZF3xCadyHgFE4mDiecyyA== X-Received: by 127.0.0.2 with SMTP id lUfdYY7687511xsiG7QmT4qM; Thu, 05 Jun 2025 02:00:25 -0700 X-Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) by mx.groups.io with SMTP id smtpd.web11.2835.1749114024090560244 for ; Thu, 05 Jun 2025 02:00:24 -0700 X-Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id B595443626; Thu, 5 Jun 2025 11:00:21 +0200 (CEST) Message-ID: Date: Thu, 5 Jun 2025 11:00:16 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [edk2-devel] Avoid split lock detection warnings triggered by OVMF? To: Ard Biesheuvel , devel@edk2.groups.io References: <5d302e42-970f-4468-8d0c-fb564250dea9@proxmox.com> From: "Friedrich Weber" In-Reply-To: Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Thu, 05 Jun 2025 02:00:24 -0700 Resent-From: f.weber@proxmox.com Reply-To: devel@edk2.groups.io,f.weber@proxmox.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: R70ztt84LVCOAcUETUvLjRQdx7686176AA= Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240830 header.b=t3FloNmd; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io Thank you for your fast answer! On 05/06/2025 09:04, Ard Biesheuvel wrote: > Thanks for the elaborate report. Does the following help? >=20 > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.h > b/UefiCpuPkg/Library/MpInitLib/MpLib.h > index a63bb81bef88..a9b3fa77e14d 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.h > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.h > @@ -213,8 +213,6 @@ typedef struct { > UINTN StackStart; > UINTN StackSize; > UINTN CFunction; > - IA32_DESCRIPTOR GdtrProfile; > - IA32_DESCRIPTOR IdtrProfile; > UINTN BufferStart; > UINTN ModeOffset; > UINTN ApIndex; > @@ -227,6 +225,8 @@ typedef struct { > UINTN NumApsExecuting; > CPU_MP_DATA *CpuMpData; > UINTN InitializeFloatingPointUnitsAddress; > + IA32_DESCRIPTOR GdtrProfile; > + IA32_DESCRIPTOR IdtrProfile; > UINT32 ModeTransitionMemory; > UINT16 ModeTransitionSegment; > UINT32 ModeHighMemory; > diff --git a/UefiCpuPkg/Library/MpInitLib/MpEqu.inc > b/UefiCpuPkg/Library/MpInitLib/MpEqu.inc > index d8ba9ea1246c..d67c4c923c82 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpEqu.inc > +++ b/UefiCpuPkg/Library/MpInitLib/MpEqu.inc > @@ -74,8 +74,6 @@ struc MP_CPU_EXCHANGE_INFO > .StackStart: CTYPE_UINTN 1 > .StackSize: CTYPE_UINTN 1 > .CFunction: CTYPE_UINTN 1 > - .GdtrProfile: CTYPE_UINT8 IA32_DESCRIPTOR_size > - .IdtrProfile: CTYPE_UINT8 IA32_DESCRIPTOR_size > .BufferStart: CTYPE_UINTN 1 > .ModeOffset: CTYPE_UINTN 1 > .ApIndex: CTYPE_UINTN 1 > @@ -88,6 +86,8 @@ struc MP_CPU_EXCHANGE_INFO > .NumApsExecuting: CTYPE_UINTN 1 > .CpuMpData: CTYPE_UINTN 1 > .InitializeFloatingPointUnits: CTYPE_UINTN 1 > + .GdtrProfile: CTYPE_UINT8 IA32_DESCRIPTOR_size > + .IdtrProfile: CTYPE_UINT8 IA32_DESCRIPTOR_size > .ModeTransitionMemory: CTYPE_UINT32 1 > .ModeTransitionSegment: CTYPE_UINT16 1 > .ModeHighMemory: CTYPE_UINT32 1 Applied this on top of 8c04bcc7ed, and the minimal reproducer doesn't trigger any split lock warnings anymore. I also booted some Linux+Windows test VMs with a patched firmware build and didn't see any split lock warnings caused by OVMF (the Windows VMs seem to occasionally trigger some when booted, but this is a different issue). -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#121395): https://edk2.groups.io/g/devel/message/121395 Mute This Topic: https://groups.io/mt/113480235/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-