Linux USB Host ControllerµÄ³õʼ»¯´úÂë¿ò¼Ü·ÖÎö
usb_hcd_omap_probe (const struct hc_driver *driver) (dev/ohci/ohci-omap.c)
ÔÚÄ£¿é³õʼ»¯Ê±±»platform_driver_register()µ÷Óã¬ÓÃÀ´³õʼ»¯Óëohci_hcd_omap_driver
ÏàÆ¥ÅäµÄusbÖ÷¿ØÖÆÆ÷.
->usb_create_hcd(driver); ´´½¨Ò»¸ö´ú±íhost-controllerµÄÊý¾Ý½á¹¹(struct usb_hcd)²¢³õʼ»¯ core/hcd.h
->hcd = kzalloc(sizeof(*hcd) + driver->hcd_priv_size, GFP_KERNEL); Ϊstruct usb_hcd·ÖÅäÒ»¿éÄÚ´æ
->usb_bus_init (struct usb_bus *bus); (hcd.c) ³õʼ»¯´ú±íusb busµÄÊý¾Ý½á¹¹(struct usb_bus)
->³õʼ»¯struct usb_hcdµÄ¶¨Ê±Æ÷£¬¹¤×÷¶ÓÁÐ
->Ìî³ästruct usb_hcdµÄrsrc_start×ֶΣºhost-controller memory/ioµÄÆðʼÎïÀíµØÖ·
rsrc_len×ֶΣºhost-controller memory/ioµÄ³¤¶È
regs×ֶΣºhost-controller memory/ioÓ³ÉäµÄÄÚºËÐéÄâµØÖ·¡£
->ohci_hcd_init(struct ohci_hcd *ohci); (dev/ohci/ohci-mem.c)
->usb_add_hcd(struct usb_hcd *hcd,unsigned int irqnum, unsigned long irqflags) (/core/hcd.h)
Íê³Éstruct usb_hcdÊ£ÓàµÄ³õʼ»¯¹¤×÷
->hcd_buffer_create(hcd):´´½¨dmapool
->usb_register_bus(usb_bus):×¢²áusb bus
->usb_alloc_dev(NULL, &hcd->self, 0): (core/usb.c)
´¦ÀíÖ÷¿ØÖÆÆ÷hcdÉϵĸùHub(hcd->self.root_hub),ÕâÀï×öµÄ¾ÍÊÇΪRoot HubÉêÇëÁËÒ»¸östruct usb_device½á¹¹Ìå,²¢ÇÒ³õʼ»¯, ½«·µ»ØÖµ¸³¸øÖ¸Õërhdev. Root HubµÄparentÖ¸ÕëÖ¸ÏòÁËController±¾Éí.
->ohci_omap_init£ºÍê³ÉomapÓ²¼þµÄinit¹¤×÷
->otg_get_transceiver();
->otg_set_host(ohci->transceiver, &ohci_to_hcd(ohci)->self);
Õë¶ÔOTGÌØÐÔ½øÐеijõʼ»¯£¬ºóÃæ·ÖÎö
->ohci_init(struct ohci_hcd *ohci); (host/ohci-hcd.c)
->Ϊohci->hcca·ÖÅä¿Õ¼ä
->ohci_mem_init() ´´½¨ohci->td_cacheºÍohci->ed_cacheµÄdma_pool
->request_irq(irqnum, &usb_hcd_irq, irqflags,hcd->irq_descr, hcd)
×¢²áÖжϴ¦Àíº¯Êý.ÆäÖÐÖжϺÅÊÇirqnum, ÖжϷþÎñ³ÌÐòÊÇusb_hcd_irq(struct usb_hcd *hcd) (ohci-hcd.c).
¸ù¾Ýusb2.0 spec¶¨ÒåµÄÖжÏÀàÐÍÓÐ:usb_hcd_irq()¸ù¾Ý¾ßÌåÀàÐÍÖ´ÐÐÏàÓ¦²Ù×÷,ºóÃæ·ÖÎö.
#define OHCI_INTR_SO (1 << 0) /* scheduling overrun */
#define OHCI_INTR_WDH (1 << 1) /* writeback of done_head */
#
Ïà¹ØÎĵµ£º
ÔÚÐéÄâ»úRed Hat Enterprise Linux 4 update 4Öа²×°oracle 10.2.0.1
1)²é¿´ÏµÍ³ÄÚ´æ
[root@linux4 ~]# grep MemTotal /proc/meminfo
2)²é¿´½»»»Çø´óС
[root@linux4 ~]# grep SwapTotal /proc/meminfo
3)
²é¿´/tmpĿ¼´óС
[root@linux4 ~]# df -m /tmp
4)²é¿´²Ù×÷ϵͳ°æ±¾
[root@linux4 ~]# cat /etc/issue
5)¼ ......
Written by shine
on 2009, April 23, 12:29 PM. Linux
WebminÊÇĿǰ¹¦ÄÜ×îÇ¿´óµÄ»ùÓÚWebµÄUnixϵͳ¹ÜÀí¹¤¾ß¡£¹ÜÀíԱͨ¹ýä¯ÀÀÆ÷·ÃÎÊWebminµÄ¸÷ÖÖ¹ÜÀí¹¦Äܲ¢Íê³ÉÏàÓ¦µÄ¹ÜÀí¶¯×÷¡£Ä¿Ç° WebminÖ§³Ö¾ø´ó¶àÊýµÄUnixϵͳ£¬ÕâЩϵͳ³ýÁ˸÷ÖÖ°æ±¾µÄlinux
ÒÔΪ»¹°üÀ¨£ºAIX¡¢HPUX¡¢Solaris¡¢Unixware¡¢Irix ºÍFreeBSDµÈ¡£
Webmin ......
VPSʹÓÃÊÖ¼Ç-LinuxÃüÁîÐлù´¡
Written by shine
on 2009, April 21, 4:09 PM. Linux
ÕâÀïÎÒ½«ÁгöʹÓÃlinux
vps
¹ý³ÌÖеij£ÓÃÃüÁî£¬ÃæÏòµÄ¶ÔÏóÊǶ®Ò»µãÃüÁîÐÐ
µÄÅóÓÑ£¬Èç¹ûÄãûÓÐÈκÎÃüÁîÐлù´¡£¬½¨ÒéÕÒ±¾LinuxµÄ»ù´¡½Ì³ÌÀ´¿´¿´¡£
ÔÚ½²¾ßÌåµÄÃüÁî֮ǰ£¬ÏȽéÉÜÒ»ÏÂLinuxÃüÁîÐеÄһЩ³£Ê¶£º
Ò»ÌõÃüÁîÒ»°ãµÄ¸ñʽÊÇÕâ ......
LinuxÇý¶¯³ÌÐòÈëÃÅ—Hello World
À´Ô´:
ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º
2009.11.19 21:17¡¡(¹²ÓÐ0
ÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
1¡¢ÒýÑÔ
¼ÇµÃÔÚѧϰVC++ºÍCÓïÑÔµÄʱºò£¬Ò»¿ªÊ¼¶¼»áÒÔÒ»¸öHELLO
WORLDµÄÀý×Ó×÷ΪÑÝʾ£¬½«Ñ§ÕßÖð½¥ÒýÈëµîÌã¬Õâ¸ö¼¸ºõ³ÉÁ˼ÆËã»ú±à³ÌÓïÑÔѧϰ±Ø¾µÄÒ»¸öÈëÃÅ֮·¡£
......
0.11ºËÖнø³ÌµÄµ÷¶ÈÖ÷ÒªÓÉËĸö²¿·ÖÊý×é³É£ºµ÷¶È³õʼ»¯¡¢µ÷¶È¡¢Ë¯Ãß¡¢»½ÐÑ¡£
Ò»¡¢µ÷¶È³õʼ»¯:sched_init()
ÎÒÃÇÖªµÀÔÚÄں˳õʼ»¯£¨main£©¹ý³ÌÖУ¬Òª½«ÈÎÎñ0ת»»µ½Óû§Ì¬ÏÂÖ´ÐУ¬Ò²¾ÍÊǽ¨Á¢LinuxÖеĵÚÒ»¸öÓû§³ÌÐò¡£¼ÈÈ»ÈÎÎñ0֮ǰÊÇÔÚÄÚºË̬ÏÂÖ´Ðе ......