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

Re: [PATCH for-4.21??? 2/3] x86/vLAPIC: drop VLAPIC_VERSION


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Wed, 8 Oct 2025 18:23:03 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=KlPKlSN0Fj/ppB78sd5/kxjKKC0lLI+T8NZZLmiIVwg=; b=U0gbUMbGVYO+kmCkDkKViwV0bKzUs+f/s6OPpySnAFzqTjjzJTPbbiMj+CxK3fVwE7n1zIgllGl5rcHJzpVmzXo00ahrieDQQgwUbNB+oSmjRmAZRgAwFJnjQuiHGz8HCHG9/pxEIjA6tXTUua5nFmkrTCJjHitzA4FNMoDBcvCKCIT+m7hisOhCaDBD42+8EGpAKicH3F3NHMnT6BlxKiR0zz6C5tpRy1C5JkKonSg13jrQ0lOl5myyhPdGTwKHYgyyFVnzYSE7e1LVQ9K6F0bMZ59XgL/mCR4c6igwlLoluB80ES8am7rX3JUOGYS0JfV/iT/44EtXsMgp2LZ+Ww==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uMePLhKzS8/m2z+RLbt9DrLYBf+ENO3klH/Kb7QglO5l3dekByl2FBSBgOhgtYdIQYwk9jeqFG1Y703CVDLbD/MYqtIIj6nXM+H7v8Awl4kmThyz2aMkIXD5b21iyOPiRwxoCozRuVxHyv+wg9qNriT/7RMauuCGnquQTPxyh/HAcfniS+YuDEy/rIrua5tDqVnbLv7Jo+wih3NOha27HJujO/vVaNDelUjwVsJNrsBHd4xItzhMRBtKidD0iGoTemTFt9g2rY+X4i96qDoWOtDILW8z9IB1AnkUiBOUNqT5f5jcQ1bUeI2EOi5opD08mDXHGwCJ8jZMz2wKRY6h0Q==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Andrew Cooper <amc96@xxxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>, Grygorii Strashko <grygorii_strashko@xxxxxxxx>
  • Delivery-date: Wed, 08 Oct 2025 16:23:21 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Wed, Oct 08, 2025 at 02:08:48PM +0200, Jan Beulich wrote:
> In preparation of making the value somewhat dynamic drop the constant.
> Replace its use in guest_wrmsr_x2apic() by actually fetching the LVR
> value.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> 
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -31,7 +31,6 @@
>  #include <public/hvm/ioreq.h>
>  #include <public/hvm/params.h>
>  
> -#define VLAPIC_VERSION                  0x00050014
>  #define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>  
>  #define LVTS \
> @@ -1015,7 +1014,7 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
>      case APIC_SPIV:
>          if ( val & ~(APIC_VECTOR_MASK | APIC_SPIV_APIC_ENABLED |
>                       APIC_SPIV_FOCUS_DISABLED |
> -                     (VLAPIC_VERSION & APIC_LVR_DIRECTED_EOI
> +                     (vlapic_get_reg(vlapic, APIC_LVR) & 
> APIC_LVR_DIRECTED_EOI
>                        ? APIC_SPIV_DIRECTED_EOI : 0)) )
>              return X86EMUL_EXCEPTION;
>          break;
> @@ -1439,7 +1438,7 @@ static void vlapic_do_init(struct vlapic
>      if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
>          return;
>  
> -    vlapic_set_reg(vlapic, APIC_LVR, VLAPIC_VERSION);
> +    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);

(Maybe I'm getting ahead of patch 3, as I haven't looked yet)

Don't we want to use some kind of macros to build this in a more
friendly way?

We could have a pair of SET_APIC_{VERSION,MAXLVT}()?

Thanks, Roger.



 


Rackspace

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