欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

PCIe事務(wù)層破譯:一次內(nèi)存讀請(qǐng)求的完整旅程

PCIe事務(wù)層破譯:一次內(nèi)存讀請(qǐng)求的完整旅程 寫(xiě)這個(gè)系列之前我一直在猶豫事務(wù)層協(xié)議到底該怎么講才不至于讓讀者背完一堆字段名、一上板子還是不知道該看哪里。寄存器、TLP類型、路由方式、流量控制每樣拆開(kāi)都能講幾個(gè)小時(shí)但拼在一起總是散。后來(lái)我換了個(gè)思路——既然PCIe存在的意義就是讓數(shù)據(jù)從A點(diǎn)到B點(diǎn)那不如就跟著一個(gè)內(nèi)存讀請(qǐng)求完整走一趟。從CPU執(zhí)行一條load指令開(kāi)始看它怎么變成一個(gè)TLP包穿越RC、Switch、鏈路層、對(duì)端的EP再帶著數(shù)據(jù)原路返回。這一趟走完事務(wù)層協(xié)議的那點(diǎn)骨架基本就立住了。這篇文章是系列的第二篇主題是事務(wù)層主角只有一個(gè)一次內(nèi)存讀MRd的完整旅程。適合正在調(diào)PCIe驅(qū)動(dòng)的Linux工程師、用FPGA做PCIe IP核的開(kāi)發(fā)者以及對(duì)PCIe協(xié)議停留在“知道概念、沒(méi)串起來(lái)”階段的人。1. 故事的起點(diǎn)一次內(nèi)存讀指令如何變成總線事務(wù)1.1 別把MMIO當(dāng)成“讀內(nèi)存”先從一個(gè)很基本的認(rèn)知開(kāi)始軟件里寫(xiě)一句data *(volatile uint32_t *)0x88001000;這條指令本身經(jīng)過(guò)CPU流水線之后并不會(huì)真的走到某個(gè)內(nèi)存顆粒里去取數(shù)。它要先去查MMU/TLB把虛擬地址翻譯成物理地址然后由CPU核心把這個(gè)物理地址的讀請(qǐng)求發(fā)給互連總線比如Intel的Mesh或AMD的Infinity Fabric最后送進(jìn)Root Complex。Root ComplexRC拿到這塊物理地址后問(wèn)自己一個(gè)問(wèn)題這個(gè)地址有沒(méi)有被映射到某個(gè)PCIe設(shè)備上怎么判斷的靠的是枚舉階段建立的地址映射。PCIe設(shè)備插入系統(tǒng)后軟件枚舉也就是網(wǎng)上常說(shuō)的“pcie枚舉過(guò)程”會(huì)給每個(gè)設(shè)備的BARBase Address Register分配一段地址空間。以Intel系統(tǒng)為例RC內(nèi)部維護(hù)著一張“出站地址窗口”O(jiān)utbound Window對(duì)照表物理地址落在哪個(gè)窗口就說(shuō)明要發(fā)往哪條下游鏈路、哪個(gè)設(shè)備。所以MMIO讀的本質(zhì)是CPU發(fā)起的讀請(qǐng)求到達(dá)RC后被翻譯成一個(gè)PCIe事務(wù)然后通過(guò)PCIe鏈路發(fā)出去。RC是CPU與PCIe樹(shù)之間的翻譯官它把CPU能理解的地址翻譯成PCIe世界能理解的TLP。1.2 一張全局地圖RC、Switch與EP的角色分工要把PCIe協(xié)議講明白拓?fù)涓拍罾@不開(kāi)。一個(gè)典型系統(tǒng)長(zhǎng)這樣Root Complex ├── 端口0連接NICBDF 01:00.0 ├── 端口1連接PCIe Switch上游口BDF 02:00.0 │ ├── 下游口A連接NVMe SSDBDF 03:00.0 │ └── 下游口B連接FPGABDF 04:00.0 └── 端口2連接顯卡BDF 05:00.0這里的BDF是Bus/Device/Function的縮寫(xiě)枚舉階段由軟件分配是PCIe世界里設(shè)備的“門(mén)牌號(hào)”。RC本身也有BDF不同的RC層設(shè)備、甚至RC的每個(gè)虛擬口都有獨(dú)立的BDF這決定了后續(xù)Completion包怎么回家。在這個(gè)地圖里角色分三種。RC是發(fā)起者負(fù)責(zé)代表CPU發(fā)請(qǐng)求EndpointEP是最終執(zhí)行者收到請(qǐng)求后訪問(wèn)自己的內(nèi)部資源、返回結(jié)果Switch是郵局不做業(yè)務(wù)只按路由規(guī)則把包轉(zhuǎn)給正確的端口。請(qǐng)記住這個(gè)郵局的比喻后面講路由時(shí)會(huì)反復(fù)用到。這里有個(gè)容易被忽略的點(diǎn)EP不是只能被動(dòng)接收。DMA場(chǎng)景里是EP自己發(fā)起MRd去讀系統(tǒng)內(nèi)存RC反而變成Completer。所以“發(fā)起者”和“完成者”不是固定身份而是針對(duì)某一次事務(wù)而言的。本文主線是CPU讀EP所以RC是RequesterEP是Completer。1.3 從CPU Load到TLP請(qǐng)求從哪里誕生的回到那行代碼。假設(shè)地址0x8800_1000落在上圖中FPGA的BAR0里枚舉時(shí)分配的范圍是0x8800_0000到0x8800_FFFF。RC收到讀請(qǐng)求后查窗口表發(fā)現(xiàn)目標(biāo)在端口1的Switch下游于是開(kāi)始構(gòu)造一個(gè)Memory Read請(qǐng)求MRd。構(gòu)造一個(gè)TLP需要什么信息目標(biāo)地址0x8800_1000、請(qǐng)求主體的IDRC自己的BDF通常是00:00.0一類、讀多少字節(jié)CPU這條load讀4字節(jié)即一個(gè)DW、以及給這個(gè)“在途請(qǐng)求”分配一個(gè)唯一的Tag編號(hào)。這就是事務(wù)層工作的精髓把CPU側(cè)簡(jiǎn)單的“讀這塊地址”翻譯成PCIe總線側(cè)標(biāo)準(zhǔn)化的、帶完整上下文的TLP。上下文信息包括“誰(shuí)發(fā)的、要讀哪里、讀多少、怎么標(biāo)識(shí)這次請(qǐng)求”沒(méi)有這些對(duì)端EP就算收到請(qǐng)求也無(wú)法答復(fù)就算答復(fù)了RC也不知道該把數(shù)據(jù)送回哪里、匹配給哪個(gè)CPU指令。2. 拆開(kāi)TLP事務(wù)層協(xié)議的基本句型2.1 TLP的總體輪廓頭、載荷、尾巴TLP是Transaction Layer Packet的縮寫(xiě)是事務(wù)層交換信息的基本單元。一個(gè)TLP由三部分組成TLP Prefix可選、TLP Header固定必須有、Data Payload部分類型才有以及可選的TLP Digest用于端到端CRC校驗(yàn)。你可以把TLP想象成快遞包裹Header是面單寫(xiě)著收件人和寄件人信息Data Payload是貨物本身Digest是貼在上面的防偽標(biāo)簽。對(duì)于一次內(nèi)存讀的MRd請(qǐng)求來(lái)說(shuō)它只有一個(gè)Header——貨物為空因?yàn)槟阒皇侨?wèn)別人要東西自己身上不用帶東西。真正帶數(shù)據(jù)的包頭在回程的CplD里。事務(wù)層和上下層的關(guān)系是事務(wù)層負(fù)責(zé)組裝/拆解TLP、做路由判斷和流量控制數(shù)據(jù)鏈路層在TLP前面加Sequence Number、在尾部加LCRC并負(fù)責(zé)ACK/NACK重傳物理層再把數(shù)據(jù)流拆成一個(gè)個(gè)字符Symbol做編碼、串行化發(fā)送。從語(yǔ)義角度你只需要記住TLP在發(fā)送方的事務(wù)層出生在對(duì)端的事務(wù)層才算真正死亡中間經(jīng)過(guò)的鏈路層和物理層只負(fù)責(zé)“運(yùn)輸”不修改TLP內(nèi)容。2.2 逐字段拆解MRd請(qǐng)求頭MRd請(qǐng)求的Header長(zhǎng)度可以是3DW32位地址或4DW64位地址。一個(gè)DW是4字節(jié)所以4DW就是16字節(jié)。本文例子用64位地址所以是4DW頭。Header最關(guān)鍵的是前兩個(gè)DW和地址字段我把關(guān)鍵字段拆開(kāi)講字段長(zhǎng)度作用例子值Fmt[1:0]2bit頭長(zhǎng)度和是否有載荷。MRd 64位是01表示4DW無(wú)數(shù)據(jù)01Type[4:0]5bit事務(wù)類型。MRd是0000000000TC[2:0]3bit流量類別默認(rèn)0用于VC映射000TD/EP2bitDigest是否存在、包是否被標(biāo)記為毒化0/0Attr[1:0]2bit排序/一致性屬性如Relaxed Ordering、No Snoop00Length[9:0]10bit數(shù)據(jù)載荷長(zhǎng)度單位是DW。讀4字節(jié)11Requester ID[15:0]16bit請(qǐng)求方BDFRC自己的門(mén)牌0000Tag[7:0]8bit請(qǐng)求標(biāo)簽用于匹配完成包2AFirst/Last DW BE8bit首尾DW的字節(jié)使能表示讀哪些字節(jié)F/FAddress[63:32]32bit目標(biāo)地址高32位0Address[31:2]30bit目標(biāo)地址低30位低2位恒為0DW對(duì)齊88001000綜合起來(lái)這批請(qǐng)求就是一個(gè)64位尋址的內(nèi)存讀請(qǐng)求目標(biāo)地址0x8800_1000讀取1個(gè)DW4字節(jié)由BDF 00:00.0的RC發(fā)起Tag編號(hào)420x2A。關(guān)于Tag多說(shuō)一句Tag是8位所以理論上一個(gè)Requester最多同時(shí)有256個(gè)“在途請(qǐng)求”。這個(gè)編號(hào)就是讓回程的CplD能對(duì)上號(hào)用的身份證。對(duì)CPU讀來(lái)說(shuō)RC要保證同一時(shí)刻每個(gè)未完成請(qǐng)求的Tag不重復(fù)這個(gè)在后面章節(jié)展開(kāi)。2.3 一個(gè)具體的MRd例子根據(jù)上面的字段構(gòu)造出來(lái)的一幀MRd報(bào)文十六進(jìn)制字節(jié)流大致長(zhǎng)這樣20 00 00 01 00 00 2A 0F 88 00 10 00 00 00 00 00我來(lái)逐個(gè)字節(jié)對(duì)上。20是Fmt01、Type00000拼出來(lái)的001 0000000代表TC0、TD0、EP0、Attr0000 01是Length表示1個(gè)DW00 00是Requester IDBDF00:00.02A是Tag0F是首尾字節(jié)使能都有效讀4字節(jié)全要后面的88 00 10 00 00 00 00 00就是64位地址0x00000000_88001000。這里不糾結(jié)抓包工具的大小端顯示差異你只需要建立起“字段和值能對(duì)上”的直覺(jué)。真正上手調(diào)試時(shí)看到一幀16字節(jié)的Header能一眼認(rèn)出這是不是MRd、目標(biāo)地址是什么、Tag是多少這個(gè)能力比背協(xié)議快得多。注意一個(gè)細(xì)節(jié)讀請(qǐng)求的Length和字節(jié)使能是配合使用的。Length告訴對(duì)端“這次總共要讀幾個(gè)DW”First/Last BE告訴對(duì)端“首尾DW里具體要哪幾個(gè)字節(jié)”。當(dāng)Length1時(shí)首尾BE都作用于同一個(gè)DW所以通常都寫(xiě)成有效。2.4 Length、MRRS與多DW讀請(qǐng)求的關(guān)系如果CPU一次讀8字節(jié)或者DMA一次讀128字節(jié)MRd的Length會(huì)相應(yīng)變大。但是Length不能無(wú)限大它要受MRRSMax Read Request Size約束。MRRS是PCIe設(shè)備能力寄存器里的一個(gè)參數(shù)常見(jiàn)值是128B、256B、512B、4KB。它規(guī)定了單個(gè)讀請(qǐng)求最多能請(qǐng)求多少數(shù)據(jù)超過(guò)就要拆成多個(gè)請(qǐng)求。舉個(gè)例子軟件想從EP讀取1KB數(shù)據(jù)MRRS是256B那么RC會(huì)拆成4個(gè)MRd請(qǐng)求每個(gè)請(qǐng)求Length64DW256字節(jié)分別分配不同的Tag。對(duì)端EP對(duì)這4個(gè)請(qǐng)求分別返回CplDRC再把4個(gè)響應(yīng)拼起來(lái)交給軟件。這個(gè)“拆”的過(guò)程對(duì)軟件透明但你在協(xié)議層抓包時(shí)看得清清楚楚。MRRS設(shè)得越大讀性能越好請(qǐng)求數(shù)量少、Tag占用少、完成包數(shù)量少但代價(jià)是EP側(cè)內(nèi)部的響應(yīng)邏輯復(fù)雜度上升、緩沖區(qū)要求變大。很多FPGA開(kāi)發(fā)者喜歡把MRRS設(shè)成128B來(lái)簡(jiǎn)化設(shè)計(jì)代價(jià)就是吞吐上不去。這個(gè)矛盾后面還會(huì)再提。3. 請(qǐng)求的下行之旅地址路由與層層轉(zhuǎn)發(fā)3.1 三種路由方式地址、ID、隱式MRd請(qǐng)求構(gòu)造好后從RC的端口發(fā)出去。在PCIe總線世界里一個(gè)包能不能準(zhǔn)確到達(dá)目標(biāo)取決于路由方式。一共三種地址路由Memory請(qǐng)求和IO請(qǐng)求用目標(biāo)地址來(lái)路由根據(jù)地址落在哪個(gè)設(shè)備的地址窗口決定走向。ID路由Completion請(qǐng)求和Configuration請(qǐng)求用BDF來(lái)路由根據(jù)Requester ID/Completer ID確定去向。隱式路由Message請(qǐng)求用系統(tǒng)約定好的特殊路由比如廣播給所有設(shè)備或只給RC不需要具體地址和ID。MRd屬于Memory請(qǐng)求所以用的是地址路由。這也是為什么讀請(qǐng)求的Header里必須攜帶完整的目標(biāo)地址——它是這一站一站路線的判斷依據(jù)。3.2 地址路由在Switch上的決策過(guò)程假設(shè)RC的端口1連著Switch而FPGA在Switch的下游口B。RC發(fā)出的MRd到達(dá)Switch的上游口后Switch內(nèi)部要做一次查表這個(gè)地址是不是我某個(gè)下游端口下設(shè)備的窗口這個(gè)表是怎么來(lái)的交換機(jī)內(nèi)部有多個(gè)橋Bridge每個(gè)下游端口對(duì)應(yīng)一個(gè)PCIe橋。枚舉時(shí)軟件通過(guò)配置這些橋的Base/Limit寄存器告訴Switch“哪個(gè)下游口負(fù)責(zé)哪一段地址區(qū)間”。比如上游口收到目標(biāo)地址0x8800_1000的包一查就知道要轉(zhuǎn)到下游口B因?yàn)镕PGA的BAR0窗口覆蓋了這個(gè)地址。如果地址不在任何下游端口的窗口里Switch會(huì)把它交給上游口繼續(xù)往上走對(duì)RC來(lái)說(shuō)就是回到更高層級(jí)的RC端口。如果一路都沒(méi)有設(shè)備認(rèn)領(lǐng)RC會(huì)收到一個(gè)URUnsupported Request錯(cuò)誤后面章節(jié)細(xì)說(shuō)。這個(gè)“查表轉(zhuǎn)發(fā)”的過(guò)程和網(wǎng)絡(luò)交換機(jī)的MAC地址表非常像只是PCIe交換機(jī)轉(zhuǎn)發(fā)的依據(jù)是地址窗口而不是MAC地址。理解了這一點(diǎn)很多路由問(wèn)題就變得很直觀。3.3 發(fā)送側(cè)的TLP沒(méi)被吃掉鏈路層和物理層做了什么MRd從RC的事務(wù)層“交給”數(shù)據(jù)鏈路層后事務(wù)層的使命就先暫停了。數(shù)據(jù)鏈路層給TLP加上一個(gè)序列號(hào)Sequence Number和LCRC校驗(yàn)值然后存到重傳緩沖區(qū)里。發(fā)送過(guò)程中如果對(duì)端的鏈路層發(fā)現(xiàn)LCRC錯(cuò)誤會(huì)回一個(gè)NACK發(fā)送方就從緩沖區(qū)里取出來(lái)重發(fā)如果收到ACK說(shuō)明包已經(jīng)安全到達(dá)緩沖區(qū)里的副本就可以釋放。再下一層是物理層。物理層把包加上一些定界符編碼后變成一串比特流通過(guò)SerDes差分對(duì)高速發(fā)出去。這個(gè)過(guò)程涉及8b/10b或128b/130b編碼、均衡Equalization就是熱詞里常出現(xiàn)的pcie均衡概念、時(shí)鐘恢復(fù)等。這些話題是鏈路層/物理層的主角與本文主線無(wú)關(guān)就不展開(kāi)了。有一個(gè)值得記住的點(diǎn)數(shù)據(jù)鏈路層只保證“包到了對(duì)端鏈路層”不感知TLP語(yǔ)義。它不知道這個(gè)包是讀請(qǐng)求還是寫(xiě)數(shù)據(jù)也不知道目標(biāo)是哪個(gè)EP。TLP只要過(guò)了LCRC校驗(yàn)就原樣交給對(duì)端事務(wù)層由事務(wù)層來(lái)做真正的路由裁決。3.4 接收端EP的解析流程與BAR匹配MRd到達(dá)FPGA的PCIe硬核后事務(wù)層開(kāi)始驗(yàn)收。流程可以拆成幾步第一步判斷這個(gè)包是不是發(fā)給自己的。FPGA的PCIe IP核對(duì)地址路由要做一次BAR匹配地址0x8800_1000落在BAR00x8800_0000~0x8800_FFFF范圍內(nèi)匹配成功接收如果落在所有BAR之外事務(wù)層必須立即生成一個(gè)錯(cuò)誤完成包UR送回給請(qǐng)求方絕不能默默丟棄。第二步檢查流控信用。FPGA內(nèi)部維護(hù)著接收緩沖區(qū)信用值如果MRd所需的非Posted信用不夠事務(wù)層會(huì)把這個(gè)包掛起等對(duì)端發(fā)來(lái)信用更新。這一步是防緩沖溢出的閘門(mén)。第三步把請(qǐng)求轉(zhuǎn)成內(nèi)部總線操作。FPGA一般會(huì)在PCIe硬核后面接一個(gè)AXI橋Xilinx/Intel的PCIe IP都這么做把MRd翻譯成AXI總線的讀地址通道請(qǐng)求。從地址偏移量和BAR基地址計(jì)算出內(nèi)部寄存器/內(nèi)存的偏移然后驅(qū)動(dòng)內(nèi)部邏輯把數(shù)據(jù)準(zhǔn)備好。這一步對(duì)FPGA開(kāi)發(fā)來(lái)說(shuō)是最容易出現(xiàn)問(wèn)題的環(huán)節(jié)——PCIe協(xié)議本身沒(méi)問(wèn)題但AXI橋的地址映射、讀響應(yīng)時(shí)序、跨時(shí)鐘域處理都可能讓事務(wù)層永遠(yuǎn)等不到數(shù)據(jù)。3.5 如果地址誰(shuí)都不認(rèn)UR和CAEP內(nèi)部訪問(wèn)目標(biāo)資源也可能失敗。比如地址映射到了EP內(nèi)部一段沒(méi)有實(shí)際存儲(chǔ)器的保留地址AXI端返回錯(cuò)誤。這時(shí)PCIe事務(wù)層會(huì)生成一個(gè)**Completer AbortCA**完成包告訴請(qǐng)求方“我認(rèn)了這個(gè)地址但我自己執(zhí)行失敗了”。UR和CA是兩種不同的錯(cuò)誤語(yǔ)義UR是“沒(méi)設(shè)備認(rèn)領(lǐng)這個(gè)請(qǐng)求”CA是“有設(shè)備認(rèn)領(lǐng)但執(zhí)行失敗”。板卡調(diào)試時(shí)看到這兩種錯(cuò)誤排查方向完全不同。UR優(yōu)先查地址映射、路由窗口、BAR配置CA優(yōu)先查EP內(nèi)部邏輯、AXI訪問(wèn)狀態(tài)。4. Completion的回程請(qǐng)求的后半段才是最復(fù)雜的4.1 EP如何裝配一個(gè)CplDFPGA內(nèi)部讀邏輯把4字節(jié)數(shù)據(jù)取回來(lái)后會(huì)交給PCIe事務(wù)層由事務(wù)層生成一個(gè)**Completion with DataCplD**包。CplD的Header也是3DW關(guān)鍵字段如下字段說(shuō)明Fmt/TypeCplD是010 01010表示3DW頭帶數(shù)據(jù)TC必須和發(fā)起請(qǐng)求的TC一致Completer ID填寫(xiě)EP自己的BDF如04:00.0Status成功是000UR是001CA是010Tag必須原樣回填請(qǐng)求里的TagByte Count本次完成包攜帶的字節(jié)數(shù)Lower Address本次返回?cái)?shù)據(jù)在請(qǐng)求起始地址中的低7位偏移注意一個(gè)命名坑Cpl Header里那個(gè)字段雖然叫“Requester ID”但對(duì)Completion來(lái)說(shuō)它填寫(xiě)的是Completer也就是EP自己的BDF。頭一次看協(xié)議的人很容易被這個(gè)字段名帶偏。這里要填你的門(mén)牌號(hào)不是RC的門(mén)牌號(hào)。CplD的載荷就是讀取到的數(shù)據(jù)按Length字段指示的DW數(shù)量搬運(yùn)。一次MRd如果可以返回全部數(shù)據(jù)就一個(gè)CplD完成如果數(shù)據(jù)量太大EP可以拆成多個(gè)CplD每個(gè)帶有自己的Byte Count和Lower Address方便RC重組。4.2 ID路由Completion不靠地址回家CplD沒(méi)有地址字段所以它不能用地址路由。它是靠ID路由回家的Switch在收到CplD時(shí)讀取Header里的Requester ID也就是RC的BDF查ID路由表看這個(gè)ID屬于哪個(gè)端口。舉個(gè)例子如果RC的Requester ID是00:00.0而CplD從FPGA返回到達(dá)Switch的下游口BSwitch一查ID路由表發(fā)現(xiàn)00:00.0在上游方向就把包轉(zhuǎn)到上游口送到RC的端口1。RC的端口1再根據(jù)ID和內(nèi)部端口映射把CplD交給負(fù)責(zé)CPU讀請(qǐng)求的那個(gè)RC部件。這解釋了為什么Enumuration階段BDF分配如此重要BDF不只是“門(mén)牌號(hào)”它本身就是路由表的一部分。如果枚舉時(shí)某個(gè)設(shè)備的BDF分配異?;蛘唑?qū)動(dòng)里讀到了虛假的Device ID那么后續(xù)的Completion路由就會(huì)跟著出錯(cuò)。另一個(gè)關(guān)鍵點(diǎn)當(dāng)系統(tǒng)里RC有多個(gè)端口時(shí)RC側(cè)自己也必須維護(hù)一個(gè)“ID→端口”的映射表否則CplD從哪個(gè)口回來(lái)、該交給哪個(gè)CPU核都有可能放錯(cuò)位置。4.3 RC側(cè)的解包Tag索引與“在途請(qǐng)求表”CplD到達(dá)RC事務(wù)層后接下來(lái)就是匹配過(guò)程。RC內(nèi)部維護(hù)著一張?jiān)谕菊?qǐng)求表Outstanding Request Table每個(gè)未完成的讀請(qǐng)求占一個(gè)表項(xiàng)表項(xiàng)的索引就是Tag。RC拿到CplD后先檢查T(mén)ag查表找到對(duì)應(yīng)請(qǐng)求再檢查Status和Byte Count把數(shù)據(jù)整理好轉(zhuǎn)成CPU總線能識(shí)別的讀返回?cái)?shù)據(jù)。對(duì)于多CplD的讀請(qǐng)求比如256B的MRd拆成兩個(gè)128B的CplD返回RC要一直等齊所有CplD才能結(jié)束這個(gè)表項(xiàng)、釋放Tag。釋放Tag很重要Tag不釋放這個(gè)“槽位”就永遠(yuǎn)占著后續(xù)新請(qǐng)求沒(méi)有Tag可用吞吐就會(huì)掉到地板。很多性能問(wèn)題的根因就在“Tag池被耗盡”。所以排除吞吐問(wèn)題的時(shí)候除了調(diào)MRRS/MPS記得看一眼在途請(qǐng)求深度有沒(méi)有打滿。4.4 拆包返回為什么一個(gè)讀請(qǐng)求可能拆成多個(gè)CplD同一個(gè)MRd請(qǐng)求EP可能發(fā)回多個(gè)CplD原因有幾種數(shù)據(jù)量超過(guò)MPSMax Payload Size。MPS規(guī)定了單個(gè)TLP最多攜帶多少字節(jié)載荷讀寫(xiě)都受此約束。如果請(qǐng)求了256B而MPS只有128BEP必須拆成兩個(gè)CplD。EP內(nèi)部生成數(shù)據(jù)的時(shí)間不連續(xù)比如從慢速接口取數(shù)可以先返回一部分之后再返回剩余部分。設(shè)備支持“任意字節(jié)數(shù)完成”不是一下子返回全部這是允許的只要最終所有CplD的Byte Count合計(jì)等于請(qǐng)求長(zhǎng)度。這些CplD可以亂序到達(dá)嗎可以。因?yàn)槊總€(gè)CplD都帶著Lower Address和Byte CountRC完全可以根據(jù)這兩個(gè)字段重組。這也是為什么協(xié)議里專門(mén)給CplD設(shè)計(jì)了這些字段而不是簡(jiǎn)單地按順序堆數(shù)據(jù)。多個(gè)不同請(qǐng)求的CplD返回順序也可以和請(qǐng)求順序不一致。RC靠Tag區(qū)分是哪個(gè)請(qǐng)求靠Byte Count重組順序不需要對(duì)端回來(lái)得整整齊齊。4.5 錯(cuò)誤完成的幾種面孔UR/CA/CRS速查Completion Status字段只有3位常見(jiàn)值如下Status值名稱含義000SC成功完成001UR不支持的請(qǐng)求地址無(wú)人認(rèn)領(lǐng)010CA完成者中止EP自己執(zhí)行失敗011CRS配置請(qǐng)求重試狀態(tài)EP還沒(méi)準(zhǔn)備好CRS比較特殊它只用于配置請(qǐng)求讀配置空間早期EP固件還在初始化時(shí)的情形。RC收到CRS后可能重試重試到超時(shí)后放棄。熱詞里提到的“pcie熱插拔功能”就和CRS有密切關(guān)系板卡剛插入、鏈路還在訓(xùn)練、EP的配置邏輯還沒(méi)起來(lái)時(shí)CRS是保護(hù)EP不被過(guò)早訪問(wèn)的機(jī)制。但對(duì)于內(nèi)存讀請(qǐng)求來(lái)說(shuō)標(biāo)準(zhǔn)規(guī)定不允許返回CRS一般都是UR/CA。拿到一個(gè)錯(cuò)誤完成包后RC事務(wù)層會(huì)把它記錄到AER錯(cuò)誤狀態(tài)里如果使能了Advanced Error ReportingCPU則可能收到一個(gè)Machine Check或NMI。Linux下調(diào)試時(shí)dmesg里看到“PCIE Bus Error: severityUncorrected, Unsupported Request”基本就是UR。5. 看不見(jiàn)的交通燈Tag、流控與并發(fā)限制5.1 Tag是飛行中請(qǐng)求的身份證前面已經(jīng)反復(fù)強(qiáng)調(diào)Tag的作用這里把它系統(tǒng)化。Tag是一個(gè)8位編號(hào)RC每發(fā)一個(gè)新讀請(qǐng)求就占一個(gè)Tag。在請(qǐng)求得到全部完成包之前這個(gè)Tag不能復(fù)用。所以RC的并發(fā)度Outstanding Requests上限是256。注意Tag分為非Posted請(qǐng)求和Completion兩類信用空間。實(shí)際控制芯片中RC可能限制Tag池更小比如某些Root Complex只支持幾十個(gè)在途請(qǐng)求。這就是為什么DMA性能高不上去的瓶頸有時(shí)在CPU側(cè)而不是設(shè)備側(cè)。對(duì)于FPGA的EP設(shè)計(jì)來(lái)說(shuō)Tag處理是個(gè)隱藏考點(diǎn)EP收到MRd時(shí)除了在CplD中回填Tag之外不需要為T(mén)ag做什么保留——RC才是Tag的所有者。但如果EP自己作為Requester發(fā)起DMA讀它就需要管理自己的Tag池了。5.2 流控信用額度維持的秩序流控Flow ControlFC是事務(wù)層另一個(gè)核心機(jī)制。可以把它理解成一條雙向的“備菜額度”發(fā)送方每發(fā)一個(gè)TLP就要消耗接收方給它預(yù)留的一個(gè)倉(cāng)位接收方處理完一個(gè)TLP后通過(guò)UpdateFC DLLP把額度返還。流控按事務(wù)類型獨(dú)立管理分三組PostedP、Non-PostedNP、CompletionCPL。每一組又分成Header信用和數(shù)據(jù)信用。MRd是Non-Posted請(qǐng)求消耗NP Header信用CplD是Completion消耗CPL Header和CPL Data信用。鏈接訓(xùn)練完成后兩端通過(guò)InitFC1/InitFC2 DLLP交換信用上限之后正常收發(fā)運(yùn)行時(shí)雙方都按額度來(lái)。信用一旦耗盡發(fā)送方必須等不能硬發(fā)。這就是為什么打高吞吐時(shí)會(huì)看到很多UpdateFC包來(lái)回飛——它們?cè)谘a(bǔ)充“倉(cāng)位”。流控死鎖是理論上的經(jīng)典問(wèn)題假如RC發(fā)出大量請(qǐng)求把EP的信用耗盡而EP必須靠發(fā)送CplD才能騰出信用同時(shí)CplD又被RC的接收窗口堵住兩邊就互相等。PCIe從協(xié)議層面和驅(qū)動(dòng)約束層面都做了設(shè)計(jì)防止這種死鎖工程師一般不用操心但調(diào)FPGA IP時(shí)如果看到“傳輸卡死在FC狀態(tài)”就要往這個(gè)方向想。5.3 Posted、Non-Posted與Completion是三條獨(dú)立車(chē)道PCIe事務(wù)按是否需要響應(yīng)分成三類這是理解事務(wù)層行為框架的基礎(chǔ)Posted事務(wù)發(fā)完即走不需要對(duì)端回復(fù)。典型是Memory WriteMWr。因?yàn)椴恍枰卮_認(rèn)Post的信用消耗小、效率高適合大流量寫(xiě)數(shù)據(jù)。Non-Posted事務(wù)需要對(duì)端回復(fù)。典型是MRd和IO請(qǐng)求。Completion事務(wù)是Non-Posted的響應(yīng)典型是Cpl/CplD。這三個(gè)類別在流控和排序上是獨(dú)立的。MWr不會(huì)被MRd阻塞在默認(rèn)排序規(guī)則下posted請(qǐng)求可以越過(guò)前面更早的non-posted請(qǐng)求只要不發(fā)生一致性沖突。這聽(tīng)起來(lái)違反直覺(jué)但這是PCIe為了不讓寫(xiě)操作被慢速讀拖住而特意設(shè)計(jì)的。CplD也有排序規(guī)則比如它不能無(wú)限期被后續(xù)的Posted Write超越其細(xì)節(jié)在PCIe Base Spec的Ordering章節(jié)里定義得非常細(xì)。我把排序規(guī)則的核心說(shuō)清楚保證的是數(shù)據(jù)一致性。一個(gè)設(shè)備發(fā)出MWr之后又發(fā)一個(gè)MRd如果MWr還沒(méi)到MRd先到對(duì)端讀到舊數(shù)據(jù)這顯然是錯(cuò)的。協(xié)議通過(guò)給每一類事務(wù)定義“能否越過(guò)其他事務(wù)”的規(guī)則來(lái)避免這種情況。調(diào)試時(shí)遇到讀回臟數(shù)據(jù)的詭異問(wèn)題別只查邏輯先把排序規(guī)則捋一遍。5.4 VC與TC給流量分專用的通道Virtual ChannelVC是流控的物理載體Traffic ClassTC是包的優(yōu)先級(jí)標(biāo)簽。默認(rèn)所有包都是TC0走VC0。TC0/VC0之外的VC需要顯式配置和初始化。為什么有VC因?yàn)镻CIe想讓不同類型流量物理隔離。比如視頻流的高帶寬低時(shí)延數(shù)據(jù)可以和普通CPU讀寫(xiě)走不同VC互不干擾。配置多VC要求每個(gè)VC做流控初始化、仲裁配置復(fù)雜度直線上升大多數(shù)系統(tǒng)只用VC0。對(duì)常見(jiàn)的主機(jī)CPU讀寫(xiě)場(chǎng)景TC/VC只是背景知識(shí)。但如果是做交換機(jī)/Switch芯片的或者嵌入式環(huán)境要做確定性時(shí)延的VC就是必修課了。本文點(diǎn)到為止。6. 現(xiàn)場(chǎng)排查內(nèi)存讀異常怎么抓6.1 現(xiàn)象一讀回來(lái)全FF像設(shè)備不存在板卡調(diào)試最經(jīng)典的場(chǎng)景CPU去讀BAR空間讀回來(lái)全是0xFFFFFFFF或者直接報(bào)UR。排查思路按下述順序來(lái)先確認(rèn)設(shè)備有沒(méi)有被枚舉成功lspci -vvv能不能看到設(shè)備BDF對(duì)不對(duì)確認(rèn)BAR有沒(méi)有被分配地址讀配置空間里的BAR寄存器是不是非零值BAR0的值是否和你期望的地址段一致確認(rèn)訪問(wèn)地址是否落在BAR范圍內(nèi)用setpci直接讀BAR然后手動(dòng)構(gòu)造一個(gè)落在BAR地址范圍內(nèi)的訪問(wèn)。確認(rèn)RC側(cè)有沒(méi)有對(duì)應(yīng)的出站映射對(duì)帶自定義RC的嵌入式平臺(tái)這一步特別容易漏。如果在Linux下看到“Unsupported Request”UOS錯(cuò)誤日志里通常能抓到端倪。用debugfs的aer或lspci -xxx看配置空間能讀到AER狀態(tài)寄存器里的錯(cuò)誤類型。UR的根源九成在地址映射路徑不對(duì)才是重點(diǎn)。6.2 現(xiàn)象二EP收到請(qǐng)求但一直沒(méi)完成如果EP側(cè)邏輯分析儀/ILA里已經(jīng)看到MRd進(jìn)來(lái)了地址也對(duì)但就是沒(méi)有CplD發(fā)回去問(wèn)題基本出在三個(gè)方面EP內(nèi)部AXI側(cè)卡住讀請(qǐng)求轉(zhuǎn)成AXI后讀數(shù)據(jù)通道永遠(yuǎn)沒(méi)有響應(yīng)。檢查AXI的ready/handshake、檢查被讀寄存器/內(nèi)存的復(fù)位狀態(tài)。流控信用耗盡EP的Completion信用沒(méi)有初始化或者被大量CplD占滿。查InitFC寄存器的值看RC有沒(méi)有分配信用。Tag/狀態(tài)機(jī)死鎖EP的狀態(tài)機(jī)設(shè)計(jì)不良比如要求所有CplD必須按特定順序返回但RC不配合。這里有個(gè)實(shí)用的建議用Xilinx/Intel PCIe IP核時(shí)強(qiáng)烈建議在IP核的事務(wù)層入口拉出AXI接口進(jìn)行觀測(cè)。把MRd變成一筆AXI讀請(qǐng)求的過(guò)程完全在AXI側(cè)可見(jiàn)問(wèn)題定位速度能快幾倍。6.3 現(xiàn)象三Switch拓?fù)湎侣酚墒到y(tǒng)里掛了Switch后問(wèn)題模式會(huì)變多。典型的一種是直接掛在RC端口上的設(shè)備讀寫(xiě)正常但Switch下游的設(shè)備讀不到。排查重點(diǎn)換到路由表上。Switch上游口的Bridge Base/Limit寄存器決定哪個(gè)地址范圍轉(zhuǎn)給下游ID路由表決定Completion回家方向。如果Switch固件或枚舉邏輯沒(méi)配好這些窗口Crossing的包就會(huì)走錯(cuò)路。另一個(gè)常見(jiàn)問(wèn)題是MPS/MRRS不一致。如果一個(gè)設(shè)備的MPS只有128B而RC發(fā)來(lái)的MRd長(zhǎng)度是256BMRRS256BEP會(huì)因?yàn)椤罢?qǐng)求長(zhǎng)度超過(guò)自己能處理的范圍”直接回UR或直接丟棄。檢查兩端的MPS/MRRS協(xié)商結(jié)果確保它們是一致的這是Switch環(huán)境下最容易忽略的坑。6.4 內(nèi)存讀故障速查表現(xiàn)象可能原因優(yōu)先排查項(xiàng)讀回全FF地址未映射/設(shè)備未枚舉lspci、配置空間BAR值UR錯(cuò)誤完成地址路由失敗/請(qǐng)求類型不支持RC出站窗口、EP BAR匹配CA錯(cuò)誤完成EP內(nèi)部訪問(wèn)失敗AXI側(cè)邏輯、EP內(nèi)部地址空間讀超時(shí)無(wú)完成信用不足/內(nèi)部忙/死鎖FC寄存器、ILA觀測(cè)AXI讀性能極低Tag池太少/MRRS太小在途請(qǐng)求深度、MRRS/MPSSwitch下讀失敗路由窗口未配對(duì)Bridge Base/Limit寄存器6.5 給FPGA開(kāi)發(fā)者和驅(qū)動(dòng)工程師的調(diào)試建議如果你是FPGA工程師兩條經(jīng)驗(yàn)最值得記住第一條把PCIe事務(wù)層的調(diào)試關(guān)口前移到AXI側(cè)。不要在物理層或鏈路層面糾結(jié)太久事務(wù)層做完BAR匹配后基本都會(huì)轉(zhuǎn)成AXI/Avalon接口。AXI上看到什么地址、什么長(zhǎng)度、什么響應(yīng)幾乎等價(jià)于協(xié)議層看到的TLP但調(diào)試起來(lái)直觀得多。ILA抓AXI總線比抓PCIe總線簡(jiǎn)單這是無(wú)數(shù)項(xiàng)目驗(yàn)證過(guò)的路徑。第二條Completion的構(gòu)造順序不要想當(dāng)然。有些IP核允許CplD亂序返回有些IP核內(nèi)部強(qiáng)制順序處理。如果是自己寫(xiě)事務(wù)層狀態(tài)機(jī)強(qiáng)烈建議先用最簡(jiǎn)單的“順序處理、一次返回全部數(shù)據(jù)”模式跑通再考慮拆分和亂序優(yōu)化。先把正確性做出來(lái)性能是后面的事。驅(qū)動(dòng)工程師則建議從Linux的lspci -vvv、setpci、/sys/bus/pci/devices/*/config這些基礎(chǔ)工具入手配合AER日志。遇到錯(cuò)誤不要先懷疑協(xié)議棧先把地址、BAR、路由、MPS/MRRS四個(gè)維度查一遍能解決九成問(wèn)題。寫(xiě)在最后我最初學(xué)PCIe事務(wù)層時(shí)犯的最大錯(cuò)誤是把注意力全部放在TLP類型和字段上背得很熟但完全不知道一個(gè)包從發(fā)出到返回中間每一步是怎么串起來(lái)的。后來(lái)開(kāi)始跟著一個(gè)讀請(qǐng)求走完整條路——從CPU地址到RC查表、到Switch路由、到EP讀寫(xiě)、到CplD返回、到RC靠Tag匹配——整個(gè)協(xié)議才真正在腦子里立體起來(lái)。這篇寫(xiě)得比較長(zhǎng)就是把這條路走完整、走清楚。下一篇打算講Memory Write的完整旅程或者反過(guò)來(lái)從EP發(fā)起DMA讀主機(jī)內(nèi)存的角度把角色互換講一遍。這兩個(gè)方向都值得仔細(xì)展開(kāi)。如果你在實(shí)際調(diào)板時(shí)也踩過(guò)什么玄學(xué)坑比如MPS不匹配導(dǎo)致的詭異UR、Tag池打滿后的性能雪崩歡迎來(lái)交流。調(diào)試經(jīng)驗(yàn)這東西多聊一次就少一個(gè)半夜對(duì)著邏輯分析儀發(fā)愣的人。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天日综合| 五月激情啪啪啪| 在线成人国产| 色婷婷丁香五月| 亚洲久久婷婷丁香五月天| BlACKEDRAW视频一区二区| 六九色综合婷婷五月天| 人人添人人| 激情五月天色色色| 国产精品第一国产精品| www.日日夜夜.com| 丁香六月激情综合| 米奇影视五月天| 日韩日比视频| WWW色色色COM| 欧美色片中文字幕久久久久| 色综合伊人网| 涩综合网| 六月激情网| 热热久久精品视频| 日韩999| 国产成人精品一区二区三区视频| 色99网| 思思热精品免费视频| 色婷六月| 丁香婷婷色情| 人妻激情视频| 91人人妻人人操| 八戒青柠影视剧在线观看| 人妻激情在线| 综合性爱网| 九九爱看亚洲| www激情网| 丁香五月激情啪啪| AV电影在线播放| 日韩成人综合| 中文字幕性爱视频| 成人一区在线观看| 欧美亚洲成人在线| 色九月婷婷丁香| 伊人九九68| 色婷婷在线视频| 丁香五月婷婷综合激情哟哟哟| √天堂资源在线人妻熟女| 丁香五月天中文字幕| 在线综合婷婷| 色五月综合婷婷| 美妞av| 婷婷的99视频网站| 丁香激情五月综合网| 五月丁香婷婷久久| 激情com| 99久久婷婷| 青青草99热久久精品国| 成人网址在线观看| 丁香六月婷婷久久综合八月| 99热这里有精品6| 色婷婷久久| 人妻久热| 天天爱天天做天天舔| 婷婷激情中文综合| 五月丁香啪啪综合网| 日日射天天射| 五月婷婷视频在线观看| 色吧五月| av国产精品| 色综合色色| 激情五月综合亚洲另类| 亚洲精品a成人在线播放| 婷婷五月丁香亚洲| 婷婷五月色综合| 97干欧美| 伊人超碰| 五月天婷婷操逼视频| 在线观看免费狠狠色丁香香综合| 婷婷深爱五月天| 色婷婷五月在线| 五月色网| 91久久人人操| 亚洲无码播放| 五月丁香六月婷婷亚洲视频| 五月丁香久久综合| 久久性都花花世界成人免费视频| 99碰网站| 欧美黑人巨大猛烈cuckold| 色婷婷伦理| 五月综合色播播丁香婷婷| 日日操夜夜骑| 国产亚洲成AV人片在线观黄桃| 熟女强人妻一区二区三区四区无| 婷婷欧美激情综合| 成年人99热| 婷婷成人五月天成人文学| 九九久久99精品免费观看www| 亚洲中文乱字字幕在线永久| 婷婷五月欧美AA片免费| 亚洲国产精品成人免费一区久久久在线观看AAAA | 丁香婷婷偷拍| www.99日本| 五月色网| 久久与婷婷| 这里只有在线精品| 最新av在线观看| 丁香五月影院| 成人电影一区| 操97免费超级视频| YW无码| 久草五月婷婷| 丁香五月天在线观看| 五月婷婷深深爱| 亚洲色婷婷| AV在线二十六页| 九九av| 99热免| 开心激情婷婷| 91精品91久久久中77777久久玖玖九九 | 亚洲视频在线网站| 婷婷五月天成人在线视频| 天天成人综合视频| 五月天激情小说| AAA久久久AAA久久久AAA| www.色婷婷。com| av色婷婷| 婷婷五月天激情小说| 五月丁香久久久| av大香蕉| 国産精品| 91免费看片| 午夜不卡久久精品无码免费| 伍月婷婷免费视频| 九九色色| 26UUU| 九九热在线观看视频| 婷婷色色网| 久久精品婷婷五月丁香| 青青草原伊人网| 久久44| 婷婷色五月婷婷姐妹| 91婷婷丁香五月| 色色色九九九五月婷婷| 婷婷五月天99| 婷婷影视久久| 青青草原99热| 五月色丁香婷婷综合| 99热精品少| 色三级色三级| 67194国产| 六月色婷婷| 色九月综合| 五月色无码| 丁香成人五月天| 超碰不卡在线| 激情五月丁香五月| 无码一区二区三区四区五区| 26uuu国产| 久久久思思热| 亚洲日韩乱码一区二区三区四区| 激情婷婷狠狠干| 三人荫蒂添的好舒服A片| 天天天操天天天爰| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 超碰超碰在线| 丁香五月天导航| www.婷婷| 色婷婷五月天激情久久| 成人超碰网| 亚洲色色爱| 激情婷婷丁香| 五月丁激情| 色色五月婷| 婷婷丁香五月天综合AV| 亚洲乱码日产精品BD| 天天粽合合合合| 国产人妻777人伦精品HD| 五月婷婷天天色| 精品一二三区久久AAA片| 欧美情月伍月天| 天天综合色| 这里只有视频精品| 久久爱综合| 亚洲男女激情| 99热这里只有99| 五月综合色| 婷婷久久夜| 曰本久久女| 色播五月婷婷五月| 综合久久99| 国产精品久久久久久久久久| 亚洲精品大片| 五月丁香啪啪啪免费看| 99久久婷婷综合| 超碰人人干| 色色操| 亚洲欧洲中文日韩久久AV乱码| 五月丁香六月合| 北条麻妃伊人 | 琪琪狠狠干| 五月丁香性| 性生活视频98791| 九九这里都是精品| 五月色天情| 91丨九色|PRNY熟妇| 五月丁香av中文| 狠狠色婷婷7| 亚洲久久天堂| 桃色五月天| 丰满人妻一区三区三区| 色婷婷在线播放| 嫩BBB搡BBBB榛BBBB| 婷婷干五月综合在线播放| 久久亚洲无码| 亚洲色图五月丁香五月婷婷| 国产精品色色| 狠狠做婷婷| 国产精品A片| 色色色地址| 日本乱子人伦在线视频| 97色婷| av人人操| 色婷婷综合五月| 久久精品91视频| 国产成人精品一区二三区熟女在线| 这里只有精品免费| www.色五月天.com| 五月熟妇婷婷久久| 俺也去婷婷五月天第五色| OYIWbGcPu8H| 五月天婷婷激情小说电影| 99热在线观看免费| 六月婷五月丁香| 五月婷婷久久大香蕉| 亚洲第一成人无码A片| 操操天堂| 久久婷婷91| 狠狠狠狠狠操| 丁香欧美| 狠狠色 综合色区| 色10月婷婷视频| ady狠狠入| 最近中文字幕2019视频1| 久操大| 丁香五月综合在线视频| 激情五月天色婷婷综合| 五月色丁香国产在线视频| 亚洲一级色电影| 欧美黄色一级| 婷婷激情五月天桃花网| 六月色丁香婷婷| 久久五月婷| 欧洲亚洲免费视频9| 久久精品视频在这里有| 婷婷精品综合| 亚洲另类噜噜| 国语精品探花| 色五月婷婷五月天激情综合| 九九热在线视频观看| 精品九九视频| 五月丁香婷婷俺| 丁香五月婷婷激情视频播放| 五月成人综合| 欧美性爱五月天| a久久免费视频| 五月天激情婷婷丁香| 综合逼五月激情婷婷| 婷婷丁香色五月亚洲| 丁香婷婷色| 丁香 亚洲 久久| 亚洲成人av在线观看| 色噜噜丁香| 国产亚洲精品久久久久苍井松| 777精品久无码人妻蜜桃| 26uuu精品国产| 99热在线观看| 天天爽天天| 99在线免费观看| 欧美成人精品A片免费一区99| www激情| 五月婷婷在线视频| 男女啪啪做爰高潮无遮挡| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 天天爽爽日日做做| 99re热| AV成人在线播放| 色噜噜狠狠色综合无码久久欧美| 97久久草草超级碰碰碰| 亚洲国产无线乱码在线观看| BBWCUCKOLD精品熟妇 | www.亚洲激情| 五月婷婷婷丁香播| 中文av网站| 思思热视频| 天天日日夜夜| 日噜噜色| 婷婷丁香五另类网站| 狠狠爱综合网| 美女婷婷六月色| 26UUU在线观看| 综合激情网激情五月。| 丁香五月欧美成人| 激情四射亚洲| 99热e| 另类色视频| 久久婷婷五月草视频| 亚洲色无码| www.色婷婷| 婷婷色在线观看| 亚洲妇女熟BBW| 亚洲超碰中文字幕| 中文字幕黄色片| 综合xx网| 天天插天天干| 蜜臀久久99精品久久久久久酒店| 97色色婷婷五月天| 婷婷成人丁香色情基地30 | 99热在线看片| 天堂伊人干| 无码九九九九| 五月婷色丁香| 色五月婷婷综合| 五月丁香六月片| 日韩在线成人电影| 五月丁香色婷婷熟女| 狠狠色噜噜狠狠| 91狠狠色丁香婷婷综合久久| 狠狠色丁香久久婷婷综合五月| 综合激情伊人影视在线| 五月婷婷婷婷| 最新无码专区| 久久久久久草黄色片AV在线观看| 亚洲人人操| 五月天激情四射| 思思99热这里只有精品6| 天天天天干| 亚洲V国产V欧美V久久久久久| 人妻中文字幕网| 激情五月天之六月婷婷| 六月婷婷综合| 99色综合网| 日日舔夜夜操| 久久密臀婷婷| 婷婷五月综合在线视频| 五月天综合| 91人操| 性天天中文网| 任你躁XXXXX麻豆精品| 在线中文字幕视频| 婷婷久久久久| xxxx久| 色婷婷丁香香香蕉视频| 丁香六月天婷婷色| 五月天婷婷伊人| 99re6久热只有精品6在线直播| 区啪精品| 免费亚洲婷婷五月| 日韩另类在线观看| 色噜噜狠狠色综无码久久合欧美| 野外99热| 中文av网| 五月丁香久久呀| 九九婷婷网五月天| 91AV视频| 能看的av| 久久99久久99精品免观看粉| 色综合com| 啪啪99| 91啪啪网| 婷婷精品在线| 思思热在线精品视频| 日本久久高清| 这里只有国产精品在线| 色婷婷电影| 66成人网| 天天综合在线网| 婷婷第一页| 狠狠xx| av一区二区电影免费在线观看| 天天射天天射一道本日本社区| 99色综合| 丁香五月天视频在线播放| 免费观看全黄做爰的视频| 天天人人天天爽| 91综合在线| 66久久视频在线| 777精品久无码人妻蜜桃| 婷婷五月天在线观看av| W色综合| 99热这里只有是亚洲国产| 日日夜夜九九| 色色五月婷婷久久| 最新日本A片| 九九精品热| 天天噜天天爱| 人人操大| 天天做天天爱天天高潮| 日韩操| 99热在线爱| 亚洲六月色婷婷| 激情五月天久久丁香| 午夜少妇在线观看视频| 亚洲另类视频| 91精品婷婷国产综合久久| 色五月五月婷婷| 色五月天天| 九一九九黄色| 97婷婷色| 天天精品视频免费观看| 婷婷五月天激情网| 色五月噜噜| 九色视频91疯狂| 99r这里只有精品哦| 丁香婷婷人妻综合网| 色婷婷综合久久| 中文AV网| 色播播之激情五月婷婷| 伊人玖玖网| 夜夜谢天天干| 五月天综合久久| 99色这里| 玖玖五月| 欧美色激情四射| 玖玖午夜视频| 丁香五月六月欧美| 婷婷五月天在线看| 五月色亚洲| 无码少妇高潮喷水A片免费| 五月天婷婷色综合| 亚洲久久婷婷| 99视频这里只有免费精品| 亚洲AV日韩AV永久无码网站| 黑人糟蹋人妻HD中文字幕| 人人操av| 天天色综合网1| 东京热免费视频| 九九色插| 欧美成人在线观看| 99这里有精品| 婷婷综合网| 婷婷久久综合久色| 99热在线这里只有精品| 99er国产| 久久草人妻| 亚洲人妻电影| 丁香五月婷婷亚洲天堂| 久久全意婷婷| 国自产拍偷拍精品啪啪一区二区| 97干在线视频| 天堂中文国产| 色欲影香| 日本狠狠干| 五月天婷婷视频30| 国产片色| 99热这里有精品2| 桃色五月婷婷| 婷婷在线观看五月天在线视频| 7777精品伊人久久久大香线蕉最新版| a毛片二逼wwwwwwwwww| 嫩BBB搡BBBB榛BBBB| 97综合在线| 色色色热| 99无码视频| 婷婷五月天激情综合深爱激情| 婷婷国产日本欧美| 国产va在线视频| 五月丁香六月久久| 天天日天天狠狠操| 性爱AV天堂| 99热精品在线播放| 久久丁香| 婷婷五六月丁香| 婷婷丁香五月天综合AV| 婷婷五六月丁香| 婷婷五月激情的图片| 综合久久高清| 99久久精| 插插干干干色| 丁香婷婷啪啪啪| 五月天成人手机在线视频| 五月天婷婷久色| 天天插天天日天天爽| 天天色天天干天天插| 亚洲激情淫网| 巴基斯坦粉嫩无码视频| 天天爽天天摸| 久久婷婷视频| 五月婷婷五月天天| 婷婷丁香五月高清| 成人网址在线观看| 色婷婷激情| 91狠狠综合久久久久久| 婷婷丁香无码专区| 九月久久婷婷| 婷婷激情丁香五月天综合| 婷婷丁香77777| VA国产在线综合网站| 精品无码av丁香五月激情| 激情小说五月丁香在线视频观看视频| 翔田千里无码| 婷婷五月天电影区小说区| 婷婷五月天黄色小说| 国内外色色色色色成人视频| 无码啪啪| 丁香激情网| 色婷婷综合网站| 五月天激情视频五月天| 激情综合五月开心狠狠| 六月丁香五月婷婷| 乱乱av| 日本色色视频| 丁香五月天激情| 色婷婷色五月另类综合| 99热这里只有精品 搜| 亚洲综合色网| 涩五月婷婷| 精品成人在线| 亚洲超碰在线| 亚洲色色色色| 麻豆雪千夏| 国产毛片欧美毛片久久久| 狠狠色综合图片| 色吊丝永久访问网址| 激情美女五月天| 婷婷五月天六月| 五月天丁香| 亚洲乱码日产精品BD| 色婷婷AV在线观看| 免费视频舔| 色播播五月| 玖玖精品视频| 久久九九一區| 日日撸天天干| 亚洲欧美婷婷五月色综合| 乱岳熟女50岁| WWW.99热| 欧美成人网99网| 天天干夜夜谢| 97碰碰视频| yazhouzonghesese| 丁香五月欧美激情| 五月天激情黄色网址| 天天五月香欧美| 色色色免费视频| 99精品网| 亚洲欧洲国产精品| 五月成人天| 综合色久| 久久三级视频| 国色天香成人网| 5月婷婷激情在线| 亚洲另类AV| tingtingcaobi| 毛片新网地| 五月天婷婷中文字幕在线播放| 激情五月婷婷视频一区二区三区| 亚洲妇女熟BBW| 操99| 五月天激情国产综合婷婷婷| 成人龟情网丁香五月| 九九热只有这里精品| 99热综合| 夫妻超碰在线| 亚洲色 视频| 婷婷五月综合社区| 五月婷婷精品视频| 日夜夜久久| 99精品在线| 久久视频66| 九九热10| 五月天色综合| 97在线视频人妻九色| www.99热精品99.com| 亚洲在线综合| 五月天之色情综合网| 另类小说婷婷色| 91色久| 丁香九月综合| 成人婷99最新| 婷婷激情九月| 色五月激情网| 五月丁香999| 日本一级特黄大片AAAAA级| 六月婷婷AV| 久久色这里只有精品| 777精品久无码人妻蜜桃| 包操45分钟网站| 婷婷五月情| 97碰碰电影| 天天天天操| 狠狠色九月| 狠狠干婷婷| 亚洲 欧洲 国产 伦综合| 综合激情深爱| 激情av网| 五月丁香久久网| 国产av基地| 成人在线日韩| 亚洲激情99| 亚洲乱码日产精品BD在线观看 | 久久6这里只有精品| 五月天婷婷基地| 香蕉综合在线| 婷婷丁香五月综合| 六月色丁香中文字幕| 欧美大肥婆大肥BBBBB| 亚色网站小视频| 中文字幕日本最新乱码视频| 这里只有精品69| 婷婷综合在线视频| 另类天堂| 第四色婷婷五月| 婷婷亚州综合| 思思精品视频| 五月天成人在线| 五月婷天堂视频| 丁香婷婷五月色成人网站| 色五月综合网| 婷婷狠狠综合网入口| 五月天久久综合婷婷丁香| 日本在线视频看se99| 天天操天天操天天操天天操天天操| 天天综合亚洲综合网天天αⅴ| 精品人妻在线免费观看| 丁香五月手机在线| 天天插天天很| 久久五月婷综合| 婷婷综合一二三| 丁香五月激情婷婷视频| 男人的天堂在线婷婷| 99热在线看片| 综合视频五月| 色色色综合网| 91久久人人操| 少妇高潮A片无套内谢麻豆传| 色五开心五月五月深深爱| 色五月婷婷操逼| 亚洲天堂色| 亚洲色图45p| 爱99干99| 天天肏视频| 色色日韩无码| 五月丁香久久网| 久久月天堂| 香蕉久久国产AV一区二区| 五月激情在线| 久久精品视频9| 电影爱拉战争免费观看| 久久久久久久久99精品| 精品一区二区三区免费毛片爱| 丁香五月天啪啪| 天天搞夜夜六| 丁香五月婷婷六月婷婷| 天天综合色丁香| 成人网在线观看视频| 激情综合无码| 五月婷婷六月丁香在线视频免费在线观看| 九九婷婷五月天影视| 爆乳熟妇一区二区三区爆乳照片| 五月丁香婷婷老司机| BBWCUCKOLD精品熟妇| 六月丁香啪啪| 四色永久成人网站| 大香蕉久久婷婷精品综合| 我爱va亚洲va52| 开心久久五月天| 亚洲性爱电影| 1024成人在线观看| 一区二区无码视频| 久久se 综合网| 99啪啪| 国产激情视频在线观看| 超碰97干| 99re热在线观看| 欧美25p| 天天情色综合网| 丁香五月香蕉在线| 色~性~乱~伦~噜| Caop在线| 日本WWW九九九| 九九热99久久99| 九九视频在线观看视频6| 这里只有精品视频免费在线观看| 天天噜日日噜综合无码| VA色婷婷| 超碰成人免费| 丁香六月激情综合| 五月丁香色综合| 婷婷激情六月天视频| 国产探花一片区| 久热99视频在线观看| 97日韩无套内| 丁香五月婷婷图片综合| 婷婷婷婷婷婷婷婷婷婷丁香| 七七色综合| 六月婷婷操逼| 97人碰人操| 99热草草| YW无码| 五月丁香九九| 五月丁香性爱| 操操操av| WWW.开心五月天.COM| 丁香五月六月久久综合| 狠狠久久婷五月综合色| 欧美英丁香开心快乐六月天网| 丁香激情婷婷网| 99热在线成人网站| 五月丁香综合激情| 色色射| 欧美99| 123日本不卡在线| 五月丁香六月婷婷综合| wwww.色婷婷| 啪色综合| 激情丁香久久| dingxiangtingtingliuyue| 熟女激情五月天 | 五月天久草| 亚洲六月综合激情久久下卡| 9久热在线精品| 成人av播放| 思思热在线观看| 久久久久久五月天| 色五月大| 99亚洲综合| 婷婷五月天伦理| 国产另类综合| 中文字幕AV在线| 成人日韩欧美| 操精品9| 99精品综合视频| 丁香成人五月天| 国产肥白大熟妇BBBB视频| 操碰99在线视频观看| 天堂资源欧日浪女在线播放| 婷婷六月开心网| 久久婷婷五月综合色丁香| 亚洲天堂热| 久久色六月| 人伦30P| 精品色色网| 91黄操| 在线精品97| 色啪影院| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 日韩AV在线免费| 96精品久久久久久久久| 免费的日逼视频| 天天做天天爽| 人人摸人人操人人爱| 天天综合精品| 九九热青青草| 丁香五月婷婷动漫视频| 色欲婷婷五月天丁香| 成人国产欧美大片一区| 操操操操操操婷婷五月天| 亚洲欧美一区二区三区爱爱动图 | 丁香六月婷婷综合激情欧美 | 久热婷婷| 国产日韩亚洲欧美在线观看| 亚洲中文字幕av| 伊人五月天久久| 亚洲人妻一区二区| 狠狠色噜噜狠狠狠狠综合| 2017人人操| 五月婷婷激清网| 天天干天天爽| 亚洲综合九九| 草五月| 婷婷五月色播天| 91丨九色丨大屁股| 丁香五月天啪啪激情综合网| 涩涩五月天| 日本久热| 激情另类综合| 99ri视频在线播放| 色偷偷五月天| 婷婷五月激情综合啪啪| 天天噜噜| 九九99九九精品视频| 色五月婷婷777| 少妇丁香婷婷 | www.99热国产| 五月丁综合在线观看| 人妻久久久久久久 | www激情五月天| 色婷婷很很丝袜| 色性五月天| www.seqingwuyuetian| 激情五月天色爱| 老美AA片| 五月丁香伊人网| 黄色三级毛片中字| 五月天激情中文字幕| 五月天电影网| 色综天天综合| 国产 码在线成人网站| 就要去操亚洲成人精品五月天丁香婷婷| 婷婷五月天久久久| 欧美日韩一a.无| 99视频在线| 影音先锋色色色资源色资源色| 丁香婷婷色五月| 日韩色色色色色| 天天干天天干天天操| 色五月激情网| 丁香五月综合| 天天综合图片| 五月丁香在线| www.狠狠干com| 婷婷综合在线网| 五月婷婷激情综合网 | 五月丁香六月婷婷亚洲视频| 中文AⅤ大全| 狠狠xx| 五月天婷综合| 99操| 激情五月婷婷欧美极品| 亚洲日韩乱码一区二区三区四区 | 丁香五月综合网亚洲综合欧美狠狠| 五月丁香另类网| 天天干一干| 超碰av在线| 亚洲妇女熟BBW| 色婷视频| 97操碰人人| 五月丁香六月婷婷久久肏| 色色丁香五月天社区| 91丨九色丨东北熟女| 久久这里只有精品22| 久久久大香蕉| 六月婷婷色色色| 婷婷五月另类网站| 成人五月天在线观看| 婷婷伊人激情婷婷| 五月天婷婷色播在线网| 99在线观看| 黄色91在线观看| 婷婷精品在线| 五月天国产成人| 人人干天天舔| 91丨九色丨国产| 99热新网址| 综合婷婷六月| 久久婷婷激情四射五月天| 激情伊人五月天| 久久五月婷天天干| 丁香九月婷婷综合| 男同91| 激情婷婷五月天| 色色色综合视频| 狠狠色综合网站久久久久| 九九热在线精品| 五月婷婷在线播放| 91岛国片| 五月婷婷六月丁香| 精品九九视频在线观看| 影音先锋五月天婷婷丁香在线观看| 丁香色成人| 五月欧美色色五月| 内射综合网| 有码一区二区三区| 99在线观看精品视频| 五月天久久网站| 久热这里只精品| 色yeye欧美| 精品一二三区久久AAA片| 99综合网| 五月婷丁香亚洲| 五月天国产成人| 91婷婷在线观看| 嫩草AV久久伊人妇女超级A| 99热热这里只精品996小说| wWwCom夜操wwW| 99热碰碰| 在线中文字幕免费视频| 91狠狠色丁香婷婷综合久久| 91免费看片| 九九在线这里只有精品视频| 草美女在线观看视频在线播放| 狼人婷婷久久| 六月丁香婷婷综合影院| 狠狠噪| 精品一区二区三区四区五区六区| 99在线视频精品| 婷婷丁香五月在线播放| Va另类视频| 第2色五月婷| 五月婷婷AV| 九九干视频| 伊人影院久久网| 51精品国自产在线| 五月丁香亭亭| 丁香五月欧美| 五月天激情亚洲| 日本在线视频播放91| 五月天激情久久| 日本成人噜噜| 天天插天天干天天舔| 色播丁香五月婷婷操:屄| 好好干Av| 韩日在线熟女| 做爱夜夜干天天操| 精品在线| 色五月丁香五月激情五月激情| 超碰在线免费| 狠狠操综合| 殴美日比视频| 九九热黄色| 在线中文字幕视频| 婷婷亚洲色| 五月开心婷婷网| 高清无码.com| 夜夜爽天天| 97五月天| 99色综合| 大香蕉在九| 丁香花社区av| Www.se.久久| 日韩AV中文字幕在线| 99久久国产综合精品五月天喷水\| 免费无码毛片一区二区A片 | 综合五月激情网| 99性视频| 色婷婷六月天| 九九黄色网| 99ri在线视频| 色色9 9| 亚州第一A片| 激情九月婷婷| www.精品99| 日韩欧美一级大黄网站| 五月婷婷六月婷| 99热这里只有精品8| 丁香五月欧美色综合| 超碰成人电影| 99色综合网| 丁香婷婷啪啪| 欧美性爱专区| 激情人妻综合| 五月天无码视屏播放| 五月婷婷九月婷婷九月婷婷| 婷婷六月色开 | 天天日天天插天天操| 五月天伊人日日噜影片AV| 中文网av| 99re热视频这里只精品| 成人午夜天| 久久九九一區| 网色99| 人妻操操色| 激情视频综合| 超碰99在线| 人人爽欧美婷婷久久久五月丁香 | 五月天开心网| 五月天社区| 久久狠婷婷| 香蕉久久国产AV一区二区| 婷婷六月天精品| 亚洲无码99| 五月天婷婷成人网| 五月天色色色色色| 婷婷日在线观看| 十月色综合| 久久怕怕视频| 一本狠婷婷综合| 成人做爰A片免费看网站找不到了| 激情六月五月婷婷综合网| 五月天激情国产综合婷婷| 五月天婷婷色| www.91在线观看| 婷婷五月丁香基| 日韩人妻无码精品| 午夜伊人大香蕉| 久9热| 黄色激情五月天| 五月婷婷综合激情| 97色啪| 久久一二三视频| 亚洲无码99| 极品人妻VIDEOSSS人妻| 婷婷五月综合在线| 五月天六月婷| 国产AV一区二区三区日韩| 黑人无码一区| 俺去也在线视频| 亚洲操操操| 香蕉操亚洲| 79色色色色| 国产精品久久久久久久久久| 欧美色图天堂网| 五月天激情图片| 亚洲中文字幕在线电影| 亚洲久热| 天天综合五月天| 五月丁香六月综合图| 91精品熟女| 久久久婷婷婷| 色婷婷婷婷| 99久热视频在线| 色色色综合视频| 婷婷五月天av| YJLZZJLZZ亚洲乱熟无码| 婷婷爱五月| 强伦轩人妻一区二区电影| 日本丁香久在线| 亚洲六月婷婷| 婷婷激情综合色五月久久91| 停停五月天激情网| 中文字幕免费高清电视剧| 噜噜色五月| 欧美日韩999| 丁香五月婷婷基地| 67194成I人在线观看线路1| 国产综合久久久777777| 亚洲色网址| 色开心五月婷婷丁香HD| 日日爱激情| 久久小说| 久久成人天| 伊人九热| 在线可以看的av网址| 日韩一级| 深爱激情69热| 日韩有码久久| 天天爽夜夜爽夜夜爽精品视频 | 亚州性爱99| 国产免费一区二区三州老师F1……| 新久久五月天激情| 99热视精品| 欧美婷婷九月| 丁香六月激情| 国产成人综合在线| 五月婷在线观看| 婷婷五月成人| 久婷| 超碰精品在线| 男妓跪趴把舌头伸进我的嘴巴| 九色PORNY自拍成人精彩视频| 九月婷婷色色| 91九色精品熟女内射| 99热都是精品| 亚洲综合草草| 直接看的AV| 啪啪啪五月天| 97人人操人人插| 色五月激情五月天| 97黑人精品区| 91碰碰| 五月天综合区| 永久天堂日本| 丰满人妻一区二区三区| 丁香蜜臀黄色婷婷五月天| 色五月综合在线| 婷婷色五月激情| 国产AV一区二区三区日韩| 五月丁香婷婷中文网| 无码人妻丰满熟妇奶水区码| 欧美丁香六月在线观看视频| 色.五月综合网| 五月丁香色色综合| 真实的国产乱XXXX在线91| 亭亭五月丁香五月天激情| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 啪啪综合网| 国产毛多水多女人A片| 九九爱激情| 激情五月综合| 五月激情丁香啪啪| 亚洲啪啪视频| site:ornaments52.com| 69精品人人人人人人| 九九久久综合| 九九视频这里有精品| 国产67194| 草久私拍| 激情五月小说婷婷| 热思思| 丁香婷婷啪啪| 第四色色色色色丁香五月天| 婷婷金品综合视频| 99热精品在线观看| 亚洲AV久久久久久久久久久久久久久久| 五月激情偷拍婷婷| 超碰不卡在线| 丁香五月婷婷国产av| 丁香 久久| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 免费国产视频| 国产性爱在线| 国产成人+综合亚洲+天堂| 六月丁香激情综合| 99视频色在线观看| 26uuu视频欧美| 99视频精品全部免费 在线| 六月婷婷AV| 99热精品在线| 婷婷五月天AV在线| 久久精品视频9| 免费黄色片子| 丁香婷婷综合色五月激情国产基地| 在线日韩视频| 五月丁香另类图片| 人人操超踫| 久久久中文| 人人操大| 思思re最新视频| 婷婷成人视频| 亚洲综合另类| 五月丁香花开综合网| 99精品视频免费在线播放| 亚洲色色五月| www.色色色com| 天天做天天爱| 久久伦乱| 五月天婷婷成人网| 婷婷玉月丁香五月在线视频| 激情四射五月天| 超碰97免费在线| 欧美五月婷婷综合| 男女啪啪做爰高潮无遮挡| 丁香九月婷婷| 国产激情在线| 七七色色综合| 婷婷成人五月天成人文学小说| 夜夜做天天爽| 一夜福利不卡| 成人av免费观看| 三级三久久线久久99久目本WW| 九月色婷婷综合| 人人综合色| 人妻有码乱操| 亚洲色图欧美色图日本视频| 免费看欧美成人A片无码| 狠狠色综合网| 五月色婷婷中文字幕| 五月色丁香| 亚洲综合五月天婷婷丁香| 丁香五月婷久久| 五月婷婷中文| 婷婷亚洲欧美丁香五月| 五月婷婷丁香瑟瑟视频| 婷婷丁香五月色| 人妻久久久久久久 | 色色色婷婷五月| 91丁香| 亚洲4区国产欧美| 六月婷婷最新网址| 国产精品天天狠天天看| 粉嫩AV久久一区二区三区| 国产又黄又爽又色的免费| 97天堂| 国产亚洲精品AAAAAAA片| 五月日韩中文字幕| 国产成人亚洲综合A∨婷婷| 婷婷在线播放| 无遮羞AV| 亚洲精级| 久久久jd| 91AV视频| 99啪啪网| 人妻性爱av网站| 色五月开心婷婷| 9999热精品在线免费播放| 色色色色色色97| 色色五月婷婷丁香| 婷婷狠狠操| 亚洲激情网| 人妻中文在线| 伊人在线视频| 婷婷丁香五月天色色| 五月婷婷黄| 九九亚洲综合| 人人妻人人澡| 五月婷婷色播视频| 狠狠干激情五月| 五月激情丁香五月宗合| 色五月天本日| 激情婷婷久久| 伊人激情影院| 久久性都花花世界成人免费视频 | 99成人| 可以直接看的av| 99热在线观看| 丁香婷婷婷五月综合色情| 成人五月丁香社区| 精品国产va久| 99色精品| 色婷婷婷婷| 国产肥白大熟妇BBBB视频| 黄色一极大片| 五月色在线| 第一区久久网站| 91爱操| A短视频免费在线观看| 成人在线观看一区| 天天摸,天天爽| 婷婷五月天久久久| 婷婷色在线观看| yirenjiqingshiping| 色婷婷成人网| 五月激情综合五月| 婷婷少妇激情| 国产精产国品一二三在观看| 五月婷婷精品| 激情五月综亚网| 99精品综合视频| 国产成人精品一区二三区熟女在线| 99热高清在线| 色琪琪一综合久久激情五月视频| 26UUU成人网| 91视频精品99| 五月丁香婷婷啪啪| 激情国产综合| 五月丁香在线精品| 99久久婷婷| 婷婷久久爱| 91热er| 五月婷婷五月天| 丁香五月香蕉| 欧美大道不卡| 丁香五月停停av| 可以免费观看的av| 99热在线爱| 色色网站免费观看| 九九久久综合| Www99热| 五月丁香婷婷综合视频| AA片在线观看视频在线播放| 久久婷婷久久| cc精品国产性传播| 4399啪啪视频| 激情文学 综合 色| 99久久婷婷五月综合| 999精品久久久久久久| 六月丁香射婷婷欧美色图片| 五月天婷婷免费| 97日本在线| 天天干夜夜想| 亚洲情综合五月天| 九九综合久久丁香婷婷,开心激情综合网| 久操福利| 激情综合色婷婷啪啪五月天| 日本熟女视频一区二区| 综合激情五月天| 九伊人网| 九九精品在线观看视频6| 综合色、色综合| 久久五月丁香综合17C| 五月婷在线| 91九色中文| 激情五月天婷婷| 人妻六月天| 婷婷六月伊人| 激情综合五月丁香六月婷婷| 99久在线精品99re8| 日日夜夜干| 五月婷婷婷综合网| 久久9精品视频| 日韩美女羞羞网站在线观看| 丁香五月婷在线观看| 久久日本wwww色| 丁香丝袜五月| 99燥99日| 婷婷丁香综合| 婷婷五月综合网激情| 五月激情偷拍| 青草青草久9视频在线视频|