青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

jake1036

80x86系統(tǒng)編程之六---------中斷和異常

                                   中斷和異常處理
    中斷和異常是指明系統(tǒng)、處理器、或當(dāng)前執(zhí)行程序的某處出現(xiàn)一個事件,該事件需要處理器進(jìn)行處理。通常,這種事件會導(dǎo)致執(zhí)行控制被強(qiáng)迫從當(dāng)前運(yùn)行的程序轉(zhuǎn)移到被稱為中斷處理程序或異常處理程序。

 1 異常和中斷向量
     每個需要被處理器進(jìn)行特殊處理的處理器定義的異常和中斷條件都被賦予一個表示號,稱為向量(vector)。 處理器把賦予異常或中斷的向量
     用作中斷的處理程序入口地點(diǎn)位置。
       
2 中斷描述符表
    該表將每個異常或者中斷的向量號同它們的處理過程聯(lián)系起來。IDT也是由8字節(jié)長的描述符組成的一個描述符表。
     指令LIDT和SIDT 指令分別用于加載和保存IDTR寄存器的內(nèi)容。
 
3 IDT描述符
    

   中斷門和陷阱門含有一個長指針(即段選擇符和偏移值),處理器用這個長指針把程序執(zhí)行權(quán)轉(zhuǎn)移到代碼段中異常或中斷的處理過程中。
   任務(wù)門描述符中有一個任務(wù)TSS段的任務(wù)選擇符,該任務(wù)用于處理異常和中斷。

 4 異常和中斷處理 
     




      中斷描述符中的選擇符指向中斷處理程序所在段基址,偏移值指向段中的特定的中斷處理函數(shù)。
      
  5  任務(wù)管理
      任務(wù)Task 是處理器可以分配調(diào)度、執(zhí)行和掛起的一個工作單元。
      任務(wù)切換很像過程調(diào)用,但任務(wù)切換會保存更多的處理器狀態(tài)信息。任務(wù)切換會把控制權(quán)完全轉(zhuǎn)移到一個新的執(zhí)行環(huán)境。這種轉(zhuǎn)移要求保存處理器中幾乎 所有的寄存器的當(dāng)前內(nèi)容,包括標(biāo)志寄存器EFLAGS和所有段寄存器。與過程不同,任務(wù)不可以重入,任務(wù)切換不會把任何信息壓入到堆棧中。處理器的狀態(tài)信息否保存在內(nèi)存中稱為任務(wù)狀態(tài)段的數(shù)據(jù)結(jié)構(gòu)中。 

 描述符中與任務(wù)相關(guān)的描述符有兩種: 任務(wù)狀態(tài)段描述符 和 任務(wù)門 。當(dāng)執(zhí)行權(quán)傳給這兩個中的一個的時候,就發(fā)生了任務(wù)切換。

任務(wù)切換很像函數(shù)調(diào)用,但是任務(wù)切換會保存更多的處理器信息,任務(wù)切換會把控制權(quán)完全轉(zhuǎn)移到一個新的環(huán)境中。

 
  5.1 任務(wù)的結(jié)構(gòu)和狀態(tài)
        一個任務(wù)由兩個部分構(gòu)成:任務(wù)執(zhí)行空間任務(wù)狀態(tài)段TSS
       任務(wù)執(zhí)行空間包括 代碼段 、堆棧段和一個或多個數(shù)據(jù)段。TSS指定了構(gòu)成任務(wù)執(zhí)行空間的各個段,并且為任務(wù)狀態(tài)信息提供存儲空間。在多任務(wù)環(huán)境中,TSS也為任務(wù)之間的鏈接提供了處理方法。
       



        一個任務(wù)使用指向其TSS的段選擇符來指定。當(dāng)一個任務(wù)被加載進(jìn)處理器中執(zhí)行時,那么該任務(wù)的段選擇符、基地址、段限長以及TSS段的描述符就會被加載進(jìn)
        任務(wù)寄存器TR中。如果使用了分頁機(jī)制,那么任務(wù)使用的頁目錄表基地址就會被加載進(jìn)控制寄存器CR3中。當(dāng)前執(zhí)行任務(wù)的狀態(tài)由處理器中以下所有內(nèi)容組成:

    5.2  任務(wù)的執(zhí)行
         (1) 使用call指令明確調(diào)用一個任務(wù) 。
         (2) 使用JMP指令跳轉(zhuǎn)到一個任務(wù)(linux使用的方式)。
         (3)隱含調(diào)用一個中斷句柄處理任務(wù)。
         (4)隱含調(diào)用一個異常句柄處理任務(wù)。

           所有這些調(diào)度任務(wù)執(zhí)行的方法都需要一個指向任務(wù)門或者任務(wù)TSS段的選擇符來確定相應(yīng)的任務(wù)。
           當(dāng)調(diào)度一個任務(wù)執(zhí)行時,當(dāng)前運(yùn)行的任務(wù) 會和被調(diào)用的任務(wù)會發(fā)生任務(wù)切換。在任務(wù)切換期間,當(dāng)前正在運(yùn)行的任務(wù)會把執(zhí)行環(huán)境保存到
           它的TSS中,并暫停該任務(wù)的執(zhí)行。此后新調(diào)用任務(wù)的上下文環(huán)境會被加載進(jìn)內(nèi)存處理器中,并從加載的EIP處,開始執(zhí)行新的任務(wù)。
         
           如果當(dāng)前執(zhí)行的任務(wù)調(diào)用了被調(diào)用的新任務(wù),那么當(dāng)前執(zhí)行任務(wù)的TSS段選擇符 會保存在被調(diào)用任務(wù)的TSS中。從而提供了一個返回調(diào)用者
           的鏈接。

