LinuxÏÂÈçºÎ°ÑIO¿Õ¼äÓ³Éäµ½Óû§½ø³Ì¿Õ¼ä£¿
ÆäʵÊǸöÂù¼òµ¥µÄÎÊÌâ¡£ÔÚLDD3µÄµÚ15ÕÂÉÏÓÐд£¨¼û“Remapping Specific I/O Regions”ÕâÒ»½Ú£©¡£²»¹ýµ±Ê±×÷ÕßÑ¡ÔñÁËÒ»¸ö´íÎóµÄ×ö·¨£ºÏȰÑÕâ¿éIO¿Õ¼äÓÃioremapÓ³Éäµ½ÁËÄں˿ռ䣬ȻºóÔÚÓû§½ø³Ì·ÃÎʱ»Ó³ÉäµÄµØÖ·Ëù²ú ÉúµÄȱҳÖжÏÀÓÃvmalloc_to_pageµÃµ½page£¬·µ»Ø¸øÓû§½ø³Ì¡£
È»¶ø£¬vmalloc_to_pageû·¨ÓÃÔÚioremapËùµÃµ½µÄµØÖ·ÉÏ£¬ÒòΪIO¿Õ¼ä¸ù±¾¾ÍûÓжÔÓ¦µÄPage½á¹¹£¬·µ»ØµÄpageÖ¸Õë×ÔÈ»ÊDz»¶ÔµÄ¡£
ÕýÈ·µÄ×ö·¨ÊÇÔÚmmapº¯ÊýÀʹÓÃremap_pfn_rangeº¯Êý¡£´úÂëÈçÏ¡£×¢ÒâÒªÉèÖÃÒ»ÏÂvma->vm_pgoffΪÄãÒªmapµÄio¿Õ¼äµÄÎïÀíµØÖ·¶ÔÓ¦µÄÒ³¡£
static int filter_mmap(struct file *filp, struct vm_area_struct *vma)
{
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
vma->vm_pgoff = ( (u32)map_start >> PAGE_SHIFT);
if (remap_pfn_range(vma,
vma->vm_start,
vma->vm_pgoff,
vma->vm_end-vma->vm_start,
vma->vm_page_prot))
return -EAGAIN;
return 0;
}
Ïà¹ØÎĵµ£º
ÓÉÓÚ±¾ÈËÌ«ºÃÕÛÌÚϵͳ£¬¼´Ê¹ÏñlinuxÕâÑùÎȶ¨µÄϵͳҲÄÑÃâ±»ÕûµÄÂÒÆß°ËÔ㣬Èç¹ûÄÜÏñÓÃghost±¸·ÝwindowsϵͳһÑù±¸·Ýlinuxϵͳ£¬ÄǾͷ½±ã¶àÁË¡£
googleһϣ¬Óв»ÉÙ·½·¨£¬×îÏñghostµÄµ±È»ÊÇghost for linuxÁË¡£ÍøÉÏÓÐһЩʹÓõķ½·¨£¬ÎÒÀÁµÄ´ò×ÖÁË£¬Ö±½Ó´Ó±ð´¦¿½±´Ò»·Ý¹ýÀ´ËãÁË£¬ÈçÏ£º
£±¡¢ÏÂÔØG4LµÄisoÎļþ¿Ì³ÉÅÌ£¬´Ó¹â ......
ËäȻĿǰLinuxµÄÓÅÊÆÖ÷ÒªÌåÏÖÔÚÍøÂç·þÎñ·½Ã棬µ«ÊÂʵÉÏͬÑùÒ²ÓÐ×ŷdz£·á¸»µÄýÌ幦ÄÜ£¬±¾ÎľÍÊÇÒÔ¶àýÌåÓ¦ÓÃÖÐ×î»ù±¾µÄÉùÒôΪ¶ÔÏ󣬽éÉÜÈçºÎÔÚLinuxƽ̨Ï¿ª·¢Êµ¼ÊµÄÒôƵӦÓóÌÐò£¬Í¬Ê±»¹¸ø³öÁËһЩ³£ÓõÄÒôƵ±à³Ì¿ò¼Ü¡£
Ò»¡¢Êý×ÖÒôƵ
ÒôƵÐźÅÊÇÒ»ÖÖÁ¬Ðø±ä»¯µÄÄ£ÄâÐźţ¬µ«¼ÆËã»úÖ»ÄÜ´¦ÀíºÍ¼Ç¼¶þ½øÖƵÄÊý×ÖÐźţ¬ÓÉ×ÔÈ» ......
Ò»°ãÀ´Ëµ£¬Ä¿Ç°Ð°æµÄ Linux Ô¤Éè¿ÉÒÔÖ§³ÖµÄÍøÂ翨оƬ×éÊýÁ¿ÒѾºÜÍ걸ÁË£¬ºÜ¶àÍøÂ翨оƬ¶¼ÒѾ±»Ö§³Ö,ÀýÈçRLT 8139 оƬ ( RealTek 8139 ) µÄÍøÂ翨ËùÒÔʹÓÃÕß¿ÉÒÔºÜÇáÒ×µÄÉ趨ºÃËûÃǵÄÍøÂ翨¡£²»¹ý£¬Èç¹ûÍòÒ»²»ÐÒºËÐÄûÓÐÖ§³Ö¸ÃÍøÂ翨µÄ»°£¬ÄÇô¿ÉÒÔ͸¹ýÖØÐ±àÒëºËÐÄ»òÕß±àÒëÍøÂ翨Çý¶¯Ä£¿é ( Modul ......
Õâ´Îתµ½Á˺½¿ÕµÄÒ»¸öÏîÄ¿£¬ÐèÒªÔÚLinuxÏÂÓÃC×ö¿ª·¢¡£°æ±¾¹ÜÀí²ÉÓÃSVN£¬´Ó×òÌìÏÂÎ翪ʼÎҾͿªÊ¼Á˰²×°£¬ÕæµÄÊÇÍ´¿àµÄ¹ý³Ì¡£ÏÖÔÚµ¹Êǰ²×°ºÃÁË£¬µ«ÊÇÅäÖÃÃüÁûÓÐÕÆÎÕ¡£
Èç¹ûÓÐȨÏÞ´ÓÍøÉÏÖ±½Ó¸üÐÂÈí¼þ£¬ÎÒ²»±ØÃ¿´Î¶¼È¥ÕÒÔ´Âë°ü£¬È ......
vi filename :´ò¿ª»òн¨Îļþ£¬²¢½«¹â±êÖÃÓÚµÚÒ»ÐÐÊ×
¡¡¡¡vi +n filename £º´ò¿ªÎļþ£¬²¢½«¹â±êÖÃÓÚµÚnÐÐÊ×
¡¡¡¡vi + filename £º´ò¿ªÎļþ£¬²¢½«¹â±êÖÃÓÚ×îºóÒ»ÐÐÊ×
¡¡¡¡vi +/pattern filename£º´ò¿ªÎļþ£¬²¢½«¹â±êÖÃÓÚµÚÒ»¸öÓëpatternÆ¥ÅäµÄ´®´¦
¡¡¡¡vi -r filename £ºÔÚÉÏ´ÎÕýÓÃvi±à¼Ê±·¢Éúϵͳ±ÀÀ££¬»Ö¸´filename
......