精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux中斷,本質(zhì)到底是什么?

系統(tǒng) Linux
在軟件開發(fā)中,中斷是一個繞不開的重要話題,但是,不知道您是否遇到過這樣的困惑:很多書籍、文章在介紹中斷相關的知識點時,說的都挺有道理。

[[421424]]

 在軟件開發(fā)中,中斷是一個繞不開的重要話題,但是,不知道您是否遇到過這樣的困惑:

很多書籍、文章在介紹中斷相關的知識點時,說的都挺有道理。

這篇文章對中斷的講解很正確,那篇文章在描述中斷的時候也挺對的,但是,這兩篇文章中,怎么有些內(nèi)容是矛盾的啊?!

單獨看任何一篇文章感覺都有道理,看的越多,反而越迷糊?

好比在森林里迷路了,如果只有一個指南針,肯定能走出來。

但是,如果你有 2 個指南針,所指的方向卻是相反的,這個時候應該相信誰呢?!

我們仔細梳理了一下就會發(fā)現(xiàn):每一篇文章都是在一定的語境、一定的上下文環(huán)境中來講解的,不同文章的矛盾之處,恰恰是它們所描述的那個上下文大環(huán)境不同。

上下文環(huán)境,就是描述當前正在執(zhí)行的程序相關的靜態(tài)信息,比如:有哪些代碼段,棧空間在哪里,進程描述信息在什么位置,當前執(zhí)行到哪一條指令等等。

如果我們沒有一個全局的視角,在同一個上下文環(huán)境中來對比不同的文章,就會讓自己的理解和認識越來越蒙圈。

因此,對于這種概念比較龐雜,無法用某種確定的邏輯來貫穿的知識點,在腦袋中一定要有一幅全局的地圖。

[[421426]]

只有對這個全局的地圖掌握了,在具體學習每一個局部的知識點時,才能知道自己所處的位置在哪里,才不至于走偏。

這篇文章,我們繼續(xù)去繁從簡,從 8086 這個最簡單的處理器入手,來聊一下關于中斷的一些知識。

有了這個儲備,理清了基本的脈絡之后,以后再去學習 Linux 系統(tǒng)中的中斷相關內(nèi)容時,才會有原來如此的感覺!

中斷向量與中斷描述符

中斷向量這個詞很時髦,也很神秘!

按道理,不應該在第一部分就端上中斷向量這盤硬菜,應該從中斷源開始聊起。

但是,畢竟我們已經(jīng)學習過那么多關于中斷的知識了,腦袋中肯定是對中斷已經(jīng)有了一些的基本認知。

所以,在這里我們還是首先來明確一下中斷向量和中斷描述符這個問題。

在前面的文章中已經(jīng)聊過關于實模式和保護模式的問題,在 【Linux 從頭學】這個系列中,我們一直以來描述的都是實模式下的事情。

本文是實模式下的最后一篇文章,下一篇文章將會進入保護模式。

那么,中斷向量就是工作在實模式下的,處理器通過中斷號和中斷向量,來定位到相應的中斷處理程序。

而中斷描述符呢,就是工作在保護模式下,處理器通過中斷號和中斷描述符,來定位到相應的中斷處理程序。

也就是說:中斷向量和中斷描述符,它倆的根本作用是一樣的。

只是它們存在于不同的大環(huán)境中,而且從描述上也能感覺到,保護模式下的中斷描述符會更復雜一些,功能也更強大一些。

它倆就像一對兄弟一樣,從外表上看是差不多,功能也是類似。但是透入到內(nèi)部去看,就會發(fā)現(xiàn)有很多的不同之處。

[[421427]]

因此,這篇文章我們講解的就是在實模式下的中斷,這一點請大家先明白。

中斷的分類

在 x86 系統(tǒng)中,中斷的分類如下:

內(nèi)部中斷

所謂的內(nèi)部中斷,是在 CPU 內(nèi)部產(chǎn)生并進行處理的。比如:

  1.   CPU 遇到一條除以 0 的指令時,將產(chǎn)生 0 號中斷,并調(diào)用相應的中斷處理程序;
  2.   CPU 遇到一條不存在的非法指令時,將產(chǎn)生 6 號中斷,并調(diào)用相應的中斷處理程序;

