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

Linux 中斷子系統(tǒng):中斷處理知識(shí)點(diǎn)大全

系統(tǒng) Linux
cat 這個(gè)節(jié)點(diǎn),會(huì)打印系統(tǒng)中所有的中斷信息,包括每個(gè)中斷的名字、中斷號(hào) IRQ number、每個(gè)中斷的觸發(fā)次數(shù)、在哪個(gè)CPU核處理的、是邊沿觸發(fā)還是電平觸發(fā),屬于哪個(gè)中斷控制器,都會(huì)打印出來(lái)。

[[440239]]

Linux 中斷相關(guān)節(jié)點(diǎn)

/proc/interrupts

cat 這個(gè)節(jié)點(diǎn),會(huì)打印系統(tǒng)中所有的中斷信息,如果是多核CPU,每個(gè)核都會(huì)打印出來(lái)。

包括每個(gè)中斷的名字、中斷號(hào) IRQ number、每個(gè)中斷的觸發(fā)次數(shù)、在哪個(gè)CPU核處理的、是邊沿觸發(fā)還是電平觸發(fā),屬于哪個(gè)中斷控制器,都會(huì)打印出來(lái)。

/proc/irq/…

進(jìn)入這個(gè)目錄。會(huì)看到以中斷號(hào)命名的文件夾,每個(gè)中斷號(hào)文件夾下面都有幾個(gè)節(jié)點(diǎn),存儲(chǔ)了這個(gè)中斷的信息,比如 smp_affinity、affinity_hint、spurious等。smp_affinity 代表中斷號(hào)核CPU之間的親緣綁定關(guān)系,也就是如果某個(gè)中斷號(hào)綁定了一個(gè)CPU核,那么這個(gè)中斷就會(huì)一直在這個(gè)CPU上處理。

如何讓某個(gè)中斷在某個(gè)特定的 CPU 處理?

kernel 2.4 以后的版本才支持把不同的硬件中斷請(qǐng)求(IRQs)分配到特定的 CPU 上,這個(gè)綁定技術(shù)被稱為 SMP IRQ Affinity. 更多介紹請(qǐng)參看 Linux 內(nèi)核源代碼自帶的文檔:linux-4.14/Documentation/IRQ-affinity.txt

/proc/irq/{IRQ}/smp_affinity

/proc/irq/{IRQ}/smp_affinity_list

/proc/irq/{IRQ}/smp_affinity 指定給定的 irq 中斷號(hào)源允許哪些CPU執(zhí)行,它是一個(gè)掩碼位,比如是ff,代表11111111,表示這個(gè)中奪冠可以在 8 個(gè) CPU 執(zhí)行,具體在哪一個(gè) CPU 執(zhí)行,靠分配器分配。

如果這個(gè) /proc/irq/{IRQ}/smp_affinity 指定為 00000001,代表這個(gè)IRQ只能在最后一個(gè)CPU核進(jìn)行處理,其他CPU不允許處理,大家可以測(cè)試一下,博主測(cè)試是 OK 的(GIC支持,其他中斷控制器不一定)。

串口手動(dòng)賦值的重啟以后會(huì)消失,可以在代碼中調(diào)用 irq_set_affinity 函數(shù),指定中斷的掩碼,來(lái)達(dá)到某個(gè)中斷被固定CPU處理的需求。

中斷分發(fā)機(jī)制

對(duì)于 GIC-V2 而言,SPI 的分發(fā)是根據(jù) Distributor 中的 Interrupt Processor Targets Registers 來(lái)決定的。對(duì)于任何一個(gè) SPI,其都有在某個(gè) GICD_ITARGETSRn 寄存器中有 8 個(gè)bit標(biāo)識(shí)送達(dá)的 processor,如果只有一個(gè) bit 被 set,那么就很簡(jiǎn)單了,如果該中斷是當(dāng)前優(yōu)先級(jí)最高的中斷,那么 Distributor 就會(huì)送到對(duì)應(yīng)的 CPU interface,該中斷最終會(huì)送達(dá)指定的 CPU。

