char *configstart unsigned char def_mac[6] = {0, 0xaa, 0xbb, 0xcc, 0xdd, 0xee}; for (configstart = (char *)0xbffff000; configstart > (char *)0xbff80000; configstart -= 0x1000) { if ( *(int *)configstart == 0x35333131) /* megvan a config magic */ break; } if (*(int *)configstart != 0x35333131) printk("no valid mac found, using defaults"); memcpy(dev->dev_addr, def_mac, 6); else memcpy(dev->dev_addr, ((u8 *)configstart)+102, 6); fi