4 Replies Latest reply on Jun 11, 2019 4:06 PM by buggine

    Compiling drivers for the Aquantia AQC 10GB NICs

    FrancisAugusto Novice

      Hi, I started this week an attempt of compiling the linux drivers for the AQC line of 10gb cards to the ESXi. This would allow ESXi to be more functional on hardware such as the Mac Mini.

       

      I downloaded the 32 bit CentOS 5.6 and the 6.7U1 toolchain, and it is looking promising. I still get a lot of errors, but I guess they can be solved.

      There's one thing, however, that I am failing to understand. On the AQC drivers, there are references to the `struct page` and to the `count` member of this structure.

      However, on the mm.h file distributed on the source code from vmware, we learn that the structure page is actually empy:

       

      ```

      #if defined(__VMKLNX__)

      /**                                        

      *  struct page - page handle structure

      *                                         

      *  ESX Deviation Notes:                   

      *  As we don't support page handle, this should be an opaque structure. In vmklinux

      *  a page handle represents the actual page number.

      *  Such an handle should not be deferenced nor used in any form of pointer

      *  arithmetic to obtain the page descriptor to any adjacent page. The pointer

      *  should be treated as an opague handle and should only be used as argument to

      *  other functions.

      *                                         

      */                                        

      /* _VMKLNX_CODECHECK_: page */

      struct page {

      };

      ```

      Is there an approach to go around this, or is this a dead end?