如果該中斷對(duì)應(yīng)的 Interrupt Processor Targets Registers 中的那 8 個(gè) bit 有多個(gè) bit 被 set 的話,Distributor 如何處理呢?“依次輪著把產(chǎn)生的中斷給各個(gè) CPU,還是說(shuō)看哪個(gè)CPU有空就給哪個(gè)CPU來(lái)著”,讓硬件處理這么復(fù)雜的邏輯有些不合適,實(shí)際上,GIC 的硬件是不會(huì)進(jìn)行任何判斷的,也不會(huì)集成任何的算法,它就是根據(jù)Interrupt Processor Targets Registers的bit設(shè)定情況,忠實(shí)的把中斷送往指定的一個(gè)processor或者多個(gè)processors。

大家可以去看看 gic_set_affinity 這個(gè)函數(shù),這個(gè)函數(shù)確保一個(gè)中斷的 Interrupt Processor Targets Registers 中的那8個(gè)bit只有一個(gè)bit被設(shè)定。

/kernel5.15/drivers/irqchip/irq-gic-v3.c

在 1244 和 1246 行,1246 行就是在 online 的 CPU 中選中一個(gè),1263 行寫入到寄存器中,GIC 會(huì)讀取這個(gè)寄存器,是哪個(gè) CPU,然后將中斷發(fā)給這個(gè)CPU。中間的函數(shù)很簡(jiǎn)單,大家可以自己看。

中斷狀態(tài)機(jī)

對(duì)于 GIC-V2 而言,中斷的狀態(tài)機(jī)由 Distributor 維護(hù),每個(gè)中斷都有一個(gè)狀態(tài)機(jī)。

Inactive :中斷未激活(未發(fā)生)。

Pending:中斷到達(dá) GIC ,等待 CPU 的處理。

Active:中斷得到 CPU 的應(yīng)答,中斷被CPU處理。

Active and pending :某個(gè)中斷正在被 CPU 處理,這時(shí)候該中斷又來(lái)了。

來(lái)看一個(gè)例子:

(a)N 和 M 用來(lái)標(biāo)識(shí)兩個(gè)外設(shè)中斷,N 的優(yōu)先級(jí)大于 M

(b)兩個(gè)中斷都是 SPI 類型,level trigger,active-high

(c)兩個(gè)中斷被配置為去同一個(gè) CPU

(d)都被配置成 group 0,通過(guò) FIQ 觸發(fā)中斷