對于內(nèi)部中斷,有時候也稱之為異常。

軟中斷也屬于內(nèi)部中斷,是非常有用的,它是由 int 指令觸發(fā)的。比如 int3 這條指令,gdb 就是利用它來實現(xiàn)對應用程序的調(diào)試。

外部中斷

x86 CPU 上有 2 個中斷引腳:INT 和 INTR,分別對應:不可屏蔽中斷和可屏蔽中斷。

所謂不可屏蔽,就是說:中斷不可以被忽視,CPU 必須處理這個中斷。

如果不處理,程序就沒法繼續(xù)執(zhí)行。

而對于可屏蔽中斷,CPU 可以忽略它不執(zhí)行,因為這類中斷不會對系統(tǒng)的執(zhí)行造成致命的影響。

對于外部的可屏蔽中斷,CPU 上只有一根 INTR 引腳,但是需要產(chǎn)生中斷信號的設備那么多,如何對眾多的中斷信號進行區(qū)分呢?

一般都是通過可編程中斷控制器(Programmable Interrupt Controller, PIC),在計算機中使用最多的就是 8259a 芯片。

雖然現(xiàn)代計算機都已經(jīng)是 APIC(高級可編程中斷控制器) 了,但是由于 8259a 芯片是那么的經(jīng)典,大部分描述外部中斷的文章都會用它來舉例。

每一片 8259a 可以提供 8 個中斷輸入引腳,兩片芯片級聯(lián)在一起,就可以提供 15 個中斷信號:

  1.  主片的輸出引腳 INT 連接到 CPU 的 INTR 引腳上;
  2.  從片的輸出引腳 INT 連接到主片的引腳 2 上;

這樣的話,兩片 8259a 芯片就可以向 CPU 提供 15 個中斷信號了,比如:鼠標、鍵盤、串口、硬盤等等外設。

    1. 8259a 之所以稱作可編程,是因為它的內(nèi)部有相關的寄存器。

    2. 可以通過指定的端口號,對這些寄存器進行設置,讓 8 根 IRQ 中斷線上的信號,在送到 CPU 時,對應不同的中斷號。

另外,對于外部可屏蔽中斷,有 2 層的屏蔽機制:

  1.  在 8259 芯片中,有中斷屏蔽寄存器,可以對 IRQ0 ~ IRQ7 輸入引腳進行屏蔽;
  2.  在 CPU 內(nèi)部,也有一個標志寄存器,可以對某一類中斷信號進行屏蔽;

中斷號

在 x86 處理器中,一共支持 256 個中斷,每一個中斷都分配了一個中斷號,從 0 到 255。

其中,0 ~ 31 號中斷向量被保留,用來處理異常和非屏蔽中斷(其中只有 2 號向量用于非屏蔽中斷,其余全部是異常)。

當 BIOS 或者操作系統(tǒng)提供了異常處理程序之后,當一個異常產(chǎn)生時,就會通過中斷向量表找到響應的異常處理程序,查找的過程馬上就會介紹到。

從中斷號 32 開始,全部分配給外部中斷。

比如:

    1. 系統(tǒng)定時器中斷 IRQ0,分配的就是 32 號中斷;

    2. Linux 的系統(tǒng)調(diào)用,分配的就是 128 號中斷;

我們來分別看一下內(nèi)部中斷和外部中斷相關的中斷號:

對于通過 8259a 可編程中斷控制器接入的中斷信號分配如下圖所示:

剛才已經(jīng)說過,8259a 是可編程的,假如我們通過配置寄存器,把 IRQ0 的中斷號設置為 32, 那么主片上 IRQ1 ~ IRQ7 所對應的中斷號依次加 1,從片上 IRQ8~IRQ15 對應的中斷號也是依次遞增。

所以,有時候我們可以在代碼中斷看到下面的宏定義:

中斷向量和中斷處理程序

當一個中斷發(fā)生的時候,CPU 獲取到該中斷對應的中斷號,下一步就是要確定調(diào)用哪一個函數(shù)來處理這個中斷,這個函數(shù)就稱作中斷服務程序(Interrupt Service Routine,ISR),有時候也稱作中斷處理程序、中斷處理函數(shù),本質(zhì)都一樣。

