[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v2 1/2] intel_iommu: split the resevred fields arrays into tw
From: |
Qi, Yadong |
Subject: |
RE: [PATCH v2 1/2] intel_iommu: split the resevred fields arrays into two ones |
Date: |
Fri, 22 Nov 2019 08:10:55 +0000 |
> -----Original Message-----
> From: Peter Xu <address@hidden>
> Sent: Wednesday, November 20, 2019 12:06 AM
> To: Zhang, Qi1 <address@hidden>
> Cc: address@hidden; address@hidden; address@hidden;
> address@hidden; Qi, Yadong <address@hidden>; address@hidden
> Subject: Re: [PATCH v2 1/2] intel_iommu: split the resevred fields arrays into
> two ones
>
> On Tue, Nov 19, 2019 at 08:28:13PM +0800, address@hidden wrote:
> > @@ -3547,15 +3548,17 @@ static void vtd_init(IntelIOMMUState *s)
> > /*
> > * Rsvd field masks for spte
> > */
> > - vtd_paging_entry_rsvd_field[0] = ~0ULL;
> > - vtd_paging_entry_rsvd_field[1] = VTD_SPTE_PAGE_L1_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[2] = VTD_SPTE_PAGE_L2_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[3] = VTD_SPTE_PAGE_L3_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[4] = VTD_SPTE_PAGE_L4_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[5] = VTD_SPTE_LPAGE_L1_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[6] = VTD_SPTE_LPAGE_L2_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[7] = VTD_SPTE_LPAGE_L3_RSVD_MASK(s-
> >aw_bits);
> > - vtd_paging_entry_rsvd_field[8] = VTD_SPTE_LPAGE_L4_RSVD_MASK(s-
> >aw_bits);
> > + vtd_spte_rsvd[0] = ~0ULL;
> > + vtd_spte_rsvd[1] = VTD_SPTE_PAGE_L1_RSVD_MASK(s->aw_bits);
> > + vtd_spte_rsvd[2] = VTD_SPTE_PAGE_L2_RSVD_MASK(s->aw_bits);
> > + vtd_spte_rsvd[3] = VTD_SPTE_PAGE_L3_RSVD_MASK(s->aw_bits);
> > + vtd_spte_rsvd[4] = VTD_SPTE_PAGE_L4_RSVD_MASK(s->aw_bits);
> > +
> > + vtd_spte_rsvd_large[0] = ~0ULL;
> > + vtd_spte_rsvd_large[1] = VTD_SPTE_LPAGE_L1_RSVD_MASK(s->aw_bits);
> > + vtd_spte_rsvd_large[2] = VTD_SPTE_LPAGE_L2_RSVD_MASK(s->aw_bits);
> > + vtd_spte_rsvd_large[3] = VTD_SPTE_LPAGE_L3_RSVD_MASK(s->aw_bits);
> > + vtd_spte_rsvd_large[4] = VTD_SPTE_LPAGE_L4_RSVD_MASK(s->aw_bits);
>
> This looks good to me in general, but... Since we're at it, do you think we
> can
> directly drop VTD_SPTE_LPAGE_L1_RSVD_MASK and
> VTD_SPTE_LPAGE_L4_RSVD_MASK? Are they really useful?
Yes, the LPAGE_L1 and LPAGE_L4 are useless. I will try to make the change.
Best Regard
Yadong