5.3  任務(wù)管理數(shù)據(jù)結(jié)構(gòu) 
        (1) 任務(wù)狀態(tài)段TSS
        (2) TSS描述符  
        (3) 任務(wù)寄存器TR
        (4)任務(wù)門描述符
         (5)標(biāo)志寄存器EFLAGS中的NT標(biāo)志。
 
 
  5.3.1任務(wù)狀態(tài)段
          用于恢復(fù)一個處理器狀態(tài)的所有信息存儲在稱為任務(wù)狀態(tài)段(TSS)的數(shù)據(jù)結(jié)構(gòu)中。
           TSS的結(jié)構(gòu)圖如下:
          



      TSS中的各個字段主要包括以下兩種:
      (一) 動態(tài)字段 : 當(dāng)任務(wù)切換的時候而被掛起的時候,處理器會自動更新字段的內(nèi)容。  這些字段包括:
             (1) 通用寄存器字段。用于保存 EAX ,ECX ,EDX ,EBX,ESP ,EBP,ESI,EDI。
             (2) 段選擇符字段        用于保存ES,CS,SS,DS,FS,GS。
             (3) 標(biāo)志寄存器EFLAGS  再切換之前保存EFLAGS
             (4) 指令指針EIP 字段,在切換之前保存EIP寄存器的內(nèi)容。
             (5) 先前任務(wù)連接字段,含有前一個任務(wù)的TSS段選擇符。該字段允許任務(wù)使用IRET指令切換到前一個字段。
      (二)靜態(tài)字段 :處理器會讀取靜態(tài)字段的內(nèi)容,但是不會改變它們。這些任務(wù)內(nèi)容通常是在任務(wù)被創(chuàng)建的時候設(shè)置的。 
             (1) LDT段選擇符字段。含有任務(wù)的LDT段的選擇符。
             (2)CR3控制寄存器字段。含有任務(wù)使用的頁目錄物理基地址。 
             (3) 特權(quán)級0,1和2的堆棧指針字段。這些堆棧指針由堆棧段選擇符(ss0 , ss1 ,ss2) 和棧中偏移指針(esp0 , esp1 ,esp2)組成。對于指定的一個任務(wù),這些字段的值是不會改變的。
             (4)調(diào)試陷阱。
             (5)I/O 位圖基地址字段。

                
    5.3.2 TSS描述符
             任務(wù)狀態(tài)段TSS也是由段描述符來描述的,TSS描述符只能存放在GDT中。
                     
              類型字段TYPE中的忙標(biāo)志B用于指明任務(wù)是否處于忙狀態(tài)。忙狀態(tài)的任務(wù)是指當(dāng)前正在運(yùn)行的任務(wù)或者等待的任務(wù)。
              任務(wù)是不可以遞歸執(zhí)行的,因此處理器使用忙標(biāo)志B來檢測任何對被中斷執(zhí)行的任務(wù)的調(diào)用。
              其中基地址、段限長、描述符特權(quán)級DPL、顆粒度G和存在位具有與數(shù)據(jù)段描述符中相應(yīng)字段的同樣功能。

               使用調(diào)用或者跳轉(zhuǎn)指令,任何可以訪問TSS描述符的程序都能夠造成任務(wù)切換。把TSS描述符加載進(jìn)任何段寄存器將導(dǎo)致一個異常

    5.3.3 任務(wù)寄存器 
             任務(wù)寄存器TR中存放著16位的段選擇符(可見部分)以及當(dāng)前任務(wù)TSS段的整個描述符(不可見部分)。這些信息是從GDT中當(dāng)前任務(wù)的TSS描述符中復(fù)制過來的。
              LTR 和 STR指令分別用于保存和加載TSS描述符中的可見部分,即TSS段的選擇符。
              
    5.3.4 任務(wù)門描述符
             任務(wù)門描述符提供一個任務(wù)間接受保護(hù)引用。任務(wù)門描述符可以存放在 GDT LDT IDT中。
             任務(wù)門描述符中的TSS選擇符字段指向GDT中的一個TSS段描述符。
   
              

                 
     5.3.5 任務(wù)切換 
              處理器可以使用以下4種方式之一執(zhí)行任務(wù)切換操作。
          (1) 當(dāng)前任務(wù)對GDT 中的TSS描述符執(zhí)行JMP 或 CALL 指令。
          (2) 當(dāng)前任務(wù)對GDT和LDT中的任務(wù)門描述符執(zhí)行JMP和CALL指令。
          (3) 中斷或者異常向量指向IDT表中的任務(wù)門描述符。
          (4) 當(dāng)EFLAGS 中的NT標(biāo)志置位時,當(dāng)前任務(wù)執(zhí)行IRET指令。
              

                  任務(wù)切換示意圖 如上 。

