Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Detecting If the PCIe function is a physical function or a virtual function

ajitabhsajitabhs Member Posts: 67
edited May 20 in NTDEV

Hi Guys,

I am writing a KMDF driver for SRIOV device and the driver capabilities needs to be different for PF or a VF. I want to same driver binary to work on both and the logic to differentiate between the PF and VF is contained in the driver. One way to detect if a function on which the driver is loading is a PF is by scanning the capabilities chain and see if we find the SRIOV capabilities. That looks like a lot of work to me to do this at initial load time.

Is there a better way to do this?

Thanks
Aj-

Comments

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 8,986

    scanning the capabilities chain and see if we find the SRIOV capabilities. That looks like a lot of work to me to do this at initial load time

    It’s not such a lot of work. You walk a table… it’s very simple. Lots of drivers do it, for various reasons,

    Peter

    Peter Viscarola
    OSR
    @OSRDrivers

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 12 September 2022 Live, Online
Internals & Software Drivers 23 October 2022 Live, Online
Kernel Debugging 14 November 2022 Live, Online
Developing Minifilters 5 December 2022 Live, Online