中斷向,就是通過中斷號去查找處理程序的重要的橋梁!

中斷向量的本質(zhì)

在 8086 中,一個中斷向量,就是一個 段地址:中斷處理函數(shù)偏移量 這樣的一對數(shù)據(jù),通過這個數(shù)據(jù),就可以定位到內(nèi)存中指定位置的那個中斷處理函數(shù)。

非常類似于高級編程語言中的函數(shù)指針,就是用來指向一個函數(shù)的開始地址。

8086 規(guī)定:256 個中斷向量,必須從內(nèi)存的 0 地址處開始存放。

每一個中斷向量占用 4 個字節(jié)(2 個字節(jié)的段地址,2 個字節(jié)的偏移地址),256 個中斷一共占用了 1024 個字節(jié)的空間。

之前的文章中,已經(jīng)介紹過相關的內(nèi)存模型,如下圖所示:

如果把一個中斷向量看作函數(shù)指針,那么這個中斷向量表就相當于是函數(shù)指針數(shù)組。

舉例:

假設 2 號中斷被觸發(fā)了,CPU 就會到中斷向量表中查找 2 號中斷的中斷向量。

因為每一個中斷向量占據(jù) 4 個字節(jié),那么 2 號中斷向量的開始地址就是 2 * 4 = 8,第 8 個字節(jié)。

然后在第 8 個字節(jié)開始,取 4 個字節(jié)的內(nèi)容:0x1000:0x2000。

意思是:2 號中斷的處理函數(shù),在段地址為 0x1000,偏移量為 0x2000 的位置處。

那么 CPU 就按照 8086 的物理地址計算方式,得到中斷處理函數(shù)的物理地址為 0x12000 (段地址左移 4 位 + 偏移地址),于是就跳轉(zhuǎn)到該函數(shù)地址處去執(zhí)行。

    1. 由于 Linux 系統(tǒng)是運行在保護模式,在這個模式下,當發(fā)生中斷時,是通過中斷描述符來查找中斷處理函數(shù)的。

    2. 每一個中斷描述符,描述了一個中斷處理函數(shù)所在段的選擇子和偏移量,本質(zhì)上也是用來查找一個中斷處理函數(shù)。

中斷處理程序的安裝

既然通過中斷向量,找到了中斷處理程序,那么這些中斷處理程序都是誰放在內(nèi)存中的呢?

如果您看過一些比較底層的計算機書籍,就能看到一般都會舉例:如何手動的把一個普通函數(shù)設置為一個中斷處理函數(shù)。

操作步驟是:

  1.  在代碼中,寫一個普通函數(shù);
  2.  把這個函數(shù)的指令碼,搬運到內(nèi)存中的某一個位置;
  3.  把這個位置(段地址:偏移量),作為一個中斷向量,設置到中斷向量表中;

此時,如果發(fā)生了該中斷,你所提供的函數(shù)就作為中斷處理函數(shù)被執(zhí)行了。

當然了,在一個計算機系統(tǒng)中,BIOS、操作系統(tǒng)和各種外設,會自動為我們提供很多基本的中斷處理函數(shù)的。

比如:BIOS 中就提供了軟中斷、內(nèi)部中斷、硬件中斷等處理函數(shù),這些函數(shù)是固化在 BIOS 的代碼中的(映射到 BIOS 所在的 ROM 芯片上),BIOS 只需要把這些處理函數(shù)的地址,寫入到中斷向量表中的相應位置即可。

在之前的文章中提到過,內(nèi)存中的某些位置是映射到外設的 ROM,在這些外設的 ROM 中也存在一些外設自帶的程序。

BIOS 在啟動時,會掃描這些映射到外設的內(nèi)存空間,通過某些關鍵字信息,如果發(fā)現(xiàn)外設有自帶的程序,就會去執(zhí)行。

這些外設程序一般是進行一些自身的初始化,并填寫相關的中斷向量表,使它們指向外設自帶的中斷處理程序。

對于操作系統(tǒng)來說就更不用說了,它會重新安排自己需要的中斷處理函數(shù),這部分內(nèi)容我們以后再一起學習、討論!

[[421429]]

中斷現(xiàn)場的保護和恢復

