On 27 Jul 2023, Jan Beulich wrote:

On 26.07.2023 13:03, Simone Ballarin wrote:
> >* @@ -70,15 +70,15 @@ static const uint8_t sr_mask[8] = {*
> >*  };*
> >
> >*  static const uint8_t gr_mask[9] = {*
> >* -    (uint8_t)~0xf0, /* 0x00 */*
> >* -    (uint8_t)~0xf0, /* 0x01 */*
> >* -    (uint8_t)~0xf0, /* 0x02 */*
> >* -    (uint8_t)~0xe0, /* 0x03 */*
> >* -    (uint8_t)~0xfc, /* 0x04 */*
> >* -    (uint8_t)~0x84, /* 0x05 */*
> >* -    (uint8_t)~0xf0, /* 0x06 */*
> >* -    (uint8_t)~0xf0, /* 0x07 */*
> >* -    (uint8_t)~0x00, /* 0x08 */*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xe0,*
> >* +    (uint8_t)~0xfc,*
> >* +    (uint8_t)~0x84,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0xf0,*
> >* +    (uint8_t)~0x00,*
> >*  };*
>
> Hmm, this stray change is _still_ there.
>
> Ok. Sorry for that.

> >* --- a/xen/arch/x86/include/asm/hvm/trace.h*
> >* +++ b/xen/arch/x86/include/asm/hvm/trace.h*
> >* @@ -58,7 +58,7 @@*
> >*  #define DO_TRC_HVM_VLAPIC           DEFAULT_HVM_MISC*
> >
> >
> >* -#define TRC_PAR_LONG(par) ((par)&0xFFFFFFFF),((par)>>32)*
> >* +#define TRC_PAR_LONG(par) ((uint32_t)par), ((par) >> 32)*
>
> You've lost parentheses around "par".
>
> >* @@ -93,7 +93,7 @@*
> >*      HVMTRACE_ND(evt, 0, 0)*
> >
> >*  #define HVMTRACE_LONG_1D(evt, d1)                  \*
> >* -                   HVMTRACE_2D(evt ## 64, (d1) & 0xFFFFFFFF, (d1) >> 32)*
> >* +                   HVMTRACE_2D(evt ## 64, (uint32_t)d1, (d1) >> 32)*
>
> Same for "d1" here.
>
> Both of these are, btw., indications that you should have dropped Stefano's
> R-b.
>
> Ok.

> >* --- a/xen/arch/x86/include/asm/msr-index.h*
> >* +++ b/xen/arch/x86/include/asm/msr-index.h*
> >* @@ -30,7 +30,7 @@*
> >
> >*  #define MSR_INTEL_CORE_THREAD_COUNT         0x00000035*
> >*  #define  MSR_CTC_THREAD_MASK                0x0000ffff*
> >* -#define  MSR_CTC_CORE_MASK                  0xffff0000*
> >* +#define  MSR_CTC_CORE_MASK                  0xffff0000U*
> >
> >*  #define MSR_SPEC_CTRL                       0x00000048*
> >*  #define  SPEC_CTRL_IBRS                     (_AC(1, ULL) <<  0)*
> >* @@ -168,7 +168,7 @@*
> >*  #define MSR_UARCH_MISC_CTRL                 0x00001b01*
> >*  #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)*
> >
> >* -#define MSR_EFER                            0xc0000080 /* Extended 
> >Feature *
> >* Enable Register */*
> >* +#define MSR_EFER                            _AC(0xc0000080, U)  /* 
> >Extended *
> >* Feature Enable Register */*
>
> I understand you use _AC() here because the constant is used in assembly
> code. But I don't understand why you use it only here, and not throughout
> at least the "modern" portion of the file. I wonder what other x86
> maintainers think about this.
>
> I've used _AC only when strictly required to avoid errors.
In v5 I will use _AC on all constants in the "modern" part of the file.

> As a minor aspect, I also don't really see why you insert a 2nd blank
> ahead of the comment.
>
> To align the comment with the others below.
I see that comment aligning is not done in this file, so I will drop the
change in v5.

> >*  #define  EFER_SCE                           (_AC(1, ULL) <<  0) /* 
> >SYSCALL *
> >* Enable */*
> >*  #define  EFER_LME                           (_AC(1, ULL) <<  8) /* Long 
> >Mode *
> >* Enable */*
> >*  #define  EFER_LMA                           (_AC(1, ULL) << 10) /* Long 
> >Mode *
> >* Active */*
> >* @@ -181,35 +181,35 @@*
> >*      (EFER_SCE | EFER_LME | EFER_LMA | EFER_NXE | EFER_SVME | EFER_FFXSE | 
> >\*
> >*       EFER_AIBRSE)*
> >
> >* -#define MSR_STAR                            0xc0000081 /* legacy mode *
> >* SYSCALL target */*
> >* -#define MSR_LSTAR                           0xc0000082 /* long mode 
> >SYSCALL *
> >* target */*
> >* -#define MSR_CSTAR                           0xc0000083 /* compat mode *
> >* SYSCALL target */*
> >* -#define MSR_SYSCALL_MASK                    0xc0000084 /* EFLAGS mask for 
> >*
> >* syscall */*
> >* -#define MSR_FS_BASE                         0xc0000100 /* 64bit FS base 
> >*/*
> >* -#define MSR_GS_BASE                         0xc0000101 /* 64bit GS base 
> >*/*
> >* -#define MSR_SHADOW_GS_BASE                  0xc0000102 /* SwapGS GS 
> >shadow */*
> >* -#define MSR_TSC_AUX                         0xc0000103 /* Auxiliary TSC 
> >*/*
> >* +#define MSR_STAR                            0xc0000081U /* legacy mode *
> >* SYSCALL target */*
> >* +#define MSR_LSTAR                           0xc0000082U /* long mode 
> >SYSCALL *
> >* target */*
> >* +#define MSR_CSTAR                           0xc0000083U /* compat mode *
> >* SYSCALL target */*
> >* +#define MSR_SYSCALL_MASK                    0xc0000084U /* EFLAGS mask 
> >for *
> >* syscall */*
> >* +#define MSR_FS_BASE                         0xc0000100U /* 64bit FS base 
> >*/*
> >* +#define MSR_GS_BASE                         0xc0000101U /* 64bit GS base 
> >*/*
> >* +#define MSR_SHADOW_GS_BASE                  0xc0000102U /* SwapGS GS 
> >shadow *
> >* */*
> >* +#define MSR_TSC_AUX                         0xc0000103U /* Auxiliary TSC 
> >*/*
> >
> >* -#define MSR_K8_SYSCFG                       0xc0010010*
> >* +#define MSR_K8_SYSCFG                       0xc0010010U*
> >*  #define  SYSCFG_MTRR_FIX_DRAM_EN            (_AC(1, ULL) << 18)*
> >*  #define  SYSCFG_MTRR_FIX_DRAM_MOD_EN        (_AC(1, ULL) << 19)*
> >*  #define  SYSCFG_MTRR_VAR_DRAM_EN            (_AC(1, ULL) << 20)*
> >*  #define  SYSCFG_MTRR_TOM2_EN                (_AC(1, ULL) << 21)*
> >*  #define  SYSCFG_TOM2_FORCE_WB               (_AC(1, ULL) << 22)*
> >
> >* -#define MSR_K8_IORR_BASE0                   0xc0010016*
> >* -#define MSR_K8_IORR_MASK0                   0xc0010017*
> >* -#define MSR_K8_IORR_BASE1                   0xc0010018*
> >* -#define MSR_K8_IORR_MASK1                   0xc0010019*
> >* +#define MSR_K8_IORR_BASE0                   0xc0010016U*
> >* +#define MSR_K8_IORR_MASK0                   0xc0010017U*
> >* +#define MSR_K8_IORR_BASE1                   0xc0010018U*
> >* +#define MSR_K8_IORR_MASK1                   0xc0010019U*
> >
> >* -#define MSR_K8_TSEG_BASE                    0xc0010112 /* AMD doc: 
> >SMMAddr */*
> >* -#define MSR_K8_TSEG_MASK                    0xc0010113 /* AMD doc: 
> >SMMMask */*
> >* +#define MSR_K8_TSEG_BASE                    0xc0010112U /* AMD doc: 
> >SMMAddr *
> >* */*
> >* +#define MSR_K8_TSEG_MASK                    0xc0010113U /* AMD doc: 
> >SMMMask *
> >* */*
> >
> >* -#define MSR_K8_VM_CR                        0xc0010114*
> >* +#define MSR_K8_VM_CR                        0xc0010114U*
> >*  #define  VM_CR_INIT_REDIRECTION             (_AC(1, ULL) <<  1)*
> >*  #define  VM_CR_SVM_DISABLE                  (_AC(1, ULL) <<  4)*
> >
> >* -#define MSR_VIRT_SPEC_CTRL                  0xc001011f /* Layout matches *
> >* MSR_SPEC_CTRL */*
> >* +#define MSR_VIRT_SPEC_CTRL                  0xc001011fU /* Layout matches 
> >*
> >* MSR_SPEC_CTRL */*
> >
> >*  /**
> >*   * Legacy MSR constants in need of cleanup.  No new MSRs below this 
> >comment.*
>
> (As to above remark: This is the separator between "modern" [above]
> and "historic" [below].)
>
> Jan
>
>

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com
<http://bugseng.com>)

Reply via email to