5.3.6任務(wù)鏈
      TSS中的前任務(wù)鏈字段以及EFLAGS中的NT標(biāo)志用于返回到前一個任務(wù)操作中。NT標(biāo)志指出了當(dāng)前執(zhí)行的任務(wù)是否嵌套在另一個任務(wù)中執(zhí)行,并且當(dāng)前任務(wù)的前一個
      任務(wù)鏈字段中存放著嵌套層中更高層的TSS選擇符。
     
    當(dāng)使用CALL 指令,中斷或者異常造成任務(wù)切換的時候,處理器把當(dāng)前TSS段的選擇符復(fù)制到新任務(wù)TSS段的前一任務(wù)鏈字段中,并且在EFLAGS中設(shè)置NT標(biāo)志,NT標(biāo)志指明TSS的前一任務(wù)鏈字段中存放有保存的TSS段選擇符。如果軟件使用了IRET指令掛起新任務(wù),處理器就會使用前一任務(wù)鏈中的值和NT標(biāo)志返回到前一個任務(wù)中。
     
注意如果當(dāng)前任務(wù)的切換是由JMP指令造成的,那么新任務(wù)就不被嵌套。

  6 任務(wù)地址空間 
        任務(wù)的地址空間由任務(wù)能夠訪問的段構(gòu)成。這些段包括代碼段、數(shù)據(jù)段、堆棧段、TSS中引用的系統(tǒng)段以及任務(wù)代碼段能夠訪問的任何其他段。
        TSS中的LDT字段可以用于給出每個任務(wù)自己的LDT。對于一個給定的任務(wù),通過把任務(wù)相關(guān)的所有段描述符都放入LDT中,任務(wù)的地址空間可以與其他任務(wù)
        相隔離。
        如果開啟了分頁機(jī)制,則TSS中的CR3寄存器字段可以讓每個任務(wù)有它自己的頁表。或者,幾個任務(wù)能夠共享相同的頁表集。 
         
       (1) 把任務(wù)映射到線性和物理地址空間
             所有任務(wù)共享一個線性到物理地址空間的映射。當(dāng)沒開啟分頁機(jī)制時,就只能夠使用這個方法。當(dāng)開啟了分頁機(jī)制,就可以讓所有的任務(wù)使用同一個頁目錄的方法
             來實現(xiàn)。
       (2)每個任務(wù)有自己的線性地址空間,并映射到物理地址空間。
            通過讓每個任務(wù)使用不同的頁目錄,我們就可以使用這種映射技術(shù)。  
   6.1任務(wù)邏輯地址空間
        為了在任務(wù)之間共享數(shù)據(jù),可以使用以下方法之一來為數(shù)據(jù)段建立共享的邏輯到物理地址空間的映射:
        (1) 通過使用GDT中的段描述符,所有任務(wù)必須能夠訪問GDT的段描述符,如果GDT中的某些段描述符能夠指向線性地址空間的一些段,并且這些段被映射到所有任務(wù)共享的物理地址空間中,那么所有的任務(wù)都可以共享這些段中的代碼和數(shù)據(jù)。

       (2) 通過共享的LDT。
       (3) 通過映射到線性地址空間公共地址區(qū)域的不同LDT中的段描述符。這種方式最好。


  7 保護(hù)模式編程初始化 
           
     7.1  進(jìn)入保護(hù)模式時的初始化操作 
           操作系統(tǒng)加載和初始化軟件(bootsect.s setup.s 和 head.s) 必須在內(nèi)存中先設(shè)置好保護(hù)模式下使用的數(shù)據(jù)結(jié)構(gòu)的基本信息。
          (1) 保護(hù)模式中斷描述符表IDT。
          (2) 任務(wù)狀態(tài)段TSS。
          (3) 局部描述符表LDT。
          (4) 若使用分頁機(jī)制,則起碼設(shè)置一個頁目錄和一個頁表。
          (5) 處理器切換到保護(hù)模式下運(yùn)行的代碼段。
          (6) 含有中斷和異常處理程序的代碼段。
          (7)全局描述符表GDT         

          在能夠切換到保護(hù)模式之前,初始化代碼還必須設(shè)置以下系統(tǒng)寄存器。
           (1) 全局描述符表基地址 寄存器GDTR 。
           (2) 中斷描述符表基地址寄存器 IDTR 。
           (3) 控制寄存器CR1- CR3。

            在初始化了這些數(shù)據(jù)結(jié)構(gòu)、代碼模塊和系統(tǒng)寄存器之后,通過設(shè)置CR0寄存器的保護(hù)模式標(biāo)志位PE(位0),處理器就會切換到保護(hù)模式下運(yùn)行。
          
     7.2 保護(hù)模式系統(tǒng)結(jié)構(gòu)表 
           LDT表的段描述符還要求存放在GDT表中。軟件初始化代碼必須設(shè)置一個保護(hù)模式IDT,其中最少需要含有處理器可能產(chǎn)生的每個異常向量對應(yīng)的門描述符,
           在使用IDT之前,必須使用LIDT指令把IDT表的基地址和長度加載到IDTR寄存器中。
           分頁機(jī)制初始化 : 分頁機(jī)制由控制寄存器CR0中的PG標(biāo)志位設(shè)置。當(dāng)設(shè)置PG標(biāo)志之前,必須先初始化以下數(shù)據(jù)結(jié)構(gòu)和寄存器:
             (1) 軟件必須在物理內(nèi)存中建立至少一個頁目錄和一個頁表。
             (2) 把頁目錄表的物理基地址加載到CR3寄存器中。
             (3) 處理器處于保護(hù)模式下,如果滿足其他限制,則PG和PE標(biāo)志可以同時設(shè)置。
     
  多任務(wù)初始化:
               在處理器切換到保護(hù)模式之后,使用LTR指令將TSS段描述符的選擇符加載到任務(wù)寄存器TR中,這個指令會把TSS標(biāo)記成忙狀態(tài),但是并不是執(zhí)行任務(wù)切換。
               然后處理器可以使用這個TSS來定位特權(quán)級0 , 1 ,2 的堆棧,在保護(hù)模式中,軟件進(jìn)行第一次任務(wù)切換之前必須首先加載TSS段的選擇符,因為任務(wù)切換
                會把當(dāng)前任務(wù)狀態(tài)復(fù)制到TSS中。

      7.3 模式切換
            7.3.1 切換到保護(hù)模式 
             (1)  禁止中斷。使用CLI 指令禁止了可屏蔽硬件中斷。
             (2)  LGDT 指令把GDT表的基地址加載進(jìn)GDTR寄存器。
             (3)  執(zhí)行在控制寄存器中CR0 ,設(shè)置PE標(biāo)志的MOV CR0指令。
             (4) 在MOV CR0 之后,立刻執(zhí)行一個遠(yuǎn)跳轉(zhuǎn)JMP 或遠(yuǎn)調(diào)用CALL指令。
             (5) 若要使用局部描述符表,則執(zhí)行LLDT指令把LDT段的選擇符加載到LDTR寄存器中。
             (6) 執(zhí)行LTR指令,用初始保護(hù)模式任務(wù)的段選擇符或者可寫內(nèi)存區(qū)域的段描述符加載到任務(wù)寄存器TR中。
             (7) 執(zhí)行LIDT指令把保護(hù)模式IDT表的基地址和長度加載到IDTR寄存器中。
             (8) 執(zhí)行STI指令開啟可屏蔽硬件中斷,并且執(zhí)行必要的硬件操作開啟NMI中斷。
            
             7.3.2 換回實地址模式
             若想切換回實地址模式,則可以使用MOV CR0 指令把控制寄存器CR0中的PE標(biāo)志位清 0 。
            (1) 禁止中斷。 
            (2) 如果已經(jīng)開啟分頁機(jī)制,那么需要執(zhí)行 
                  把程序的控制轉(zhuǎn)移到對等映射的線性地址處。
                  確保GDT和IDT在對等映射的頁面上。
                  清除CR0中斷的PG標(biāo)志 。
                  CR3寄存器設(shè)置為0x00,用于刷新新TLB緩沖。 
            (3)  把程序的控制轉(zhuǎn)移到長度為64kb的可讀段中。
            (4) 使用特定的值來設(shè)置加載SS , DS , ES , FS ,GS 段寄存器。
            (5) 執(zhí)行LIDT指令來指向在1MB實模式地址范圍的實地址模式中斷表。
             (6) 清除CR0中的PE標(biāo)志來切換到實地址模式。
            (7) 執(zhí)行一個遠(yuǎn)跳轉(zhuǎn)指令到一個實模式程序中。
             (8) 加載實地址模式程序代碼會使用的SS , DS , ES ,FS ,GS。
              (9) STI 開啟硬件中斷。






















































































