當一個中斷發(fā)生的時候,肯定有一個正在執(zhí)行的程序被打斷。

當中斷處理函數(shù)執(zhí)行結(jié)束之后,這個被打斷的程序需要從剛才被打斷的地方繼續(xù)執(zhí)行(暫時先不要考慮從中斷返回點,進行多任務切換的事情)。

而一個程序執(zhí)行的上下文環(huán)境,就是處理器中的各種寄存器內(nèi)容:代碼段寄存器 cs,指令指針寄存器 sp,標志寄存器 FLAGS。

但是,在中斷處理程序中,也需要使用這些寄存器。

處理器中的這些寄存器,就是每一個程序執(zhí)行時上下文信息的存儲容器,當然也包括終端處理程序!

因此,在進入中斷處理程序之前,CPU 會自動的把這些寄存器 push 到棧中保存起來,然后再跳轉(zhuǎn)到中斷處理程序中去執(zhí)行。

當中斷處理程序執(zhí)行結(jié)束后,CPU 會從棧中彈出這些內(nèi)容,恢復到相應的寄存器中,于是被打斷的程序就可以繼續(xù)執(zhí)行了。

總結(jié):中斷的本質(zhì)

從功能的角度看,中斷有 2 個作用:

  1.  提供執(zhí)行異步序列的機制;
  2.  給應用程序提供進入系統(tǒng)層的入口;

關于第 2 點,以后在介紹到 Linux 中的 int 0x80 中斷就非常清楚了,也就是通過中斷,讓應用層的程序有機會進入到系統(tǒng)代碼中去執(zhí)行。

因為應用層與操作系統(tǒng)層的代碼,是工作在不同的安全級別。

為了系統(tǒng)的安全,Linux 操作系統(tǒng)提供了這樣的一個機制,讓低安全級別的應用程序,進入到高安全級別的操作系統(tǒng)代碼中去執(zhí)行,畢竟所有的硬件等系統(tǒng)資源都是由操作系統(tǒng)來統(tǒng)一管理的。

我們再從中斷處理程序的安裝角度來看,中斷本質(zhì)上就是增加了一層間接性:通過固定位置的中斷向量表,讓中斷處理函數(shù)的實際地址可以被動態(tài)的放在任意位置。

為什么這么做?

假如操作系統(tǒng)想為某一個中斷提供處理函數(shù),那么這個處理函數(shù)的地址放在內(nèi)存中的什么位置比較合適?

需要考慮 CPU, 內(nèi)存大小和布局等多種因素,非常復雜!

而通過使用中斷向量表,就在一個固定位置處存放了很多個“指針”。

當中斷處理函數(shù)放在內(nèi)存中某個任意位置之后,讓“指針”指向這個函數(shù)的地址就可以了,從而達到解耦的目的。

這樣的話,無論是發(fā)生硬件中斷,還是應用層代碼通過中斷門來調(diào)用操作系統(tǒng)提供的函數(shù),只要觸發(fā)相應的中斷就可以了,簡化了 CPU 的設計。 

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2021-08-16 07:51:20

Linux 中斷Linux 系統(tǒng)

2020-09-27 06:53:57

MavenCDNwrapper

2020-10-14 06:22:14

UWB技術感知

2010-11-01 01:25:36

Windows NT

2020-09-22 08:22:28

快充

2011-04-27 09:30:48

企業(yè)架構(gòu)

2021-01-21 21:24:34

DevOps開發(fā)工具

2020-03-05 10:28:19

MySQLMRR磁盤讀

2023-07-12 15:32:49

人工智能AI

2021-07-07 05:07:15

JDKIterator迭代器

2024-02-04 00:01:00

云原生技術容器

2022-10-08 00:00:00

Spring數(shù)據(jù)庫項目

2021-02-05 10:03:31

區(qū)塊鏈技術智能

2021-09-01 23:29:37

Golang語言gRPC

2013-06-09 09:47:31

.NetPDBPDB文件

2020-08-04 14:20:20

數(shù)據(jù)湖Hadoop數(shù)據(jù)倉庫

2010-04-22 14:14:29

Live-USB

2019-10-30 10:13:15

區(qū)塊鏈技術支付寶

2023-10-11 08:29:54

volatileJava原子性

2022-10-28 16:24:33