時(shí)刻 事件
T0時(shí)刻 Distributor檢測(cè)到M這個(gè)interrupt source的有效觸發(fā)電平
T2時(shí)刻 Distributor將M這個(gè)interrupt source的狀態(tài)設(shè)定為pending
T17時(shí)刻 大約15個(gè)clock之后,CPU interface拉低nFIQCPU信號(hào)線,向CPU報(bào)告M外設(shè)的中斷請(qǐng)求。這時(shí)候,CPU interface的ack寄存器(GICC_IAR)的內(nèi)容會(huì)修改成M interrupt source對(duì)應(yīng)的ID
T42時(shí)刻 Distributor檢測(cè)到N這個(gè)優(yōu)先級(jí)更高的interrupt source的觸發(fā)事件
T43時(shí)刻 Distributor將N這個(gè)interrupt source的狀態(tài)設(shè)定為pending。同時(shí),由于N的優(yōu)先級(jí)更高,因此Distributor會(huì)標(biāo)記當(dāng)前優(yōu)先級(jí)最高的中斷
T58時(shí)刻 大約15個(gè)clock之后,CPU interface拉低nFIQCPU信號(hào)線,向CPU報(bào)告N外設(shè)的中斷請(qǐng)求。當(dāng)然,由于T17時(shí)刻已經(jīng)assert CPU了,因此實(shí)際的電平信號(hào)仍然保持asserted。這時(shí)候,CPU interface的ack寄存器(GICC_IAR)的內(nèi)容會(huì)被更新成N interrupt source的ID
T61時(shí)刻 軟件通過(guò)讀取 ack 寄存器的內(nèi)容,獲取了當(dāng)前優(yōu)先級(jí)最高的,并且狀態(tài)是pending的interrupt ID(也就是N interrupt source對(duì)應(yīng)的ID),通過(guò)讀該寄存器,CPU也就ack了該interrupt source N。這時(shí)候,Distributor將N這個(gè)interrupt source的狀態(tài)設(shè)定為pending and active(因?yàn)槭请娖接|發(fā),只要外部仍然有asserted的電平信號(hào),那么一定就是pending的,而該中斷是正在被CPU處理的中斷,因此狀態(tài)是pending and active)注意:T61標(biāo)識(shí)CPU開始服務(wù)該中斷
T64時(shí)刻 3個(gè)clock之后,由于CPU已經(jīng)ack了中斷,因此GIC中CPU interface模塊 deassert nFIQCPU信號(hào)線,解除發(fā)向該CPU的中斷請(qǐng)求
T126時(shí)刻 由于中斷服務(wù)程序操作了N外設(shè)的控制寄存器(ack外設(shè)的中斷),因此N外設(shè)deassert了其interrupt request signal
T128時(shí)刻 Distributor解除N外設(shè)的pending狀態(tài),因此N這個(gè)interrupt source的狀態(tài)設(shè)定為active
T131時(shí)刻 軟件操作End of Interrupt寄存器(向GICC_EOIR寄存器寫入N對(duì)應(yīng)的interrupt ID),標(biāo)識(shí)中斷處理結(jié)束。Distributor將N這個(gè)interrupt source的狀態(tài)修改為idle,注意:T61~T131是CPU服務(wù)N外設(shè)中斷的的時(shí)間區(qū)域,這個(gè)期間,如果有高優(yōu)先級(jí)的中斷pending,會(huì)發(fā)生中斷的搶占(硬件意義的),這時(shí)候CPU interface會(huì)向CPU assert 新的中斷。
T146時(shí)刻 大約15個(gè)clock之后,Distributor向CPU interface報(bào)告當(dāng)前pending且優(yōu)先級(jí)最高的interrupt source,也就是M了。漫長(zhǎng)的pending之后,M終于迎來(lái)了春天。CPU interface拉低nFIQCPU信號(hào)線,向CPU報(bào)告M外設(shè)的中斷請(qǐng)求。這時(shí)候,CPU interface的ack寄存器(GICC_IAR)的內(nèi)容會(huì)修改成M interrupt source對(duì)應(yīng)的ID
T211時(shí)刻 CPU ack M中斷(通過(guò)讀GICC_IAR寄存器),開始處理低優(yōu)先級(jí)的中斷

Linux 搶占機(jī)制

GIC 中斷控制器支持中斷優(yōu)先級(jí)搶占,一個(gè)高優(yōu)先級(jí)中斷可以搶占一個(gè)低優(yōu)先級(jí)且處于active狀態(tài)的中斷,即GIC仲裁單元會(huì)記錄和比較當(dāng)前優(yōu)先級(jí)最高的pending狀態(tài),然后去搶占當(dāng)前中斷,并且發(fā)送這個(gè)最高優(yōu)先級(jí)的中斷請(qǐng)求給CPU。

從GIC角度看,GIC 會(huì)發(fā)送高優(yōu)先級(jí)中斷請(qǐng)求給CPU。但是CPU不一定響應(yīng)!!!因?yàn)樵谥袛嗵幚磉^(guò)程中,CPU處于關(guān)中斷狀態(tài)(關(guān)閉本CPU),需要等低優(yōu)先級(jí)中斷處理完畢,直到發(fā)送 EOI 給GIC,然后CPU才會(huì)響應(yīng)pending狀態(tài)中優(yōu)先級(jí)最高的中斷進(jìn)行處理。所以 Linux 下:

1、高優(yōu)先級(jí)中斷無(wú)法搶占正在執(zhí)行的低優(yōu)先級(jí)中斷。

