On Tue, Apr 29, 2025 at 03:52:48PM +0530, Vasant Hegde wrote:
> On 4/29/2025 12:15 PM, Nicolin Chen wrote:
> > On Tue, Apr 29, 2025 at 11:04:06AM +0530, Vasant Hegde wrote:
> >> On 4/29/2025 1:32 AM, Nicolin Chen wrote:
> >>> On Mon, Apr 28, 2025 at 05:42:27PM +0530, Vasant Hegde wrote:
> >>> Yes. For AMD "vIOMMU", it needs a new type for iommufd vIOMMU:
> >>>   IOMMU_VIOMMU_TYPE_AMD_VIOMMU,
> >>>
> >>> For AMD "vIOMMU" command buffer, it needs a new type too:
> >>>   IOMMU_VCMDQ_TYPE_AMD_VIOMMU, /* Kdoc it to be Command Buffer */
> >>
> >> You are suggesting we define one type for AMD and use it for all buffers 
> >> like
> >> command buffer, event log, PPR buffet etc? and use 
> >> iommu_vcmdq_alloc->index to
> >> identity different buffer type?
> > 
> > We have vEVENTQ for event logging and FAULT_QUEUE for PRI, but both
> > are not for hardware accelerated use cases.
> > 
> > I didn't check the details of AMD's event log and PPR buffers. But
> > they seem to be the same ring buffers and can be consumed by guest
> > kernel directly?
> 
> Right. Event log is accelerated and consumed by guest directly. Also we have
> Event Log B !
> 
> > 
> > Will the hardware replace the physical device ID in the event with
> > the virtual device ID when injecting the event to a guest event/PPR
> > queue? 
> > If so, yea, I think you can define them separately using the> vCMDQ
> infrastructures:
> >  - IOMMU_VCMDQ_TYPE_AMD_VIOMMU_CMDBUF
> >  - IOMMU_VCMDQ_TYPE_AMD_VIOMMU_EVENTLOG
> >  - IOMMU_VCMDQ_TYPE_AMD_VIOMMU_PPRLOG
> > (@Kevin @Jason Hmm, in this case we might want to revert the naming
> >  "vCMDQ" back to "vQEUEUE", once Vasant confirms.)

I think I should rename IOMMUFD_OBJ_VCMDQ back to IOMMUFD_OBJ_VQUEUE
since the same object fits three types of queue now in the AMD case.

Or any better naming suggestion?

Thanks
Nicolin

Reply via email to