亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        服務(wù)器啟動過程設(shè)備檢測信息顯示功能模塊化

        2024-01-23 15:19:30鄭媛孫建英康艷麗
        現(xiàn)代信息科技 2023年23期
        關(guān)鍵詞:模塊化

        鄭媛 孫建英 康艷麗

        摘? 要:在服務(wù)器開機(jī)啟動過程中時,BIOS會進(jìn)行上電自檢,對主板部件和接入設(shè)備進(jìn)行檢測,以確保硬件設(shè)備正常運(yùn)行。但在實際應(yīng)用中,因為檢測信息的顯示方式和內(nèi)容的限制,會給用戶檢查設(shè)備健康狀態(tài)帶來不便。服務(wù)器BIOS啟動過程設(shè)備檢測信息顯示功能模塊化,可以將服務(wù)器啟動過程中各階段設(shè)備信息,設(shè)備檢測信息及設(shè)備故障原因信息進(jìn)行收集,實現(xiàn)更直觀、更詳細(xì)的設(shè)備檢測信息顯示。功能模塊化既便于BIOS代碼的維護(hù),也利于用戶及時通過啟動過程了解到設(shè)備信息及健康狀態(tài),提高用戶使用便利性。

        關(guān)鍵詞:服務(wù)器;BIOS;啟動過程;設(shè)備檢測;信息顯示;模塊化

        中圖分類號:TP368.5? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)23-0061-04

        Modularization of the Device Detection Information Display Function during the Server Startup Procedure

        ZHENG Yuan1, SUN Jianying2, KANG Yanli1

        (1.Inspur Electronic Information Industry Co., Ltd., Ji'nan? 250101, China;

        2.Inspur (Shandong) Computer Technology Co., Ltd., Ji'nan? 250101, China)

        Abstract: During the server startup procedure, the BIOS will perform a power-on self-test to detect the motherboard components and access devices to ensure the normal operation of the hardware devices. However, in the practical application, due to the limitation of the display mode and content of the detection information, it will be inconvenient for the user to check the health status of the devices. The devices detection information display function of the server BIOS startup procedure is modularized, and the devices information, devices detection information, and devices failure cause information at each stage of the server startup procedure can be collected to achieve more intuitive and detailed device detection information display. The function modularization is not only convenient for the maintenance of the BIOS code, but also beneficial for the user to know the device information and health status through the startup procedure in time. It improves the convenience of the user.

        Keywords: server; BIOS; startup procedure; device detection; information display; modularization

        0? 引? 言

        在服務(wù)器的硬件系統(tǒng)中,基本輸入輸出系統(tǒng)(Basic Input Output System, BIOS)作為固化到計算機(jī)主板一個ROM芯片上的程序,起到了重要的作用。它是一組固件,實現(xiàn)服務(wù)器上電開機(jī)啟動過程對主板上的處理器(CPU)、內(nèi)存、芯片組(Chipset)、PCIE設(shè)備,各種輸入輸出設(shè)備的初始化,以及提供基本的輸入輸出(I/O)功能。在服務(wù)器開機(jī)時,BIOS 會進(jìn)行硬件檢測并顯示檢測信息,以確保硬件設(shè)備正常。但在實際應(yīng)用中,因為檢測信息的顯示方式和內(nèi)容的限制,會給用戶檢查設(shè)備健康狀態(tài)帶來不便,往往無法及時發(fā)現(xiàn)或定位問題。因此,如何改進(jìn)服務(wù)器啟動過程中設(shè)備檢測信息顯示功能,提高其可用性,顯得尤為重要。

        1? BIOS啟動過程

        目前服務(wù)器BIOS的啟動過程遵循統(tǒng)一可擴(kuò)展固件接口[1](Unified Extensible Firmware Interface, UEFI)平臺初始化標(biāo)準(zhǔn)規(guī)范,分為7個階段[2]:

        1)安全驗證階段(Security, SEC),UEFI BIOS啟動的第一個階段,主要任務(wù)有處理系統(tǒng)上電和重啟;創(chuàng)建緩存(Cache)作為臨時內(nèi)存,讓啟動程序先運(yùn)行在ROM上;提供安全信息可信鏈[3]的根;將系統(tǒng)參數(shù)傳遞給到下一個階段。

        2)在EFI前期初始化階段(Pre-EFI Initialization, PEI),UEFI BIOS啟動程序從ROM執(zhí)行轉(zhuǎn)向到內(nèi)存執(zhí)行,同時會對一系列主板硬件設(shè)備進(jìn)行早期初始化,處理器(CPU),芯片組(Chipset),內(nèi)存控制器,I/O控制器等,并準(zhǔn)備HOB(Hand-Off Block)[4]數(shù)據(jù)列表,為后面DXE階段準(zhǔn)備執(zhí)行環(huán)境。

        3)驅(qū)動執(zhí)行環(huán)境階段(Driver Execution Environment, DXE),執(zhí)行啟動過程中大部分的系統(tǒng)初始化工作,負(fù)責(zé)初始化處理器(CPU),芯片組(Chipset),內(nèi)存,PCIE設(shè)備等,為硬件提供驅(qū)動程序。

        4)啟動設(shè)備選擇階段(Boot Device Selection, BDS)負(fù)責(zé)發(fā)現(xiàn)每個啟動設(shè)備,并執(zhí)行啟動策略。

        5)操作系統(tǒng)加載階段(Transient System Load, TSL)將系統(tǒng)控制器轉(zhuǎn)移給操作系統(tǒng)的中間階段。

        6)運(yùn)行時階段(Runtime, RT)為操作系統(tǒng)運(yùn)行階段。

        7)災(zāi)難恢復(fù)階段(After Life, AL)。

        1.1? BIOS上電自檢過程

        BIOS啟動過程上電自檢(Power On Self Test, POST)[5]階段主要是指SEC,PEI,DXE,BDS階段,對個主板部件設(shè)備進(jìn)行初始化和檢測。以英特爾X86服務(wù)器為例,BIOS啟動的PEI階段和DXE階段會使用英特爾RC(Reference Code)參考代碼對關(guān)鍵部件CPU處理器,芯片組PCH(Platform Controller Hub),內(nèi)存等進(jìn)行初始化。其中CPU初始化,包括CPU微碼加載檢測,CPU信息讀取,CPU相關(guān)功能寄存器設(shè)置,CPU早期故障檢測,CPU和CPU互聯(lián)超級通道互連(Ultra Path Interconnect, UPI)鏈路檢測,處理器集成IO PCIE根端口(Root Port)帶寬分配,啟動處理器集成IO PCIE根端口鏈路訓(xùn)練;PCH芯片組初始化;內(nèi)存檢測,內(nèi)存訓(xùn)練,內(nèi)存測試等內(nèi)存相關(guān)初始化;英特爾RC參考代碼執(zhí)行之后,BIOS還會進(jìn)行PCIE設(shè)備枚舉,USB等設(shè)備檢測;DXE階段后期顯示器屏幕點(diǎn)亮,屏幕顯示熱鍵快捷信息,系統(tǒng)信息,BDS階段加載啟動項,之后啟動到系統(tǒng)。

        1.2? 啟動過程中設(shè)備檢測現(xiàn)狀

        BIOS對主板部件和設(shè)備的檢測主要分布在啟動過程的PEI和DXE階段多個代碼函數(shù)中,設(shè)備信息和檢測過程都比較分散。之前BIOS代碼部件設(shè)備信息收集都是在各階段BIOS源代碼中打補(bǔ)丁的方式,主板部件及設(shè)備檢測結(jié)果大部分都是在各階段通過增加功能函數(shù)將檢測失敗的結(jié)果通過KCS[6]接口上報給服務(wù)器帶外管理固件基板管理控制器[6](Baseboard Management Controller, BMC),記錄到BMC的SEL[7]日志中。例如,如果內(nèi)存檢測和訓(xùn)練出現(xiàn)失敗情況,通過封裝IPMI[8]命令按照SEL日志命令格式,經(jīng)KCS接口發(fā)送給帶外管理固件BMC進(jìn)行上報。用戶只能通過登錄BMC Web界面或者系統(tǒng)使用IPMI工具命令查看SEL日志內(nèi)容,不能直觀了解當(dāng)前服務(wù)器部件健康情況。目前啟動過程中也只有部分關(guān)鍵設(shè)備的信息顯示,信息顯示的功能代碼,也是在顯示源代碼中修改實現(xiàn)。

        服務(wù)器研發(fā)階段BIOS源代碼隨英特爾RC參考代碼迭代升級比較頻繁,每次都需要將補(bǔ)丁代碼再重新導(dǎo)入源代碼中,有大量重復(fù)工作,有時候會出現(xiàn)人為疏忽導(dǎo)致補(bǔ)丁代碼遺漏情況。另外目前主流服務(wù)器多是提供部件信息,部件檢測情況沒有顯示,也不便于客戶直觀了解到設(shè)備運(yùn)行情況。所以通過設(shè)計實現(xiàn)BIOS啟動過程設(shè)備信息及設(shè)備檢測信息顯示模塊化功能,對各部件設(shè)備信息的收集及各階段設(shè)備檢測結(jié)果進(jìn)行整合,并通過功能模塊化對設(shè)備檢測信息集中顯示。

        2? 設(shè)備信息檢測模塊構(gòu)建

        為了實現(xiàn)服務(wù)器啟動過程設(shè)備檢測信息顯示功能模塊化功能,需要對BIOS源程序進(jìn)行修改和更新,構(gòu)建獨(dú)立設(shè)備檢測功能模塊,命令為OemPOSTInfo模塊,該模塊主要實現(xiàn)將分散在BIOS啟動過程PEI階段和DXE階段的設(shè)備信息及檢測信息結(jié)果整合,并在DXE階段將設(shè)備檢測信息及故障原因進(jìn)行集中顯示。

        2.1? 設(shè)備信息檢測的模塊組成

        OemPOSTInfo的模塊主要文件組成如下:

        OemPOSTInfo的模塊按照UEFI BIOS模塊架構(gòu)定義,模塊類型為:ModulePart,該模塊主要包括一個OemPOSTInfo.h, OemPOSTPeiInfo.inf和OemPOSTDxeInfo.inf兩個INF(Information File)[9]工程文件包,OemPOSTPeiInfo.inf文件包主要包含OemPOSTPeiInfo.c文件,OemPOSTDxeInfo.inf文件包主要包含OemPOSTDxeInfo.c文件。

        2.1.1? 結(jié)構(gòu)體文件設(shè)計

        OemPOSTInfo.h主要是定義所要收集設(shè)備信息和設(shè)備診斷信息的結(jié)構(gòu)體,以及HOB(Hand-Off Block)數(shù)據(jù)結(jié)構(gòu)體用于PEI和DXE階段數(shù)據(jù)傳遞。具體結(jié)構(gòu)體內(nèi)容如下:

        1)服務(wù)產(chǎn)品信息結(jié)構(gòu)體:服務(wù)器廠商,服務(wù)器型號。

        2)CPU信息結(jié)構(gòu)體:CPU的型號,CPU個數(shù),CPU的頻率,CPU的核數(shù),CPU步進(jìn)(Stepping)信

        息,CPU微碼版本等。CPU檢測結(jié)果結(jié)構(gòu)體:檢測結(jié)果PASS(成功)或Fail(失?。?,檢測失敗CPU位置,檢測失敗原因:CPU型號不匹配,CPU BIST自檢失敗,微碼加載失敗等。

        3)UPI信息結(jié)構(gòu)體:UPI端口互聯(lián)個數(shù),UPI帶寬,UPI速率;UPI鏈路檢測結(jié)果結(jié)構(gòu)體:檢測結(jié)果PASS(成功)或Fail(失敗),給出UPI鏈路檢測失敗原因,UPI鏈路降速,UPI鏈路降帶寬等。

        4)內(nèi)存信息結(jié)構(gòu)體:內(nèi)存廠商,內(nèi)存型號,內(nèi)存容量,內(nèi)存?zhèn)€數(shù),內(nèi)存標(biāo)稱速率,內(nèi)存當(dāng)前速率等;內(nèi)存檢測結(jié)果結(jié)構(gòu)體:檢測結(jié)果PASS(成功)或Fail(失?。?,報錯內(nèi)存位置,內(nèi)存報錯錯誤代碼,內(nèi)存報錯原因。

        5)ME(Management Engine)信息結(jié)構(gòu)體:英特爾SPS的版本,ME運(yùn)行狀態(tài)(operation狀態(tài)還是recovery狀態(tài));ME檢測結(jié)果結(jié)構(gòu)體:ME自檢結(jié)果PASS(成功)或Fail(失?。琈E自檢失敗的原因。

        6)BMC信息結(jié)構(gòu)體:BMC版本,BMC??贗P地址,共享口IP地址;BMC檢測結(jié)果結(jié)構(gòu)體:BMC自檢結(jié)果PASS(成功)或Fail(失敗),BMC自檢失敗原因。

        7)SATA硬盤信息結(jié)構(gòu)體:硬盤廠家,硬盤型號,硬盤個數(shù),硬盤的容量。

        8)PCIE設(shè)備信息結(jié)構(gòu)體:PCIe設(shè)備的BDF(Bus,

        Device,F(xiàn)unction,總線號,設(shè)備號,功能號),PCIE

        設(shè)備廠家,PCIE設(shè)備型號,PCIE設(shè)備帶寬,PCIE設(shè)備速率。PCIE設(shè)備檢測結(jié)果結(jié)構(gòu)體:檢結(jié)果PASS(成功)或Fail(失?。琍CIE設(shè)備檢測原因:PCIe設(shè)備丟卡,PCIe設(shè)備降速,降帶寬等。

        部分結(jié)構(gòu)體構(gòu)建展示如圖1和圖2所示。

        2.1.2? PEI階段文件設(shè)計

        OemPOSTPeiInfo.inf工程文件包類型是PEIM,運(yùn)

        行在PEI階段,文件包中的主要文件是OemPOSTPeiInfo.c文件,該文件函數(shù)主要實現(xiàn)收集PEI階段CPU檢測信息,UPI信息及檢測信息,ME運(yùn)行狀態(tài)信息等,通過創(chuàng)建HOB函數(shù),將這些設(shè)備信息和故障診斷信息,更新到OemPOSTInfo.h定義的HOB數(shù)據(jù)結(jié)構(gòu)體中,用于傳遞到下一個DXE階段。

        2.1.3? DXE階段文件設(shè)計

        OemPOSTDxeInfo.inf工程文件包類型是DXE_DRIVER,運(yùn)行在DXE階段,文件包主要文件是OemPOSTDxeInfo.c文件,該文件按設(shè)備來創(chuàng)建函數(shù),每個函數(shù)分為設(shè)備信息收集,設(shè)備檢測信息和診斷信息收集,設(shè)備信息和檢測信息結(jié)果通過調(diào)用封裝的DisplayPostMessage()函數(shù)在BIOS啟動過程POST界面顯示。例如,文件中CPUPostInfo()函數(shù),由獲取設(shè)備信息子函數(shù)GetCPUInfo()將讀取CPU資產(chǎn)信息更新到CPU信息結(jié)構(gòu)體,GetCPUPeiInfo()子函數(shù)通過調(diào)用GetHob函數(shù)獲取PEI階段CPU檢測信息,更新到CPU檢測結(jié)構(gòu)體,DisplayCPUInfo()通過調(diào)用封裝的DisplayPostMessage()函數(shù)將CPU信息顯示在BIOS啟動過程POST界面,其他設(shè)備信息檢測函數(shù)功能類似,具體功能實現(xiàn)下面進(jìn)行詳細(xì)介紹。

        2.2? 信息檢測模塊功能實現(xiàn)

        各部件設(shè)備信息及檢測信息,故障原因收集的具體實現(xiàn)方法如下:

        BIOS通過讀取SMBIOS Table表收集CPU和內(nèi)存設(shè)備資產(chǎn)信息。SMBIOS(System Management BIOS)

        是主板或者系統(tǒng)制造廠商以標(biāo)準(zhǔn)格式顯示產(chǎn)品信息所遵循的統(tǒng)一規(guī)范,在BIOS POST界面顯示階段,CPU和內(nèi)存資產(chǎn)信息已經(jīng)更新到SMBIOS Type 4[10](CPU信息),Type 7[10](內(nèi)存信息)中,所以我們可以通過編寫函數(shù),直接從SMBIOS表中讀取CPU和內(nèi)存設(shè)備資產(chǎn)信息,更新到OemPOSTInfo.h定義CPU和內(nèi)存信息結(jié)構(gòu)體中。

        在DXE階段OemPOSTDxeInfo.c文件各設(shè)備函數(shù)中,CPU檢測信息,UPI信息及檢測信息,ME運(yùn)行狀態(tài)信息等,是通過GetHob函數(shù)讀取BIOS在PEI階段通過存入HOB數(shù)據(jù)結(jié)構(gòu)體更新到OemPOSTInfo.h定義設(shè)備信息結(jié)構(gòu)體中。

        BIOS還通過和設(shè)備接口交互獲取設(shè)備資產(chǎn)信息,在OemPOSTDxeInfo.c文件各設(shè)備函數(shù)更新到OemPOSTInfo.h定義信息結(jié)構(gòu)體中。例如通過跟ME HECI接口獲取ME版本信息;通過IPMI命令跟BMC KCS接口獲取BMC版本,BMC網(wǎng)絡(luò)IP地址,BMC自檢結(jié)果;通過PCIE設(shè)備配置空間,獲取PCIE設(shè)備廠商,設(shè)備型號信息,當(dāng)前運(yùn)行帶寬和運(yùn)行速率,檢測PCIE設(shè)備是否有出現(xiàn)降速降帶寬等;通過SATA接口讀取接入硬盤數(shù)量,硬盤廠商,型號,容量信息等。

        通過定義pcd全局變量,將處理器集成IO PCIE根端口(Root Port)鏈路訓(xùn)練失敗,導(dǎo)致PCIe設(shè)備丟卡的根端口BDF信息,通過SetPcd函數(shù)設(shè)置到已定義的pcdPCIeLinkFail全局變量中,在OemPOSTDxeInfo.c文件PciePostInfo()函數(shù)中通過GetPcd函數(shù)獲取pcd全局變量值,更新到OemPOSTInfo.h定義信息結(jié)構(gòu)體中。

        在定義的每個部件設(shè)備信息檢測顯示函數(shù)中,最后都需要將更新到各結(jié)構(gòu)體中的數(shù)據(jù)轉(zhuǎn)換成Unicode格式字符串,通過調(diào)用封裝的DisplayPostMessage()函數(shù)在BIOS啟動過程顯示到POST界面。

        模塊執(zhí)行流程圖如圖3所示,BIOS啟動階段截圖如圖4所示。

        2.3? 信息檢測模塊功能應(yīng)用

        目前設(shè)備信息檢測模塊在研發(fā)階段通過編譯和調(diào)試后已增加到BIOS源代碼中,升級后的BIOS版本已發(fā)布給到測試部門。測試部門經(jīng)過測試驗證,升級后的BIOS版本已經(jīng)應(yīng)用到部分服務(wù)器項目,功能正常運(yùn)行。內(nèi)部測試部門經(jīng)過測試反饋,新增的設(shè)備信息檢測模塊可以幫助測試部門在測試過程中更方便,直觀地看到當(dāng)前服務(wù)器設(shè)備的運(yùn)行健康狀態(tài),設(shè)備出現(xiàn)檢測失敗,可以及時排查產(chǎn)生失敗原因。

        3? 結(jié)? 論

        設(shè)備檢測信息模塊實現(xiàn)BIOS啟動過程設(shè)備信息及設(shè)備檢測信息顯示功能模塊化,功能的模塊化利于BIOS代碼的維護(hù),避免每次BIOS源代碼升級在源文件中打補(bǔ)丁的方式,同時減少重復(fù)工作,可以避免人為疏忽導(dǎo)致補(bǔ)丁代碼遺漏情況,提高工作效率。

        設(shè)備檢測信息模塊實現(xiàn)了服務(wù)器啟動過程更詳細(xì)的設(shè)備信息及檢測信息顯示,并給出設(shè)備檢測失敗的原因,便于用戶在服務(wù)器啟動階段更直觀地了解各部件設(shè)備的健康狀態(tài),對故障設(shè)備及時處理,提高了用戶的使用便利性。

        參考文獻(xiàn):

        [1] Unified EFI Forum. Unified Extensible Firmware Interface Specification Version 2.7 [EB/OL].(2023-03-09).http://www.uefi.org.

        [2] 戴正華.UEFI原理與編程 [M].北京:機(jī)械工業(yè)出版社,2015.

        [3] 周振柳,李銘,翟偉斌,等.基于UEFI的可信BIOS研究與實現(xiàn) [J].計算機(jī)工程,2008,34(8):174-176.

        [4] 羅冰.UEFI編程實踐 [M].北京:機(jī)械工業(yè)出版社,2021.

        [5] 韓山秀,樊曉椏,張盛兵,等.BIOS的設(shè)計與實現(xiàn) [J].微電子學(xué)與計算機(jī),2005,22(11):113-120.

        [6] 汪濤.服務(wù)器基本輸入輸出系統(tǒng)和基板管理控制器之間紅魚接口的設(shè)計實現(xiàn) [J].信息記錄材料,2022,23(3):154-156.

        [7] 楊金穎,高文煒,羅雪等.基于VPX平臺的國產(chǎn)BMC設(shè)計與實現(xiàn) [J].微電子學(xué)與計算機(jī),2021,38(8):80-86.

        [8] IPMI. Intelligent Platform Management Interface Specification Second Generation v2.0 Revision 1.0 [EB/OL].[2023-04-12].https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/ipmi-addenda-errata-clarifications-e7-2nd-gen-spec-v2-0-rev-1-0-1-1-spec-update.pdf.

        [9] SourceForge. EDK II Module Information (INF) File Specification Revision 1.24 [EB/OL].[2023-04-16].https://sourceforge.net/projects/edk2/.

        [10] DMTF. System Management BIOS (SMBIOS) Reference Specification Version: 3.0.0 [EB/OL].[2023-04-17].https://www.docin.com/p-1769934535.html.

        作者簡介:鄭媛(1983.01—),女,漢族,山東臨沂

        人,工程師,碩士,研究方向:服務(wù)器固件BIOS開發(fā);孫建英(1979.07—),女,漢族,河北唐山人,工程師,本科,研究方向:服務(wù)器和PC部件;康艷麗(1983.07—),女,漢族,山東棗莊人,工程師,本科,研究方向:服務(wù)器系統(tǒng)測試。

        猜你喜歡
        模塊化
        模塊化自主水下機(jī)器人開發(fā)與應(yīng)用
        基于模塊化控制系統(tǒng)在一體化教學(xué)中的應(yīng)用
        模塊化住宅
        馬勒推出新型模塊化混動系統(tǒng)
        考慮模塊化和退貨率的供應(yīng)鏈大規(guī)模定制模型
        ACP100模塊化小型堆研發(fā)進(jìn)展
        中國核電(2017年2期)2017-08-11 08:00:56
        從模塊化中得到的二氧化碳
        模塊化VS大型工廠
        非模塊化設(shè)計四合一爐對流室的模塊化吊裝
        機(jī)械制造技術(shù)模塊化教學(xué)改革研究
        国产三级在线看完整版| 人人妻人人澡人人爽精品欧美| 亚洲人成人77777网站| 国产精品欧美韩国日本久久| 精品人妻av区二区三区| 老熟妇乱子交视频一区| 亚洲性啪啪无码av天堂| 久久国产亚洲高清观看5388| 亚洲高清av一区二区| 女色av少妇一区二区三区| 亚洲国产精品va在线看黑人| 99国产精品视频无码免费| 精品蜜桃av一区二区三区| 日韩中文字幕在线观看一区| 亚洲精品无码国产| 亚洲美女啪啪| 在线观看人成网站深夜免费| 国产禁区一区二区三区| 国产高清一区二区三区视频| 无码之国产精品网址蜜芽| 国产毛片精品一区二区色| 精品国产粉嫩内射白浆内射双马尾| 亚洲av无码精品色午夜| 熟女人妻丰满熟妇啪啪| 水蜜桃视频在线观看入口| 草草地址线路①屁屁影院成人| 欧美老妇人与禽交| 久久人妻av不卡中文字幕| 男女交射视频免费观看网站| 朝鲜女人大白屁股ass| 无码av免费永久免费永久专区| 亚洲天堂线上免费av| 日日摸夜夜添夜夜添高潮喷水| 成人综合网亚洲伊人| 亚洲AV无码乱码精品国产草莓| 91精品国产91综合久久蜜臀| 免费毛片a线观看| 国产精品无码久久久久免费AV| 女同舌吻互慰一区二区| 朋友的丰满人妻中文字幕| 亚洲av无码乱码国产麻豆穿越|