2、同處于 pending 狀態(tài)的中斷,優(yōu)先響應(yīng)高優(yōu)先級(jí)中斷進(jìn)行處理。

3、同優(yōu)先級(jí)同是 pending 狀態(tài)的中斷,選擇硬件中斷號(hào) ID 最小的一個(gè)發(fā)給CPU。

這樣是可以理解的,如果萬(wàn)一中斷大量爆發(fā),中斷如果允許嵌套的話,棧會(huì)越來(lái)越大,會(huì)爆掉,所以為了防止這種情況發(fā)生,Linux中中斷不允許嵌套,單CPU中,在一個(gè)中斷處理完之前,不會(huì)相應(yīng)另外一個(gè)中斷,哪怕優(yōu)先級(jí)比它高。

FreeRTOS 中是允許高優(yōu)先級(jí)中斷搶占正在執(zhí)行的低優(yōu)先級(jí)中斷,不同系統(tǒng)設(shè)定不一樣。

中斷與進(jìn)程

進(jìn)程調(diào)度是一個(gè)復(fù)雜的機(jī)制, 根據(jù)需求的不同,在不同時(shí)刻會(huì)切換調(diào)度機(jī)制,CPU會(huì)根據(jù)進(jìn)程優(yōu)先級(jí)、時(shí)間片等信息,對(duì)不同進(jìn)程進(jìn)行調(diào)度。

中斷可以打斷進(jìn)程的運(yùn)行,任意一個(gè)中斷的優(yōu)先級(jí)都比所有的進(jìn)程高。

在中斷處理過(guò)程中,主要是 GIC 和 CPU 的交互,即便 GIC 支持高優(yōu)先級(jí)中斷搶占正在執(zhí)行的低優(yōu)先級(jí)中斷,發(fā)信號(hào)給 CPU core,但是 CPU core 可以不處理,因?yàn)?Linux 中當(dāng) CPU core 執(zhí)行中斷處理時(shí),是關(guān)中斷和關(guān)搶占的狀態(tài),不再相應(yīng)中斷信號(hào)。

也就意味著,在中斷優(yōu)先級(jí)這個(gè)概念中,只有當(dāng) GIC 同時(shí)存在多個(gè) pending 的中斷,這時(shí)候會(huì)選擇優(yōu)先級(jí)最高的去執(zhí)行,高優(yōu)先級(jí)會(huì)搶占低優(yōu)先級(jí)中斷(哪怕低優(yōu)先級(jí)先來(lái))。如果低優(yōu)先級(jí)中斷處于 active 狀態(tài),是不可以被搶占的,這是前后關(guān)系。搶占只存在于同時(shí)是pending 狀態(tài)的時(shí)候。

Linux 為什么中斷不允許休眠?

所謂的睡眠,就是調(diào)用 schedule 讓出 CPU,調(diào)度器選擇另外個(gè)進(jìn)程繼續(xù)執(zhí)行,這個(gè)過(guò)程涉及進(jìn)程棧空間的切換。

1、假如中斷上下文中調(diào)用 schedule ,此時(shí)獲取的 struct thread info 數(shù)據(jù)結(jié)構(gòu)是發(fā)生中斷時(shí)該進(jìn)程棧信息,而不是中斷上下文調(diào)用 schedule 時(shí)任何信息。這就導(dǎo)致再也無(wú)法返回中斷上下文中調(diào)用 schedule 的地方。

2、中斷上下文處于關(guān)中斷中,需要發(fā)送個(gè) EOI 通知 GIC 中斷處理結(jié)束,GIC 和CPUinterface 才會(huì)進(jìn)入下一次中斷處理。如果中途 schedule,那么整個(gè)系統(tǒng)的中斷都會(huì)被屏蔽掉。

一般進(jìn)入中斷后,需要關(guān)中斷,也會(huì)關(guān)搶占,同時(shí)注意不可以調(diào)用schedule。

unhandled interrupt 和 spurious interrupt

未處理中斷和虛假中斷