posted on 2010-09-24 16:23 kahn 閱讀(843) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美亚洲一区二区三区| 亚洲综合视频一区| 欧美日韩aaaaa| 亚洲精品专区| 亚洲电影第三页| 91久久精品视频| 国产日韩欧美夫妻视频在线观看| 亚洲欧洲日韩综合二区| 欧美mv日韩mv亚洲| 久久久青草婷婷精品综合日韩 | 亚洲免费观看在线观看| 亚洲福利免费| 国产欧美视频一区二区| 亚洲欧美日韩一区二区在线| 在线成人免费视频| 国产噜噜噜噜噜久久久久久久久| 久久久久久亚洲精品杨幂换脸| 亚洲最快最全在线视频| 亚洲中午字幕| 亚洲欧美日韩专区| 久久国产直播| 亚洲日本va在线观看| 久久综合一区二区| 午夜视频一区在线观看| 亚洲人成网站色ww在线| 久色婷婷小香蕉久久| 亚洲视频大全| 国语对白精品一区二区| 欧美日韩激情网| 久久亚洲图片| 午夜精品久久久久久久99热浪潮 | 国产精品天天摸av网| 亚洲网友自拍| 亚洲国产精品女人久久久| 久久久亚洲欧洲日产国码αv| 一区二区三区精品视频| 91久久精品www人人做人人爽| 黄色成人av在线| 在线精品福利| 国产在线精品二区| 国产女主播视频一区二区| 国产精品视频久久一区| 国产精品视频第一区| 国产精品r级在线| 国产精品av免费在线观看| 久久午夜视频| 国产一区二区三区在线观看精品| 性色av一区二区三区红粉影视| 亚洲欧洲av一区二区| 欧美成人网在线| 亚洲欧美视频一区二区三区| 欧美日韩国产成人高清视频| 影音先锋中文字幕一区二区| 久久成年人视频| 亚洲一区二区三区乱码aⅴ| 欧美剧在线观看| 亚洲精品日韩久久| 亚洲第一久久影院| 久久久精品视频成人| 国产伦理精品不卡| 欧美一级视频一区二区| 亚洲午夜一区二区三区| 欧美图区在线视频| 亚洲一级片在线观看| av成人国产| 国产精品理论片| 午夜视频一区二区| 欧美一区在线看| 亚洲电影在线| 欧美激情四色| 欧美91视频| 日韩视频一区二区三区| 亚洲破处大片| 欧美精品午夜视频| 亚洲综合999| 销魂美女一区二区三区视频在线| 国产精品中文字幕欧美| 久久精品日产第一区二区| 香蕉av777xxx色综合一区| 激情综合久久| 亚洲国产精品激情在线观看| 欧美精品色网| 欧美一区二区三区精品| 久久久久国产精品一区三寸 | 欧美精品亚洲一区二区在线播放| 亚洲精品美女| 中文精品一区二区三区| 国产亚洲成av人片在线观看桃 | 国产精品久久久久免费a∨大胸| 亚洲欧美国产精品专区久久| 久久精品成人| 亚洲精品日韩精品| 亚洲欧美日韩国产综合在线| 亚洲成人在线观看视频| 亚洲理论在线观看| 国产一区二区三区在线观看视频| 欧美激情一区二区三区高清视频| 欧美亚洲成人精品| 美女日韩欧美| 国产精品久久久久久久久果冻传媒 | 亚洲精品自在在线观看| 亚洲国产成人一区| 一区二区91| 欧美激情一区二区三区在线视频观看 | 欧美一区二区国产| 鲁大师影院一区二区三区| 亚洲午夜精品在线| 久久亚洲私人国产精品va媚药 | 亚洲国产精品一区二区www在线| 欧美日韩在线一区| 免费欧美电影| 国产欧美一区二区精品性色| 亚洲国产精品久久久久秋霞影院 | 久久国产精品一区二区| 亚洲天堂av在线免费| 久久亚洲色图| 久久九九精品99国产精品| 欧美三级视频在线| 欧美激情中文字幕在线| 国产一区二区三区奇米久涩| 夜夜爽www精品| 亚洲三级视频| 久久婷婷丁香| 久久人人爽爽爽人久久久| 国产精品久久久久久久久久尿| 亚洲国产精品传媒在线观看| 亚洲福利视频一区| 久久精彩免费视频| 久久精品视频免费| 国产精品视频一二三| 洋洋av久久久久久久一区| 亚洲精选在线| 欧美激情亚洲另类| 亚洲国产美女| 日韩视频中文| 欧美精品观看| 亚洲精品小视频在线观看| 亚洲精品视频在线播放| 美女免费视频一区| 亚洲承认在线| 欧美欧美在线| 欧美成人高清| 亚洲国产网站| 欧美成人视屏| 亚洲精品国产精品国自产观看浪潮 | 亚洲国产精品一区在线观看不卡 | 国产一区二区三区在线观看视频| 欧美电影免费观看大全| 亚洲大片精品永久免费| 久久久久网站| 鲁大师影院一区二区三区| 国产精品国产三级国产普通话蜜臀 | 久久久久女教师免费一区| 久久国产精品99久久久久久老狼| 国产精品久久婷婷六月丁香| 亚洲欧美日韩一区| 久热精品在线视频| 亚洲国产一区二区三区高清 | 亚洲一区二区三区在线观看视频| 亚洲欧美久久久| 国产欧美一区二区三区另类精品| 久久国产成人| 亚洲黄色在线| 亚洲线精品一区二区三区八戒| 欧美午夜精品电影| 欧美有码在线观看视频| 亚洲国产精品va在线看黑人动漫| 在线中文字幕一区| 国产亚洲二区| 欧美成人午夜激情| 亚洲一区在线观看视频| 久久九九99| 一本色道**综合亚洲精品蜜桃冫| 国产精品系列在线播放| 美女尤物久久精品| 小黄鸭精品aⅴ导航网站入口| 亚洲欧美综合网| 老司机67194精品线观看| 亚洲高清电影| 欧美日韩国内自拍| 欧美一级二区| 亚洲人成网站777色婷婷| 亚洲欧美一区二区原创| 尤物精品在线| 国产精品久久久一区二区三区| 久久久人成影片一区二区三区观看 | 国产午夜精品一区二区三区视频| 这里只有视频精品| 欧美一进一出视频| 亚洲第一区在线| 国产精品video| 久久人人97超碰精品888| 一区二区三区欧美日韩| 亚洲欧洲另类国产综合| 性色一区二区三区| 日韩午夜av| 91久久国产精品91久久性色| 久久久久久久尹人综合网亚洲| 亚洲一区二区三区免费观看| 亚洲福利av|