Interrupt in Linux£¨Ó²¼þƪ£©—— APIC
1.2ÏÖ´úµÄAPIC
APICËäºÅ³ÆÏÖ´ú£¬µ«Ò²³öÏÖ10¼¸ÄêÁË£¬PC»úÊг¡×ÜÊǺÜÍí²ÅÄܽӴ¥µ½Ðµļ¼Êõ£¬Ç°Ãæ˵ÁË£¬ÎÒµÄT42ÓõĻ¹ÊÇPICÄØ¡£APICÏà½ÏÓÚPICÀ´Ëµ£¬×î´óµÄÓŵãÊÇÄÜÊÊÓÃÓÚMPƽ̨£¬µ±È»£¬¹Ü½Å¶àÊÇËüÁíÒ»¸öÓŵ㡣APICÓÉÁ½²¿·Ö×é³É£¬Ò»¸ö³ÆΪLAPIC£¨Local APIC£¬±¾µØ¸ß¼¶ÖжϿØÖÆÆ÷£©£¬Ò»¸ö³ÆΪIOAPIC£¨I/O APCI£¬I/O¸ß¼¶ÖжϿØÖÆÆ÷£©¡£Ç°ÕßλÓÚCPUÖУ¬ÔÚMPƽ̨£¬Ã¿¸öCPU¶¼ÓÐÒ»¸ö×Ô¼ºµÄLAPIC¡£ºóÕßͨ³£Î»ÓÚÄÏÇÅÉÏ£¬ÏñPICÒ»Ñù£¬Á¬½Ó¸÷¸ö²úÉúÖжϵÄÉ豸¡£ÔÚÒ»¸öµäÐ͵ľßÓжà¸ö´¦ÀíÆ÷µÄPCƽ̨£¬Í¨³£ÓÐÒ»¸öIOAPICºÍ¶à¸öLAPIC£¬ËüÃÇÏ໥ÅäºÏ£¬ÐγÉÒ»¸öÖжϵķַ¢ÍøÂ磬ͼ1-3ÏÔʾÁËÕâ¸öµäÐ͵ÄÇé¿ö£º
ͼ1-3 APICģʽ£¨Õª×Ô¡¶ÉîÈëÀí½âLinuxÄںˡ·£©
ͼÖеÄÖжϿØÖÆÆ÷ͨÐÅ×ÜÏߣ¬ÊÇIOAPICºÍLAPICͨÐŵÄÇÅÁº£¬ÔÚIntelµÄP6¼Ü¹¹ºÍPentiumϵÁÐCPUÖУ¬ËüÊÇÒ»Ìõµ¥¶ÀµÄAPIC×ÜÏß¡£Ê±´úÔÚ½ø²½£¬Pentium4ºÍXeonϵÁÐCPU³öÏÖºó£¬APIC BusÒѾ²»´æÔÚ£¬ÏµÍ³µÄÇ°¶Ë×ÜÏß´úÌæÁËËü¡£
1.2.1 IOAPIC
»°·ÖÁ½Í·£¬ÈÃÎÒÃÇÏÈÀ´¿´¿´IOAPIC¡£ºÍPIC¶Ô±È£¬IOAPIC×î´óµÄ×÷ÓÃÔÚÓÚÖжϷַ¢¡£¸ù¾ÝÆäÄÚ²¿µÄPRT£¨Programmable Redirection Table£©±í£¬IOAPIC¿ÉÒÔ¸ñʽ»¯³öÒ»ÌõÖжÏÏûÏ¢£¬·¢Ë͸øij¸öCPUµÄLAPIC£¬ÓÉLAPIC֪ͨCPU½øÐд¦Àí¡£Ä¿Ç°µäÐ͵ÄIOAPIC¾ßÓÐ24¸öÖжϹܽţ¬Ã¿¸ö¹Ü½Å¶ÔÓ¦Ò»¸öRTE£¨Redirection Table Entry£¬PRT±íÏ¡£ÓëPIC²»Í¬µÄÊÇ£¬IOAPICµÄ¹Ü½ÅûÓÐÓÅÏȼ¶£¬Ò²¾ÍÊÇ˵£¬Á¬½ÓÔڹܽÅÉϵÄÉ豸ÊÇƽµÈµÄ¡£µ«Õâ²¢²»Òâζ×ÅAPICϵͳÖÐûÓÐÓ²¼þÓÅÏȼ¶¡£É豸µÄÖжÏÓÅÏȼ¶ÓÉËü¶ÔÓ¦µÄvector¾ö¶¨£¬APIC½«ÓÅÏȼ¶¿ØÖƵŦÄܷŵ½ÁËLAPICÖУ¬ÎÒÃÇÔÚºóÃæ»á¿´µ½¡£
Òª¸ãÇå³þIOAPICÊÇÔõô¹¤×÷µÄ£¬PRT±íÊǹؼü£¬Ï±íÁгöÁËRTEµÄ¸ñʽ£º
Bit
ÃèÊö
63:56
Destination Field£¬Ä¿µÄ×ֶΣ¬R/W£¨¿É¶Áд£©¡£¸ù¾ÝDestination Filed£¨¼ûÏ£©ÖµµÄ²»Í¬£¬¸Ã×Ö¶ÎÖµµÄÒâÒ岻ͬ£¬ËüÓÐÁ½¸öÒâÒ壺
Physical Mode£¨Destination ModeΪ0ʱ£©£º ÆäֵΪAPIC ID£¬ÓÃÓÚ±êʶһ¸öΨһµÄAPIC¡£
Logical Mode£¨Destination ModeΪ1ʱ£©£ºÆäÖµ¸ù¾ÝLAPICµÄ²»Í¬ÅäÖ㬴ú±íÒ»×éCPU£¨¾ßÌå¼ûLAPICÏà¹ØÄÚÈÝ£©
55:17
Reserved£¬Ô¤ÁôδÓá£
16
Interrupt Mask£¬ÖжÏÆÁ±Î룬R/W¡£ÖÃһʱ£¬¶ÔÓ¦µÄÖжϹܽű»ÆÁ±Î£¬Õâʱ²úÉúµÄÖжϽ«±»ºöÂÔ¡£ÇåÁãʱ£¬¶ÔÓ¦¹Ü½Å²úÉúµÄÖжϱ»·¢ËÍÖÁLAPIC¡£
15
Trigger Mode£¬´¥·¢Ä£Ê½£¬R/W¡£Ö¸Ã÷¸Ã¹Ü½ÅµÄµÄÖжÏÓÉʲô·½Ê½´¥·¢¡£
1£ºLevel£¬µçƽ´¥·¢
2£ºEdge£¬±ßÑØ´¥·¢
14
Remote IRR£¬Ô¶³ÌIRR£¬RO£¨Ö»¶Á£©
Ïà¹ØÎĵµ£º
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//ƽ̨powerpc mpc8379e linux 2.6.22
£±¡¢ÏÈÓÃfdisk ¸øSD¿¨·ÖÇø£¬ÓÃ×÷Îļþϵͳ¡£
½«¶Á¿¨Æ÷²åÈëPC»úÐéÄâ»ú£¬ÔÚPC»úÉÏÖ´ÐÐfdisk /dev/sdb
Ñ¡Ôñn¡¡¡£¡£¡£¡£¡£¡£¡£¡£² ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LINUX Äں˽ṹÌå
struct attribute
{
const char * name;
struct module &nb ......
µ±½ñ£¬²»¿¼ÂÇ Linux ºÍÎÞÏßÍøÂç¼¼ÊõµÄ»°£¬¾ÍÎÞ·¨Ì¸µ½¼ÆËã»úºÍÍøÂç¡£ÔÚÕâƪÎÄÕÂÖУ¬Sreekrishnan Venkateswaran ÓÃ
Linux ¹Ûµã²ûÊÍÁËͨ¹ý WLAN¡¢Bluetooth¡¢GPRS¡¢GSM ÒÔ¼° IrDA
ʵÏÖÎÞÏßÁªÍø¡£ËûʹÓø÷ÖÖ²»Í¬µÄÎÞÏßÉ豸ºÍÏàÓ¦µÄÄں˲㣬ÒÔ¼°Óû§¿Õ¼ä¹¤¾ßÀ´Ê¾·¶ËüÃÇÔÚ Linux ÏÂÈçºÎ¹¤×÷¡£
ÎÞÏß¼¼Êõ£¬ÀýÈç
WLAN (Wireles ......
ÎÒÃÇÖªµÀ£¬´ÓCMOSÖжÁ³öÀ´µÄϵͳʱ¼ä²¢²»ÊÇtime_tÀàÐÍ£¬¶øÊÇÀàËÆÓÚstruct tmÄÇÑù£¬ÄêÔÂÈÕʱ·ÖÃëÊÇ·Ö¿ª´æ´¢µÄ¡£
ÄÇô£¬Òª°ÑËüת»¯ÎªÏµÍ³±ãÓÚ´¦ÀíµÄtime_tÀàÐÍ£¬¾ÍÐèÒªËã·¨½øÐÐת»»¡£
ÎÒÃǶ¼ÖªµÀÎÒÃǵĹ«Àú»¹ÊDZȽϸ´Ôӵģ¬ÓдóÔÂСÔ£¬ÓÐÈòÄê·ÇÈòÄ꣬´¦ÀíÆðÀ´»áºÜÂé·³¡£
&n ......
1¡£ÒªÊ¹Óÿí×Ö·ûÖ§³Ö£¬Ê¹ÓÃw¿ªÍ·µÄһϵÁж«Î÷£¬Èçwstring£¬wofstreamµÈ¡£ÔÚʹÓÃwstringµÄʱºò£¬³£Á¿×Ö·û´®Ç°ÃæÒª¼ÓÉÏL£¬ÕâÑù²ÅÄÜת»»³Éwchar_tÐ͵Ä
else if(fileName.substr(fileName.rfind(L"."))==L".prj")
2¡£Ò»¸öÎļþÁ÷£¨ÎÞÂÛÊÇofstream»¹ÊÇwofstream£©£¬Ö»Ö§³Öconst char*×÷ΪÎļþÃû£¬¶ÔÓÚ¿í×Ö·ûµÄwstringµÄÎļþÃû ......