Context上下文鴻蒙
點贊
收藏

51CTO技術棧公眾號

日韩你懂的在线观看| 国产精品久久久久一区二区三区共| 欧美激情videos| 中文字幕av观看| 香蕉成人影院| 一区二区免费在线播放| 精品国产福利| 色老头一区二区| 午夜久久美女| 在线观看国产成人av片| 麻豆精品国产传媒| 国产精品久久久久av电视剧| 综合欧美一区二区三区| 久久精品国产一区二区三区日韩| 自拍偷拍福利视频| 亚洲毛片网站| 久久国产精品久久久久| 成人黄色免费网址| eeuss国产一区二区三区四区| 91久久精品一区二区二区| 三级在线免费观看| av资源网站在线观看| 大胆亚洲人体视频| 国产日本欧美一区二区三区| 在线观看亚洲天堂| 欧美精品成人| 日韩视频欧美视频| 国产综合精品久久久久成人av| 都市激情亚洲欧美| 欧美一区二区久久| 中文字幕第38页| 最新中文字幕在线播放| 亚洲一区自拍偷拍| 熟女视频一区二区三区| 福利成人在线观看| 久久先锋影音av鲁色资源 | 亚洲美女尤物影院| 亚洲欧美日本在线| 五月天亚洲综合| 极品白浆推特女神在线观看| 成人精品国产福利| 91在线免费观看网站| 亚洲天堂免费av| 久久欧美肥婆一二区| 91精品国产色综合久久不卡98口| 日本黄色小说视频| 亚洲成人免费| 欧美xxxx18国产| 国产精品久久久精品四季影院| 日本久久黄色| 少妇高潮 亚洲精品| 91麻豆精品国产91久久综合| 国产乱码精品一区二区三区四区| 国产视频欧美视频| 中文字幕第4页| 蜜桃成人av| 亚洲一区二区国产| 超薄肉色丝袜一二三| 欧美亚洲国产精品久久| 中文字幕亚洲无线码a| 免费黄色片网站| 日韩国产在线| 萌白酱国产一区二区| 亚洲欧美小视频| 国产一区视频在线观看免费| 欧美精品成人在线| 自拍偷拍欧美亚洲| 香蕉久久国产| 国产精品一区二区久久| 一区二区 亚洲| 国产精一区二区三区| 99九九视频| 人妻91麻豆一区二区三区| 成人免费福利片| 久久综合中文色婷婷| 黄色av网址在线免费观看| 国产欧美一区二区三区沐欲| 性欧美精品一区二区三区在线播放 | 麻豆蜜桃在线观看| 欧美性猛xxx| 日本美女高潮视频| av在线亚洲一区| 日韩精品一区二区在线观看| 亚洲精品第二页| 亚洲免费专区| 播播国产欧美激情| 国产午夜视频在线播放| 日韩一区欧美二区| 91午夜理伦私人影院| 天天综合网在线观看| 国产欧美一区二区精品仙草咪| 最新不卡av| 国产伦理精品| 欧美日韩一区二区三区不卡| 性折磨bdsm欧美激情另类| 亚洲影院天堂中文av色| www国产91| 久久久国产精品成人免费| 日本成人在线一区| 国产伦精品一区二区| 电影av一区| 亚洲成人av一区二区三区| 密臀av一区二区三区| 欧美在线在线| 国产亚洲人成a一在线v站| 国产无遮挡又黄又爽又色| 日韩av一区二| 久久精品日韩精品| 18+激情视频在线| 在线亚洲免费视频| 国产精品无码电影| 夜间精品视频| 国产精品高潮粉嫩av| 天堂网av2014| 亚洲欧美韩国综合色| 狠狠热免费视频| 9l亚洲国产成人精品一区二三| 最近2019年好看中文字幕视频| 日本少妇毛茸茸高潮| 精品亚洲porn| 亚洲欧洲一区二区| 亚洲人成午夜免电影费观看| 欧美tickling挠脚心丨vk| 精品在线观看一区| 日本欧美韩国一区三区| 久久大片网站| 超碰91在线观看| 日韩一区二区精品| 小泽玛利亚一区二区免费| 久久蜜桃资源一区二区老牛| 国产一区二区三区高清| 欧美6一10sex性hd| 91精品黄色片免费大全| 国产又黄又粗视频| 玖玖玖国产精品| 久久国产精品久久| 国产高清自产拍av在线| 精品国免费一区二区三区| 成人在线观看高清| 韩国三级中文字幕hd久久精品| 色爱区成人综合网| 三上悠亚亚洲一区| 亚洲人成伊人成综合网久久久| 日韩免费视频网站| www.亚洲精品| 91专区在线观看| 久久99精品国产自在现线| 欧美激情欧美激情在线五月| 国产高清不卡视频| 一区二区三区四区在线播放| 永久av免费在线观看| 在线看片不卡| av成人在线电影| 国产乱码在线| 亚洲国产欧美久久| 欧美一区二区三区四| 91麻豆精东视频| 午夜精品久久久内射近拍高清| 色狼人综合干| 日韩女优在线播放| 91在线看黄| 欧美日韩精品二区第二页| 5566中文字幕| 成人免费高清在线观看| 国产 福利 在线| 国产一区二区三区不卡视频网站| 日韩免费在线看| 美女国产在线| 亚洲高清久久久久久| youjizz在线视频| 中文字幕不卡三区| 免费欧美一级片| 一区二区黄色| 水蜜桃亚洲一二三四在线| 亚洲免费资源| 性色av一区二区三区| 韩国福利在线| 日韩欧美黄色影院| 成年人免费高清视频| 国产精品毛片高清在线完整版| 国产精品久久久久久9999| 激情综合亚洲| 神马一区二区影院| 亚洲精品a区| 日本亚洲欧美成人| caoporm免费视频在线| 亚洲激情国产精品| 一级黄色免费看| 亚洲成人中文在线| 欧美成人久久久免费播放| 国产一区二区三区免费播放| 两根大肉大捧一进一出好爽视频| 俺要去色综合狠狠| 成人在线视频网址| 欧洲成人一区| 国内精品久久久久影院优 | 国产精品45p| 国产精品久久久久免费a∨大胸| 亚洲羞羞网站| 国产亚洲精品一区二区| 亚洲av色香蕉一区二区三区| 91精品办公室少妇高潮对白| 欧美成人精品欧美一级| 国产日韩欧美综合在线| 欧美丰满熟妇bbb久久久| 日韩电影免费在线观看网站| 老司机午夜免费福利视频| 精品国产一区二区三区噜噜噜 | 一区二区三区.www| 亚洲综合第一区| 99精品在线观看视频| 亚洲图片 自拍偷拍| 日韩中文欧美在线| 黄色网页免费在线观看| 欧美jjzz| 一区二区免费在线观看| 亚洲人挤奶视频| 黑人中文字幕一区二区三区| 精品一区二区三区中文字幕在线| 青草青草久热精品视频在线观看| 青草影视电视剧免费播放在线观看| 国产一区二区三区久久精品| 亚洲三区在线观看无套内射| 日韩欧美一区二区免费| 91国偷自产中文字幕久久| 欧美视频在线观看 亚洲欧| 久久久久久天堂| 亚洲欧美色图小说| 国精产品视频一二二区| 国产日韩欧美综合一区| 蜜桃av免费看| 97se亚洲国产综合自在线| 无码人妻丰满熟妇啪啪网站| 国产在线精品一区二区不卡了| 三级视频中文字幕| 日本不卡视频在线| 日韩肉感妇bbwbbwbbw| 蜜桃视频一区| 日韩av资源在线| 西西裸体人体做爰大胆久久久| 国产a级一级片| 99在线精品免费视频九九视| 日韩欧美精品免费| 亚洲精品免费观看| 欧美 日韩 激情| 国产日韩视频| 亚洲中文字幕无码不卡电影| 亚洲免费婷婷| 精品久久久久久久免费人妻| 久久精品一区| 69久久久久久| 激情久久五月天| 女王人厕视频2ⅴk| 国产很黄免费观看久久| 中文字幕在线播放一区二区| 丁香一区二区三区| 中国极品少妇videossexhd| 不卡一区二区在线| 黄瓜视频污在线观看| 国产欧美日韩另类一区| 国产视频精品免费| 亚洲人成精品久久久久久 | 香蕉视频在线播放| 久久久精品久久久| 污污的视频在线观看| 午夜精品99久久免费| 综合毛片免费视频| 国产欧美在线观看| 一区二区在线免费播放| 国产亚洲自拍偷拍| 国产精品视频一区二区三区四蜜臂| 日本10禁啪啪无遮挡免费一区二区 | 黑人巨大精品| 成人激情综合网| 国产精品玖玖玖在线资源| 免费国产一区二区| 天天做综合网| 国产a级片网站| 日韩国产欧美三级| 黄色a级三级三级三级| av影院午夜一区| 一本在线免费视频| 亚洲国产精品麻豆| 国产女优在线播放| 精品国产91久久久久久久妲己 | 久久久久久免费精品| 最新日韩精品| 97av自拍| 精品国产aⅴ| 国产真人做爰毛片视频直播| 免费一区二区视频| 国产精品久久久久久亚洲色| 国产午夜久久久久| 久久中文字幕无码| 欧美在线观看视频在线| 亚洲精品成人区在线观看| 亚洲最新视频在线| 成人女同在线观看| 国产热re99久久6国产精品| 久久超级碰碰| 三年中国中文在线观看免费播放| 99亚洲伊人久久精品影院红桃| 中文字幕视频三区| 91蜜桃免费观看视频| 69xx绿帽三人行| 欧美系列一区二区| 色网站在线免费观看| 久久在线观看视频| 日本精品在线一区| 国产免费一区二区三区| 97精品国产福利一区二区三区| 乱妇乱女熟妇熟女网站| 国产精品一区二区你懂的| 无码少妇一区二区| 欧美日韩免费一区| 亚洲精品网站在线| 欧美xxxx做受欧美.88| 韩日一区二区| 免费成人av网站| 亚洲国产精品一区制服丝袜| 中国老熟女重囗味hdxx| 国产精品久久99| 最近日韩免费视频| 亚洲人a成www在线影院| 不卡视频观看| 国产综合欧美在线看| 黄色成人精品网站| 精品人妻一区二区三| 中文字幕在线一区二区三区| 樱花视频在线免费观看| 亚洲美女久久久| 欧美男女交配| 日韩激情久久| 日韩高清一级片| 亚洲区自拍偷拍| 在线欧美一区二区| 国产日产精品久久久久久婷婷| 青草热久免费精品视频| 欧亚精品一区| 欧美亚洲另类色图| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 8x拔播拔播x8国产精品| 高清日韩欧美| 很污的网站在线观看| 成人a免费在线看| 国产乱码久久久久久| 欧美精品一区二区三区在线 | 日本高清不卡在线观看| 日本ー区在线视频| 国产成人精品电影| 久久影院100000精品| 男生操女生视频在线观看| 亚洲天堂久久久久久久| 精品人妻一区二区三区换脸明星| 九九热这里只有在线精品视| 欧美激情精品| 日本午夜激情视频| 久久久久久9999| 91成品人影院| 欧美高跟鞋交xxxxxhd| 久久av国产紧身裤| 国产又大又黄又粗的视频| 国产精品国产馆在线真实露脸| 在线观看日韩一区二区| 超碰97人人做人人爱少妇| 最新精品在线| 国产成人黄色片| 国产精品电影院| 蜜桃久久一区二区三区| 奇米4444一区二区三区| 欧州一区二区| 午夜诱惑痒痒网| 午夜精品在线视频一区| 成人亚洲性情网站www在线观看| 国产人妖伪娘一区91| 一区二区亚洲精品| 国产熟女一区二区| 日韩精品一区在线| 精品免费av在线| 青草全福视在线| 久久久久国产精品麻豆ai换脸 | 亚洲成人av在线| 91福利精品在线观看| 男人天堂网站在线| 久久蜜桃av一区精品变态类天堂| 一区二区三区黄色片| 国内精品久久久| 国产精品久久久久久影院8一贰佰| www.四虎在线| 欧美日韩久久久一区| 成人影院在线播放| 亚洲欧美综合一区| av高清久久久| 国产又粗又猛又黄又爽| 57pao成人永久免费视频| 天天插综合网| 美女久久久久久久久久| 日韩一区二区精品在线观看| 欧美va在线观看| 91视频 -- 69xx|