mirror of
https://github.com/ipxe/ipxe
synced 2025-12-20 03:55:46 +03:00
Add "name" field to struct device to allow human-readable hardware device
names. Add "dev" pointer in struct net_device to tie network interfaces back to a hardware device. Force natural alignment of data types in __table() macros. This seems to prevent gcc from taking the unilateral decision to occasionally increase their alignment (which screws up the table packing).
This commit is contained in:
@@ -38,9 +38,9 @@
|
||||
|
||||
/** Registered ARP protocols */
|
||||
static struct arp_net_protocol arp_net_protocols[0]
|
||||
__table_start ( arp_net_protocols );
|
||||
__table_start ( struct arp_net_protocol, arp_net_protocols );
|
||||
static struct arp_net_protocol arp_net_protocols_end[0]
|
||||
__table_end ( arp_net_protocols );
|
||||
__table_end ( struct arp_net_protocol, arp_net_protocols );
|
||||
|
||||
/** An ARP cache entry */
|
||||
struct arp_entry {
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <gpxe/tables.h>
|
||||
#include <gpxe/process.h>
|
||||
#include <gpxe/init.h>
|
||||
#include <gpxe/device.h>
|
||||
#include <gpxe/netdevice.h>
|
||||
|
||||
/** @file
|
||||
@@ -36,8 +37,10 @@
|
||||
*/
|
||||
|
||||
/** Registered network-layer protocols */
|
||||
static struct net_protocol net_protocols[0] __table_start ( net_protocols );
|
||||
static struct net_protocol net_protocols_end[0] __table_end ( net_protocols );
|
||||
static struct net_protocol net_protocols[0]
|
||||
__table_start ( struct net_protocol, net_protocols );
|
||||
static struct net_protocol net_protocols_end[0]
|
||||
__table_end ( struct net_protocol, net_protocols );
|
||||
|
||||
/** List of network devices */
|
||||
struct list_head net_devices = LIST_HEAD_INIT ( net_devices );
|
||||
@@ -200,8 +203,9 @@ int register_netdev ( struct net_device *netdev ) {
|
||||
|
||||
/* Add to device list */
|
||||
list_add_tail ( &netdev->list, &net_devices );
|
||||
DBGC ( netdev, "NETDEV %p registered as %s (%s)\n",
|
||||
netdev, netdev->name, netdev_hwaddr ( netdev ) );
|
||||
DBGC ( netdev, "NETDEV %p registered as %s (phys %s hwaddr %s)\n",
|
||||
netdev, netdev->name, netdev->dev->name,
|
||||
netdev_hwaddr ( netdev ) );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
*/
|
||||
|
||||
/** Registered network-layer protocols that support TCP/IP */
|
||||
static struct tcpip_net_protocol
|
||||
tcpip_net_protocols[0] __table_start ( tcpip_net_protocols );
|
||||
static struct tcpip_net_protocol
|
||||
tcpip_net_protocols_end[0] __table_end ( tcpip_net_protocols );
|
||||
static struct tcpip_net_protocol tcpip_net_protocols[0]
|
||||
__table_start ( struct tcpip_net_protocol, tcpip_net_protocols );
|
||||
static struct tcpip_net_protocol tcpip_net_protocols_end[0]
|
||||
__table_end ( struct tcpip_net_protocol, tcpip_net_protocols );
|
||||
|
||||
/** Registered transport-layer protocols that support TCP/IP */
|
||||
static struct tcpip_protocol
|
||||
tcpip_protocols[0]__table_start ( tcpip_protocols );
|
||||
static struct tcpip_protocol
|
||||
tcpip_protocols_end[0] __table_end ( tcpip_protocols );
|
||||
static struct tcpip_protocol tcpip_protocols[0]
|
||||
__table_start ( struct tcpip_protocol, tcpip_protocols );
|
||||
static struct tcpip_protocol tcpip_protocols_end[0]
|
||||
__table_end ( struct tcpip_protocol, tcpip_protocols );
|
||||
|
||||
/** Process a received TCP/IP packet
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user