在中斷處理的最后,總會(huì)有一段代碼如下:

  1. irqreturn_t 
  2. handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action
  3.  
  4. …… 
  5.  
  6.     if (!noirqdebug) 
  7.         note_interrupt(irq, desc, retval); 
  8.     return retval; 

note_interrupt就是進(jìn)行unhandled interrupt和spurious interrupt處理的。對(duì)于這類中斷,linux kernel有一套復(fù)雜的機(jī)制來(lái)處理,你可以通過(guò)command line參數(shù)(noirqdebug)來(lái)控制開關(guān)該功能。

當(dāng)發(fā)生了一個(gè)中斷,但是沒(méi)有被處理(有兩種可能,一種是根本沒(méi)有注冊(cè)的 specific handler,第二種是有 handler,但是 handler 否認(rèn)是自己對(duì)應(yīng)的設(shè)備觸發(fā)的中斷),怎么辦?毫無(wú)疑問(wèn)這是一個(gè)異常狀況,那么 kernel 是否要立刻采取措施將該 IRQ disable 呢?也不太合適,畢竟 interrupt request 信號(hào)線是允許共享的,直接 disable 該 IRQ 有可能會(huì)下手太狠,kernel 采取了這樣的策略:如果該 IRQ 觸發(fā)了 100,000 次,但是 99,900 次沒(méi)有處理,在這種條件下,我們就是 disable 這個(gè) interrupt request line。

中斷線和中斷號(hào)是一個(gè)意思。

