linux driver net
http://www.cublog.cn/u/2108/showart_223258.html
LinuxÄÚºËÊý¾Ý°ü´¦ÀíÁ÷³Ì£Êý¾Ý°ü½ÓÊÕ
ÓëÆä˵ÕâÆªÎÄÕ·ÖÎöÁËÍø¿¨Çý¶¯ÖÐÖÐÊý¾Ý°üµÄ½ÓÊÕ£¬»¹²»Èç˵ÊÇÒÔe100ΪÀý£¬¶ÔÍø¿¨Çý¶¯±àдµÄÒ»¸ö˵Ã÷¡£
µ±È»£¬¶ÔÊý¾Ý°üµÄ½ÓÊÕ˵µÄºÜÇå³þ¡£
×ªÔØ
Êý¾Ý°üµÄ½ÓÊÕ
×÷Õߣºkendo
Kernel£º2.6.12
Ò»¡¢´ÓÍø¿¨ËµÆð
Õâ²¢·ÇÊÇÒ»¸öÍø¿¨Çý¶¯·ÖÎöµÄרÃÅÎĵµ£¬Ö»ÊǶÔÍø¿¨´¦ÀíÊý¾Ý°üµÄÁ÷³Ì½øÐÐÒ»¸öÖØµãµÄ·ÖÎö¡£ÕâÀïÒÔIntelµÄe100Çý¶¯ÎªÀý½øÐзÖÎö¡£
´ó¶àÊýÍø¿¨¶¼ÊÇÒ»¸öPCIÉ豸£¬PCIÉ豸¶¼°üº¬ÁËÒ»¸ö±ê×¼µÄÅäÖüĴæÆ÷£¬¼Ä´æÆ÷ÖУ¬°üº¬ÁËPCIÉ豸µÄ³§ÉÌID¡¢É豸IDµÈµÈÐÅÏ¢£¬Çý¶¯
³ÌÐòʹÓÃÀ´ÃèÊöÕâЩ¼Ä´æÆ÷µÄ±êʶ·û¡£ÈçÏ£º
CODE:
struct pci_device_id {
__u32 vendor, device; /* Vendor and device ID or PCI_ANY_ID*/
__u32 subvendor, subdevice; /* Subsystem ID's or PCI_ANY_ID */
__u32 class, class_mask; /* (class,subclass,prog-if) triplet */
kernel_ulong_t driver_data; /* Data private to the driver */
};
ÕâÑù£¬ÔÚÇý¶¯³ÌÐòÖУ¬³£³£¾Í¿ÉÒÔ¿´µ½¶¨ÒåÒ»¸östruct pci_device_id ÀàÐ͵ÄÊý×飬¸æËßÄÚºËÖ§³Ö²»Í¬ÀàÐ͵Ä
PCIÉ豸µÄÁÐ±í£¬ÒÔe100Çý¶¯ÎªÀý£º
#define INTEL_8255X_ETHERNET_DEVICE(device_id, ich) {\
PCI_VENDOR_ID_INTEL, device_id, PCI_ANY_ID, PCI_ANY_ID, \
PCI_CLASS_NETWORK_ETHERNET << 8, 0xFFFF00, ich }
static struct pci_device_id e100_id_table[] = {
INTEL_8255X_ETHERNET_DEVICE(0x1029, 0),
INTEL_8255X_ETHERNET_DEVICE(0x1030, 0),
INTEL_8255X_ETHERNET_DEVICE(0x1031, 3),
……/*ÂÔ¹ýÒ»´ó¶ÑÖ§³ÖµÄÉ豸*/
{ 0, }
};
ÔÚÄÚºËÖУ¬Ò»¸öPCIÉ豸£¬Ê¹ÓÃstruct pci_driver½á¹¹À´ÃèÊö£¬
struct pci_driver {
struct list_head node;
char *name;
&
Ïà¹ØÎĵµ£º
man¾ÍÊÇmanualµÄËõд£¬ÓÃÀ´²é¿´ÏµÍ³ÖÐ×Ô´øµÄ¸÷Öֲο¼Êֲᡣ
Ò»¡¢ËµÃ÷
1£¬ÊÖ²áÒ³·ÖΪºÃ¼¸¸ö²¿·Ö£¬ÈçÏÂËùʾ£º
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File fo ......
´ò¿ª /etc/sysconfig/i18n
ÊäÈë
LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ºÃÁË ......
linuxÆô¶¯Á÷³Ì£º
ϵͳԤ´¦Àí³ÌÐò->GRUB (´Ë½×¶Î¿ÉÒÔÀí½âΪbootloader½×¶Î)
->kernel (´Ë½×¶ÎΪkernel)
->initrd->initÆô¶¯->inittab->rc.sysinit->functions(PATH)->modules->rcX.d(¶ÁÅäÖÃÎļþ)
1.->×Ö·ûģʽ->tty->bash
2.->ͼÐÎģʽ->½øÈëX Window-> ......
Linux»·¾³ÏµÄÈí¼þ°²×°£¬²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇ飻Èç¹ûͨ¹ýÔ´´úÂë±àÒëºóÔÚ°²×°£¬µ±È»ÊÂÇé¾Í¸üΪ¸´ÔÓһЩ£»ÏÖÔÚ°²×°¸÷ÖÖÈí¼þµÄ½Ì³Ì¶¼·Ç³£ÆÕ±é£»µ«Íò±ä²»ÀëÆäÖУ¬¶Ô»ù´¡ÖªÊ¶µÄÔúÊµÕÆÎÕ£¬°²×°¸÷ÖÖÈí¼þµÄÎÊÌâ¾ÍÓÈжø½âÁË¡£Configure½Å±¾ÅäÖù¤¾ß¾ÍÊÇ»ù´¡Ö®Ò»£¬ËüÊÇautoconfµÄ¹¤¾ßµÄ»ù±¾Ó¦Óá£
ÓëһЩ¼¼ÇÉÏà±È£¬ConfigureÏԵûù´ ......
http://hi.baidu.com/j_fo/blog/item/a43fa60fa6e2f4eaab6457d5.html
Linux2.6ÄÚºËepoll½éÉÜ
2008-11-05 16:35
http://blog.csdn.net/rstevens/archive/2007/10/30/1858067.aspx
http://hi.baidu.com/jmlover/blog/item/24c28b131e6b48d7f7039ee6.html
http://hi.baidu.com/jmlover/blog/item/e64df724f12926348744f9 ......