IntelProE1000 Sample
Description
Provides an example of using Message Signaled Interrupts (MSI/MSIX) or line-based interrupts on the Intel PRO/e1000 PT Single, Dual or Quad port server adapter or the Intel Gigabit CT Desktop Adapter.
The program tests the ability to both attach to interrupts and to respond to them. This is done by looping through several interrupts of each supported type, and reporting back status that indicates whether the driver responded to all of the interrupts.
This test takes control of the Network Interface Card (NIC) independent of the TCP/IP stack. Single port, dual port and quad port adapters can be tested. To run correctly, the TCP/IP stack must be disabled.
Source Files
| File | Description |
|---|---|
| IntelProE1000.c | Checks the execution order of ISTs based on priority. It also demonstrates the ability of the driver to decide whether to use either MSI or line-based interrupts. |
Usage
IntelProE1000.ertos <Total Number of Cards> <Loop Count> <Priority Array> <MSI Enabled Array>
IntelProE1000.ertos h
Total Number of Cards: An integer specifying how many cards to test (1-8). The default value is 1.
Loop Count: Integer specifying the number of times the loop is to be performed. The default value is 100.
Priority [Card Number]: Array of integer values specifying the priority level for ISTs, starting from Card 0 to <Total Number of Cards> - 1. Note: The priority range for the ISTs is 0-126 (127 is reserved for the main thread). To test IST executing order, assign a different priority to each IST.
MSI Enable [Card Number]: Array of Booleans specifying the type of interrupt to use, starting from Card 0 to <Total Number of Cards> - 1. A value of 1 enables the use of MSI/MSIX, if supported; a value of 0 indicates the use of a line-based interrupt.
Example
In this example, the sample is using 2 cards. In this scenario, we use the following command line:
Run IntelProE1000.ertos 2 100 12 126 1 1
APIs Referenced
RTAPI