[gPXE-devel] Revised patch set after stephanha's feedback.
Glenn Brown
glenn at myri.com
Wed Jun 23 16:18:32 EDT 2010
The patch set in the following messages is revised after useful feedback
from Stefan Hajnoczi:
Patches 1 and 4 now use "PCI_CAP_ID_VNDR" to match Linux naming.
Patch 4 now uses ntohl() instead of bswap32() for endian-independence.
The net effect of the revisions is shown in the following diff.
I retested after the changes, but only lightly, since the changes have no
effect on my little-endian hardware, outside of the source code itself.
--Glenn
diff --git a/src/drivers/net/myri10ge.c b/src/drivers/net/myri10ge.c
index 99bc272..218d56f 100644
--- a/src/drivers/net/myri10ge.c
+++ b/src/drivers/net/myri10ge.c
@@ -690,10 +690,10 @@ static int myri10ge_nv_init ( struct myri10ge_private *priv )
DBG ( "EEPROM header unreadable\n" );
return rc;
}
- hdr.eeprom_len = bswap_32 ( hdr.eeprom_len );
- hdr.eeprom_segment_len = bswap_32 ( hdr.eeprom_segment_len );
- hdr.mcp2_offset = bswap_32 ( hdr.mcp2_offset );
- hdr.version = bswap_32 ( hdr.version );
+ hdr.eeprom_len = ntohl ( hdr.eeprom_len );
+ hdr.eeprom_segment_len = ntohl ( hdr.eeprom_segment_len );
+ hdr.mcp2_offset = ntohl ( hdr.mcp2_offset );
+ hdr.version = ntohl ( hdr.version );
DBG2 ( "eelen:%xh seglen:%xh mcp2@%xh ver%d\n", hdr.eeprom_len,
hdr.eeprom_segment_len, hdr.mcp2_offset, hdr.version );
@@ -707,7 +707,7 @@ static int myri10ge_nv_init ( struct myri10ge_private *priv )
/* Read the length of MCP2. */
rc = myri10ge_nvs_read ( &priv->nvs, hdr.mcp2_offset, &mcp2_len, 4 );
- mcp2_len = bswap_32 ( mcp2_len );
+ mcp2_len = ntohl ( mcp2_len );
DBG2 ( "mcp2len:%xh\n", mcp2_len );
/* Determine the position of the NonVolatile Options fragment and
@@ -815,7 +815,7 @@ static int myri10ge_pci_probe ( struct pci_device *pci,
/* Find the PCI Vendor-Specific capability. */
- priv->pci_cap_vs = pci_find_capability ( pci , PCI_CAP_ID_VS );
+ priv->pci_cap_vs = pci_find_capability ( pci , PCI_CAP_ID_VNDR );
if ( 0 == priv->pci_cap_vs ) {
rc = -ENOTSUP;
dbg = "no_vs";
diff --git a/src/include/gpxe/pci.h b/src/include/gpxe/pci.h
index d8c693d..0684375 100644
--- a/src/include/gpxe/pci.h
+++ b/src/include/gpxe/pci.h
@@ -159,7 +159,7 @@ FILE_LICENCE ( GPL2_ONLY );
#define PCI_CAP_ID_SLOTID 0x04 /* Slot Identification */
#define PCI_CAP_ID_MSI 0x05 /* Message Signalled Interrupts */
#define PCI_CAP_ID_CHSWP 0x06 /* CompactPCI HotSwap */
-#define PCI_CAP_ID_VS 0x09 /* Vendor Specific */
+#define PCI_CAP_ID_VNDR 0x09 /* Vendor specific */
#define PCI_CAP_ID_EXP 0x10 /* PCI Express */
#define PCI_CAP_LIST_NEXT 1 /* Next capability in the list */
#define PCI_CAP_FLAGS 2 /* Capability defined flags (16 bits) */
More information about the gPXE-devel
mailing list