相關(guān)的控制數(shù)據(jù)在中斷描述符中,如下:

  1. struct irq_desc { 
  2. …… 
  3.     unsigned int        irq_count;--------記錄發(fā)生的中斷的次數(shù),每100,000則回滾 
  4.     unsigned long        last_unhandled;-----上一次沒(méi)有處理的IRQ的時(shí)間點(diǎn) 
  5.     unsigned int        irqs_unhandled;------沒(méi)有處理的次數(shù) 
  6. …… 

中斷的生命周期

 

責(zé)任編輯:姜華 來(lái)源: 嵌入式Linux系統(tǒng)開發(fā)
相關(guān)推薦

2021-12-10 08:45:45

Linux GIC Linux 系統(tǒng)

2021-12-08 08:41:31

Linux 中斷子系統(tǒng)Linux 系統(tǒng)

2021-08-10 11:30:30

Linux代碼中斷控制器

2021-08-03 15:10:26

Linux代碼驅(qū)動(dòng)

2017-07-14 14:35:27

Linux中斷系統(tǒng)

2020-12-29 09:11:33

LinuxLinux內(nèi)核

2017-07-17 10:34:53

Linux系統(tǒng)休眠設(shè)備中斷

2009-12-23 16:35:12

Linux系統(tǒng)光驅(qū)軟

2023-09-27 15:41:32

Linux系統(tǒng)

2021-11-02 10:53:56

Linux機(jī)制CPU

2010-08-18 10:52:46

Linux筆試

2021-01-11 12:53:28

線程Java管理

2025-09-10 04:00:00

2020-02-18 08:01:55

在家辦公Kakfa知識(shí)點(diǎn)大全

2023-05-12 14:14:00

Java線程中斷

2023-03-21 18:16:54

2021-11-30 07:02:10

虛擬化Linux 中斷

2021-12-01 07:02:16

虛擬化LinuxCPU

2025-09-26 01:00:00

2010-08-17 14:56:00

HCNE認(rèn)證
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产人成视频在线观看| 99re99热| 中文字幕乱码视频| 在线观看国产精品入口| 精品剧情v国产在线观看在线| www.com毛片| 久久bbxx| 久久亚洲一级片| 成人激情在线观看| 欧美三级韩国三级日本三斤在线观看 | 欧美日韩中文在线| 亚洲最大色综合成人av| 天天干天天插天天操| 久久黄色级2电影| 97超级碰在线看视频免费在线看 | 日韩理论片av| 亚洲精品理论电影| 99久久99精品| 精品69视频一区二区三区| 性久久久久久久久久久久| 一区二区三区四区免费视频| 三级在线播放| 成人免费视频app| 91免费观看网站| 无码人妻精品一区二| 在线观看日韩av电影| 日韩在线视频观看| 免费看污片的网站| 小说区图片区色综合区| 亚洲成人激情在线观看| 奇米777在线| 亚洲一区有码| 欧美人与性动xxxx| 欧在线一二三四区| 在线精品亚洲欧美日韩国产| 亚洲国产综合在线| 97在线免费视频观看| 秋霞午夜在线观看| 国产精品久久夜| 日本精品视频一区| 免费在线性爱视频| 91麻豆精品视频| 精品综合久久| 四季av日韩精品一区| 国产精品一二三区在线| 91免费在线视频| 亚洲资源在线播放| 久久99精品久久久| 国产精品一区久久| 亚洲无码久久久久久久| 美女视频一区在线观看| 国产精品91一区| 国产一卡二卡三卡| 免费日本视频一区| 国产在线视频2019最新视频| 亚洲无码精品在线播放| 精品亚洲成a人| 91性高湖久久久久久久久_久久99| 亚洲性生活大片| 精品一区二区久久久| 国产美女主播一区| 99热这里是精品| 国产成人精品综合在线观看| 动漫精品视频| 亚洲日本国产精品| 国产欧美日韩精品一区| 亚洲国产精品综合| 伊人222成人综合网| 亚洲一卡二卡三卡四卡无卡久久 | 日韩精品一区二区三区在线观看 | 一区二区欧美国产| 夜夜添无码一区二区三区| av在线最新| 色8久久精品久久久久久蜜| 成人免费毛片播放| 亚洲欧美在线人成swag| 精品三级在线观看| 中国美女乱淫免费看视频| 欧美精品一区二区久久| 久久五月天综合| 国产午夜福利一区二区| 国产精品美女久久久浪潮软件| 日韩av毛片网| 国产免费一区二区三区最新不卡| 国产v综合v亚洲欧| 日本一区二区三区视频在线观看 | 精品国产一级毛片| 播播国产欧美激情| 亚洲精品男人天堂| 韩国视频一区二区| 好吊色欧美一区二区三区| 国产福利在线| 亚洲一区成人在线| 8x8x最新地址| 久久久亚洲欧洲日产| 在线观看亚洲视频| www.youjizz.com亚洲| 日韩精品亚洲一区二区三区免费| 91老司机在线| 黄色av免费在线观看| 亚洲精品国产a| 久久久久久久片| youjizzjizz亚洲| 这里只有精品在线播放| 日韩精品在线不卡| 精品一区二区久久| 日韩不卡av| 草莓视频丝瓜在线观看丝瓜18| 欧亚一区二区三区| 男男一级淫片免费播放| 天天影视天天精品| 国产成人精品一区二区三区| 丁香花免费高清完整在线播放| 国产欧美日本一区二区三区| 国产成人永久免费视频| 欧美日韩视频免费看| 亚洲欧美国产视频| 久久精品亚洲无码| 国产精品性做久久久久久| 污视频在线免费观看一区二区三区| 青青草原av在线| 在线不卡中文字幕播放| 精品无码国产污污污免费网站| 亚洲黄色精品| 99re国产| 成人av免费| 欧美片在线播放| 少妇av片在线观看| 快she精品国产999| 免费在线成人av| 色是在线视频| 亚洲精品一区av在线播放| 久久精品国产亚洲AV无码男同 | 成人午夜在线影视| 欧美精品视频www在线观看| 久久久视频6r| 天堂久久久久va久久久久| 久久国产精品一区二区三区四区| heyzo一区| 亚洲国产欧美一区二区三区久久| 久久久精品人妻一区二区三区四| 狠狠色综合色综合网络| 亚洲高清视频在线观看| 日韩毛片免费观看| 亚洲午夜激情免费视频| jizz国产在线观看| 国产色婷婷亚洲99精品小说| 苍井空浴缸大战猛男120分钟| 午夜先锋成人动漫在线| 青青在线视频一区二区三区| 亚州精品国产精品乱码不99按摩| 激情久久av一区av二区av三区| 精品人妻一区二区免费| 亚洲第一伊人| 久久久水蜜桃| 日本黄色一区| 久久精品成人动漫| 精品人妻一区二区三区三区四区 | 中文一区二区三区四区| 欧美激情精品久久久久久变态| 成 人 黄 色 片 在线播放| 亚洲制服丝袜av| 国产精品久久AV无码| 久久一区欧美| 正在播放精油久久| 91精品丝袜国产高跟在线| 久久久亚洲精选| 青青久在线视频免费观看| 欧美私模裸体表演在线观看| 小泽玛利亚一区| 国产成人亚洲精品青草天美| 久久精品视频16| 欧美精品系列| 99视频免费观看蜜桃视频| 超碰在线视屏| 在线视频精品一| 草草视频在线播放| 日本电影亚洲天堂一区| www.5588.com毛片| 99久久99久久免费精品蜜臀| 久久久久免费精品| 永久亚洲成a人片777777| 精品欧美一区二区精品久久| 素人啪啪色综合| 久久久久久国产免费| 番号在线播放| 日韩欧美国产电影| 波多野结衣一本一道| 亚洲免费伊人电影| 成人片黄网站色大片免费毛片| 久色婷婷小香蕉久久| 日本午夜激情视频| 97色伦图片97综合影院| 国产亚洲一区在线播放| 国产精品久久久久久久久免费高清| 欧美成人激情视频免费观看| 欧美孕妇性xxxⅹ精品hd| 欧美久久一二三四区| 色网站在线播放| 亚洲日本在线a| 亚洲码无人客一区二区三区| 国产乱码字幕精品高清av| www.四虎成人| 亚洲精品影院在线观看| 一本一道久久a久久综合精品| 久久精品色综合| 91免费版黄色| 国产情侣一区二区三区| 久久久久久久一区二区| 免费av在线网址| 亚洲女人天堂成人av在线| 亚洲乱码国产乱码精品精软件| 欧美中文一区二区三区| 国产成人在线观看网站| 亚洲欧美激情小说另类| avhd101老司机| 久久美女艺术照精彩视频福利播放| 中文字幕永久免费| 狠狠色丁香久久婷婷综| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 青青青国产精品| 日韩美女在线观看| 美女高潮视频在线看| 色综合视频一区中文字幕| 蜜桃视频在线观看www社区 | 中文字幕在线中文字幕在线中三区| 欧美成人免费在线观看| 麻豆传媒视频在线观看| 色综合伊人色综合网站| 超碰免费在线| 这里只有精品丝袜| av网站无病毒在线| 伊人久久久久久久久久久久久| 在线观看xxx| 亚洲激情国产精品| av女名字大全列表| 亚洲免费av片| 暖暖视频在线免费观看| 日韩精品在线视频观看| 五月婷婷在线播放| 日韩精品视频在线免费观看| 四虎永久在线观看| 亚洲精品午夜精品| 高清av在线| 色综合伊人色综合网| 米奇精品一区二区三区| 久久影院在线观看| 羞羞网站在线看| 欧美黑人视频一区| 成人免费图片免费观看| 91精品国产沙发| 日本在线啊啊| 国产精品成人aaaaa网站| 成人看片网页| 国产精品三级久久久久久电影| 久久日本片精品aaaaa国产| 成人福利视频在线观看| 激情不卡一区二区三区视频在线 | 国产精品亚洲二区| 亚洲高清乱码| 午夜精品网站| 国产美女网站在线观看| 久久久久99| 超碰成人在线播放| 国产黄色成人av| 搡老熟女老女人一区二区| 久久精品欧美日韩精品| 大地资源高清在线视频观看| 亚洲欧美日韩中文字幕一区二区三区| 久久久久久久黄色| 狠狠色香婷婷久久亚洲精品| 国产精品尤物视频| 日韩欧美资源站| 午夜一区在线观看| 日韩中文理论片| av有码在线观看| 国产免费成人av| 免费福利视频一区| 亚洲黄色一区二区三区| 欧美体内she精视频在线观看| 成人黄色av片| 久久www免费人成看片高清| 国产av一区二区三区传媒| 久久人人97超碰com| 免费成年人视频在线观看| 午夜激情一区二区| 国产精品久久777777换脸| 亚洲第一福利网| 求av网址在线观看| 51色欧美片视频在线观看| 亚洲精品一区二区在线播放∴| 国产精品久久波多野结衣| 精品国产1区| 人人妻人人做人人爽| 免费人成精品欧美精品| 小毛片在线观看| 亚洲欧洲日产国产综合网| aaa人片在线| 日韩三级电影网址| 69xxxx欧美| 1769国产精品| 日韩激情综合| 日韩精品久久一区二区三区| 亚洲特级毛片| 三区视频在线观看| 国产偷国产偷精品高清尤物| 九九视频在线观看| 欧美日韩亚洲综合一区| 天堂中文在线资| 欧美激情视频一区二区三区不卡 | 欧美综合国产| 精品久久久久久无码人妻| 中文字幕一区二区三区av| 欧美超碰在线观看| 精品无人区乱码1区2区3区在线 | 欧美伦理影视网| 欧美激情一级精品国产| 97久久精品一区二区三区的观看方式 | 国产丝袜在线视频| 色噜噜狠狠狠综合曰曰曰| 新片速递亚洲合集欧美合集| 国产九色精品| 精品91在线| 久久发布国产伦子伦精品| 国产精品成人午夜| 中文字幕激情视频| 亚洲午夜未删减在线观看| 亚洲天堂资源| 麻豆精品传媒视频| 国产偷自视频区视频一区二区| 蜜桃色一区二区三区| 一区二区三区四区视频精品免费 | 九九精品在线观看视频| 亚洲摸摸操操av| 国产美女精品视频国产| 日韩中文字幕在线| 成人不卡视频| 亚洲自拍三区| 麻豆91精品视频| 乱老熟女一区二区三区| 欧美精品99久久久**| 最新av网站在线观看 | 青青草精品视频在线| 成人综合激情网| 国产无套粉嫩白浆内谢| 亚洲国产精品系列| 美女的胸无遮挡在线观看| 久久久久久精| 久久久久久久欧美精品| 亚洲精品成人无码| 欧美视频在线一区| 尤物在线视频| 7777奇米亚洲综合久久| 国产精品jizz在线观看美国| 亚洲成人精品在线播放| 午夜影院久久久| 欧美69xxxxx| 91精品久久久久久久久久| 久久精品免费一区二区三区| 91亚洲一区二区| 亚洲福中文字幕伊人影院| 视频二区在线| 国产精品久久久久久一区二区| 日韩在线不卡| 国产老头和老头xxxx×| 精品国产福利视频| 国产黄色片在线播放| 91精品视频在线看| 国产综合网站| 亚洲国产av一区| 91精品在线观看入口| 日本乱理伦在线| 欧美日韩一区二区视频在线| 日本欧美一区二区| 黑鬼狂亚洲人videos| 亚洲丁香久久久| 国产91欧美| 真人抽搐一进一出视频| 久久久久久久久久久99999| 一卡二卡在线视频| 国内精品在线一区| 成人激情免费视频| 国产情侣久久久久aⅴ免费| 日本黄色一区二区| 色呦呦在线观看视频| 免费国产一区二区| 国产米奇在线777精品观看| 国产免费av一区| 久久伊人色综合| 在线观看欧美理论a影院| 亚洲一二区在线观看| 午夜精品爽啪视频| 九义人在线观看完整免费版电视剧| 国产精品久久7| 麻豆精品视频在线观看视频| 国产成人啪精品午夜在线观看| 国产亚洲综合久久| 国产成人福利av| 搡的我好爽在线观看免费视频| 色综合天天综合色综合av |