《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM平臺的UEFI開發與移植
基于ARM平臺的UEFI開發與移植
來源:電子技術應用2014年第4期
韓德強,馬 駿,王宗俠,高雪圓
(北京工業大學 計算機學院,北京100124)
摘要: 介紹了ARM平臺下UEFI的相關概念和引導流程,基于TI公司的OMAP4460 Cortex A9處理器開發平臺分析了ARM-UEFI各個執行階段的移植過程。通過具體實例說明了ARM平臺中UEFI設備驅動程序的移植及開發方法。
中圖分類號:TP393
文獻標識碼:A
文章編號: 0258-7998(2014)04-0011-04
The porting and development of UEFI based on ARM system
Han Deqiang,Ma Jun,Wang Zongxia,Gao Xueyuan
College of Computer, Beijing University of Technology,Beijing 100124,China
Abstract: This paper introduces the general concepts and boot process of UEFI under ARM system. It analyzed the porting step of each ARM-UEFI phase based on TI Cortex A9 processor OMAP4460 demo board. It illustrated the porting process and method to development the UEFI device driver under ARM system.
Key words : ARM-UEFI;OMAP4460;device driver

    統一可擴展固件接口UEFI(Unified Extensible Firmware Interface)在設計之初被定義為一種與處理器架構無關的接口標準。UEFI接口可以采用多種不同的架構實現,對外則都表現為相同的接口。這樣,UEFI就可以最大限度地保證不同設計間的代碼重用,其中也包括不同處理器架構的平臺[1]。2009年發布的UEFI 2.3規范與傳統的BIOS和UEFI早期版本只支持X86架構的處理器相比,最大的改進在于支持不同架構的處理器平臺,ARM-UEFI成為了規范的一部分。2013年發布的UEFI2.4規范中包含了對ARM 64位架構處理器的支持。這些都表明UEFI對ARM系統預引導固件的支持是一個新的機遇。使用基于UEFI標準的ARM預引導固件具有很多優越性,UEFI不僅可以實現不同架構平臺之間的代碼共享,還可以共享標準外設(UART、Ethernet、USB控制器等)的驅動代碼以及豐富的標準函數庫接口。同時,ARM-UEFI的實現為ARM系統提供了真正獨立于操作系統的啟動解決方案,而其他大多數現有的ARM啟動解決方案(UBoot、Redboot等)都是與其所支持的操作系統相耦合[2]。本文詳述了基于OMAP4460嵌入式平臺的ARM-UEFI的移植過程及其外設的UEFI驅動程序的開發方法。
1 OMAP4460處理器及平臺硬件結構
    OMAP4460是TI公司專為智能手機、平板計算機以及具有豐富多媒體功能的移動終端設計的一款高性能、高集成度的嵌入式異構多核處理器[3]。該處理器包括2個Cortex A9內核、1個DSP內核、2個Cortex-M3內核、1個GPU以及豐富的I/O接口資源。在OMAP4460中,嵌入式操作系統運行在ARM內核上,算法的運算工作由DSP內核完成,二者通過TI提供的Codec Engine機制進行數據交互,實現了OMAP4460處理器內部多核的協同工作。
    OMAP4460開發平臺的硬件結構框圖如圖1所示。硬件平臺由核心模塊和擴展板兩部分組成,核心模塊包括OMAP4460處理器、TWL6032電源管理芯片和1 GB的DRAM;擴展板主要實現外設接口電路,包括 SD/TF卡接口、UART接口、USB接口、以太網接口和DVI/HDMI接口等。

2 ARM-UEFI引導流程
    通用UEFI根據不同時間段內平臺初始化所要完成的任務將操作系統啟動過程按順序分為SEC、PEI、DXE和BDS[4] 4個階段。其中SEC(安全)階段檢測并驗證固件鏡像的完整性,同時建立C語言執行環境的堆棧;PEI(預EFI初始化)階段主要完成內存初始化,將固件鏡像加載至內存中執行;DXE(驅動執行環境)階段完成平臺初始化,并為操作系統引導提供軟件抽象的服務;BDS(引導設備選擇)階段從引導設備中啟動操作系統,將控制權交給操作系統,完成引導過程。UEFI上電執行順序如圖2所示。

    目前ARM平臺的啟動方式多種多樣,Bootloader通常采用多階段的啟動過程[5]。首階段確定啟動方式,執行必要的初始化操作,加載后續階段鏡像,后續階段提供復雜的功能用于引導操作系統。這種方式既能夠保證Bootloader的功能性,又具有很好的可移植性。因此對于OMAP4460平臺的啟動方案,采用x-loader + UEFI兩個啟動階段的方式引導操作系統。x-loader作為第一階段的固件,要執行時鐘、內存控制器等部分硬件的初始化,并確定OMAP4460平臺的啟動方式,最終將UEFI加載到內存中并跳轉到指定地址執行。內存初始化已在x-loader中完成,故UEFI不再實現SEC以及PEI階段的大部分功能,OMAP4460平臺ARM-UEFI的PEI階段只需要完成系統內存映射和UEFI執行環境堆棧的建立,并執行硬件平臺相關模塊的初始化配置,之后UEFI跳轉進入DXE和BDS階段。本方案DXE以及BDS階段的執行策略和實現功能與通用UEFI固件基本相同:在DXE階段加載所有的驅動程序,完成平臺初始化工作;在BDS階段創建控制臺,設置內核的啟動參數,加載引導設備的內核鏡像到內存中執行。OMAP4460平臺ARM-UEFI引導流程圖如圖3所示。

3 ARM-UEFI開發與移植
3.1 移植x-loader

    OMAP4460處理器內部的SRAM只有64 KB,相對于第二階段UEFI固件鏡像的數百kB而言過小,OMAP4460處理器無法加載UEFI固件鏡像到SRAM運行,而需要使用外部DRAM加載。因此,本方案采用基于精簡UBoot基本代碼的x-loader作為第一階段的引導固件。由于SRAM容量的限制,x-loader的初始化操作只針對必要的硬件模塊,如引腳復用和功能設置、時鐘、內存控制器等。初始化操作的目的是將UEFI固件鏡像從OMAP446平臺的SD卡中加載到DRAM中,然后跳轉到入口地址執行。
    x-loader的入口位于Start.s文件,Start.s首先執行CPU的基本初始化,包括禁止Cache和TLB、關閉中斷等。其次執行兩個跳轉模塊cpu_init_crit和start_armboot,cpu_init_crit模塊跳轉到s_init()函數執行,s_init()中調用了3個函數實現平臺基本初始化:set_muxconf_regs()實現處理器芯片引腳復用和功能設置;ddr_init()實現內存初始化;prcm_init()則實現平臺各個模塊時鐘的初始化配置。這3個函數的修改要針對OMAP4460平臺的具體硬件結構以及引導過程中所使用到的模塊進行。start_armboot則是在內存初始化完成且堆棧建立以后執行,程序跳轉至lib\board.c文件的start_armboot()函數,實現加載UEFI固件鏡像到指定內存位置的過程。第二階段UEFI固件鏡像的入口地址定義為CFG_LOADADDR,它必須與OAMP4460平臺UEFI固件鏡像的起始地址相同,后者由固件的fdf(Flash描述文件)指定。最終x-loader使用函數指針的方式實現x-loader到UEFI的跳轉,代碼如下:
    ((init_fnc_t *)CFG_LOADADDR)();
3.2 移植PEI階段代碼
    如上所述,OMAP4460平臺的ARM-UEFI沒有SEC階段,且PEI階段實現功能與通用UEFI的PEI階段也有所不同,PEI階段不再需要完成內存初始化任務,而是側重于系統平臺信息、內存資源的收集過程,并通過信息描述塊HOB傳遞給DXE階段。OMAP4460平臺的PEI階段的主體實現代碼位于ArmPlatformPkg\PrePi.c的PrePiMain()函數中,該函數主要實現了3個功能: PEI階段的串口調試信息輸出;調用PEI模塊MemoryPeim實現MMU的初始化,建立UEFI系統堆棧,并將這些系統資源建立成HOB傳遞給后續階段;調用PlatformPeim實現一些硬件模塊的初始化和配置。
    PEI階段的串口輸出是通過調用SerialPortLib中的庫函數實現的。SerialPortLib主要包含兩部分:串口初始化函數和串口讀寫函數。初始化函數SerialPortInitialize()首先配置平臺UART接口的引腳復用,使能時鐘;然后再設置串口通信模式,配置串口通信的波特率等參數;最后使能FIFO,完成UART接口的初始化。而讀寫函數則是通過輪詢標志位的方式判斷FIFO是否為空,再按字節讀寫FIFO。PEI階段調試信息輸出樣例代碼如下:
    SerialPortInitialize (); //UART模塊初始化
    CharCount = AsciiSPrint (Buffer,sizeof(Buffer),"UEFI \n");
    SerialPortWrite((UINT8 *) Buffer, CharCount);//數據輸出
    PlatformPeim中再次實現了平臺模塊的初始化,目的是向后兼容未來采用通用UEFI引導方式的ARM平臺的PEI階段所要實現的完整功能。PlatformPeim中包括了3個函數:PadConfiguration()、ClockInit()和GpmcInit()。PadConfiguration()函數和ClockInit()函數都通過操作宏定義的方式實現平臺功能。PadConfiguration()完成平臺所有引腳復用功能的設置。ClockInit()完成平臺所有模塊時鐘的配置,并使能部分模塊時鐘。這種實現方式的好處是有統一的啟動代碼,開發DXE階段的外設驅動程序時不需要再配置外設接口的引腳和時鐘。引腳復用配置代碼如下:
    typedef struct {
        UINTN   Pin;   //引腳寄存器地址
        UINTN   ConfigValue; //引腳屬性功能
    } PAD_CONFIGURATION;
    MmioWrite16(PadConfigurationTableShared[Index].Pin,
        PadConfigurationTableShared[Index].ConfigValue);
    數據結構PAD_CONFIGURATION類型的數組PadConfigurationTableShared中存放的是OMAP4460處理器芯片所有引腳的寄存器地址宏定義和引腳屬性宏定義。MmioWrite16()函數實現16位寄存器的寫功能,通過獲取指定引腳寄存器的地址,寫入指定的配置屬性,完成引腳復用功能的配置。
    GpmcInit()則用于配置通用存儲控制器GPMC的片選信號,樣例代碼如下:
    for (i = 0; i < 8; i++)
    MmioAnd32(GPMC_CONFIG7_0 + 0x30*i, ~BIT6);
    PEI的工作完成之后,解壓固件鏡像的壓縮部分到內存,并直接跳轉至DXE階段執行,代碼如下:
    Status = DecompressFirstFv (); //解壓固件卷
    Status = LoadDxeCoreFromFv(NULL, 0);//加載DXE核心
3.3 開發設備驅動程序
    EDK II開發工具是基于X86平臺的PCI總線結構實現的。當用其開發OMAP4460平臺ARM-UEFI時,需要重構平臺的接口控制器驅動程序,為上層提供標準的UEFI服務。同時,完整移植處于上層并滿足工業標準的接口驅動程序,從而實現對原有代碼的重用,加快ARM-UEFI的開發。
    以顯示驅動程序的開發為例,在OMAP4460平臺上使用HDMI作為ARM-UEFI引導時的顯示接口。ARM-UEFI系統中只需實現HDMI顯示驅動程序即可實現顯示控制臺的輸出。HDMI顯示驅動程序實現圖像輸出協議EFI_GRAPHICS_OUTPUT_PROTOCOL,該協議提供服務接口給圖像控制臺驅動程序GraphicsConsoledxe, 再由該驅動程序實現簡單文本輸出協議EFI_SIMPLE_TEXTOUT_
PROTOCOL,最后由虛擬控制臺驅動程序Consoleplitterdxe將所有掛載簡單文本輸出協議的設備句柄統一掛載到虛擬控制臺輸出句柄ConOut上,由ConOut實現控制臺的輸出,OMAP4460平臺UEFI圖形控制臺結構圖如圖4所示。

    HDMI顯示驅動程序包括三部分:顯示模塊硬件初始化、顯示模式的配置以及圖像的顯示。其中GOP協議的函數接口實現顯示模式配置與圖像的顯示,QueryMode、SetMode兩個接口實現分辨率、顏色及頻率的配置,Blt接口實現圖像顯示。GOP協議數據結構定義如下:
    struct  _EFI_GRAPHICS_OUTPUT_PROTOCOL {
EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE
QueryMode;
EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;   
//設置顯示模式
EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT     Blt; //圖像顯示
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE  *Mode;//結構體
    }
    顯示模塊初始化函數InitializeDisplay()在驅動程序的入口函數中執行,具體初始化過程分為3步:
    (1)使能ESD保護芯片TPD12S016的供電及熱插拔引腳功能,檢測HDMI接口的HDMI_HPD引腳狀態,檢測是否接入顯示器。
    (2)使能顯示子系統的功能時鐘和接口時鐘,同時使能HDMI物理層的時鐘。
    (3)申請圖像管道內存,并記錄基地址。
    HDMI接口顯示模式的配置分為顯示子系統和HDMI物理層兩部分的顯示模式配置,由QueryMode和SetMode接口函數實現。QueryMode通過HDMI的I2C接口讀取顯示器的擴展顯示標識數據EDID(Extended Display Identification Data),EDID中包含了監視器時序、定時和分辨率等性能參數,使用這些參數填充Mode結構體,再將Mode作為改變值參數傳遞給SetMode接口,由SetMode完成顯示子系統和HDMI物理層中顯示輸出時鐘頻率、圖像分辨率、位寬等寄存器變化值的寫入和重新使能,從而更新顯示分辨率、圖像格式以及顏色模式等參數。寫寄存器樣例代碼如下:
    MmioWrite32(HDMI_WP_VIDEO_SIZE,
        ((LcdModes[ModeNumber].HorizontalResolution)|
        ((LcdModes[ModeNumber].VerticalResolution)<<16)));
其中宏定義HDMI_WP_VIDEO_SIZE是HDMI模塊定義顯示器分辨率的32位寄存器地址,該寄存器低16位為水平像素,高16位為垂直像素。結構體LcdModes的HorizontalResolution和VerticalResolution參數代表顯示模式需要配置的分辨率參數,通過MmioWrite32()函數將值寫入寄存器,完成配置。
    圖像的顯示由GOP協議的Blt接口函數實現,Blt函數首先調用LcdPlatformGetBpp()函數獲取平臺設置的圖像格式以及位寬,再計算原圖像像素和目標管道內存的地址,然后將EFI圖像像素轉換成顯示器設置的像素格式,宏定義LCD_BITS_PER_PIXEL_24表示圖像格式為xRGB24,即每個像素占用32位,低24位按照藍綠紅各8位排列,最高8位為空。最后將轉換完成的像素數據存放在計算好的目標管道內存中,使用圖像管道將圖像數據輸出。具體代碼如下:
    LcdPlatformGetBpp (This->Mode->Mode,&BitsPerPixel);
    if(BitsPerPixel== LCD_BITS_PER_PIXEL_24)
    {
    // 計算原地址和目標地址
    EfiSourcePixel    = BltBuffer + SourceLine * BltBufferHori-
zontalResolution + SourcePixelX;
    DestinationPixel32bit = (UINT32 *)FrameBufferBase +
DestinationLine * HorizontalResolution + DestinationPixelX;
    //將原像素轉換后復制到目標地址中
    *DestinationPixel32bit = (UINT32) ((EfiSourcePixel->
    Red<<16)|(EfiSourcePixel->Green<<8)|
    (EfiSourcePixel->Blue<<0) );
    }
3.4 優化BDS階段
    UEFI在BDS階段會連接設備驅動程序、創建控制臺并輪詢引導設備,操作過程非常耗時。而對于嵌入式系統平臺,系統引導時間有嚴格要求,需要優化ARM-UEFI的BDS階段,以縮短引導時間。方案采用的策略是使用平臺配置數據庫PCD(Platform Configuration Database)在平臺包的dsc文件(平臺描述文件)中定義控制臺和引導設備的路徑,并在BDS階段中分兩階段執行:首先讀取控制臺設備路徑,連接控制臺設備驅動程序;然后讀取引導設備路徑,連接指定引導設備的驅動程序,再從引導設備中加載內核,并將控制權移交給操作系統。至此,ARM-UEFI開發流程基本完成。
    ARM-UEFI在系統耦合、代碼重用方面具有明顯的優勢,加速系統開發的同時,還能減少開發成本。隨著越來越多的廠商參與到ARM-UEFI標準的制定和實現中來,ARM-UEFI將會成為ARM系統標準的啟動解決方案。
參考文獻
[1] 石浚菁.EFI接口 BIOS 驅動體系的設計、實現與應用[D]. 南京:南京航空航天大學,2006.
[2] 魏東.UEFI-A new opportunity for preboot firmware on ARM-based system[Z].2013.
[3] TI.OMAP4460 multimedia device silicon revision:technical reference manual[Z].2012.
[4] ZIMMER V,ROTHMAN M,MARISETTY S.Beyond BIOS:developing with the unified extensible firmware interface (2 Edition)[M].Intel Press,2010.
[5] 宋寶華.Linux設備驅動開發詳解(第二版)[M].北京:人民郵電出版社,2010.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 96av视频| 他揉捏她两乳不停呻吟在线播放 | 国内精品久久久久久影视8 国内精品久久久久影视老司机 | 96久久 | 天天草天天射 | 蜜臀久久精品 | 国产性生活一级片 | 亚洲天堂一级片 | 少妇太爽了太深了太硬了 | av午夜精品 | 成人综合婷婷国产精品久久 | 亚洲国产精品999久久久婷婷 | www春色 | 国产一级特黄aa大片出来精子 | 中文字幕播放 | 亚洲精品国精品久久99热 | 青青草久久 | 亚洲一区二区三区乱码aⅴ 亚洲一区二区三区日本久久九 | 自拍偷拍综合 | 97视频免费观看 | 国产欧美日韩成人 | 天堂成人在线观看 | 一区二区精品在线观看 | 女人解开奶罩喂男人吃奶 | 麻豆视频免费观看 | 日本一区二区三区高清在线观看 | 亚洲精品乱码久久久久久黑人 | 中文毛片无遮挡高潮免费 | 亚洲最大成人综合网720p | k8yy毛片 | 友田真希中文字幕在线视频中 | 少妇免费毛片久久久久久久久 | 揄拍自拍 | av在线天堂 | 青娱乐av在线 | 色五月丁香六月欧美综合 | 国产96在线 | 欧美一区国产一区 | 97夜夜澡人人波多野结衣 | 女教师痴汉调教hd中字 | 久久精品国产99国产精品亚洲 | 噜噜噜久久亚洲精品国产品91 | 午夜精品三级久久久有码 | 4色av | 日本乱偷互换人妻中文字幕 | 国产中年熟女高潮大集合 | 亚洲日本综合 | 中国农村一级片 | 免费黄色在线网址 | 岛国精品一区 | 无码va在线观看 | 国产成人免费一区二区三区 | 最新超碰| 久久久无码精品亚洲日韩蜜桃 | 久久99精品国产麻豆91樱花 | 中国丰满少妇人妻xxx性董鑫洁 | 亚洲va在线观看 | 国产女主播喷水 | 国产麻豆91精品三级站 | 精品国产av 无码一区二区三区 | 欧美黑人狂躁日本寡妇 | 在线观看肉片av网站免费 | 成年人黄色在线观看 | 久久久6 | 亚洲产国偷v产偷v自拍涩爱 | 不用播放器看av | 国产精品久久久久久久岛一牛影视 | 友田真希中文字幕在线视频中 | 日本高清不卡aⅴ免费网站 久久精品国产av一区二区三区 | 国产精品久久久久四虎 | 亚洲学生妹高清av | 老熟妇高潮一区二区三区 | a级a做爰片成人毛片入口 | 69堂成人精品视频在线观看 | 在线免费h | a 'v片欧美日韩在线 | 51嘿嘿嘿国产精品伦理 | 不戴套各种姿势啪啪高素质 | 色婷婷久久久亚洲一区二区三区 | 欧美福利在线视频 | 久久免费视频99 | 国产精品xxx | 亚洲第一页在线 | 日本三级一区 | 黄色精品在线观看 | 日韩午夜激情视频 | 日韩精品一区三区 | 国产日韩精品视频一区二区三区 | 久久综合偷偷噜噜噜色 | www.精品视频 | 国产妇女乱一性一交 | 懂色av懂色aⅴ精彩av | 久久久久久久久久久久久久久久久 | 国产亚洲精品久久久久久大师 | 中国黄色片视频 | 少妇视频一区 | 好吊妞视频这里只有精品 | 欧美日韩精品一区二区三区四区 | 国产一级片免费 | 欧美亚洲图片小说 | 亚洲欧美日韩久久精品 | 日韩成人免费 | 狂野欧美性猛交xxxx | av噜噜色| 日本熟妇色xxxxx日本免费看 | 国产又色又爽又黄刺激视频 | 日本做暖暖xo小视频 | 中文字幕乱码一区二区三区四区 | 国产jizz视频全部免费软件 | 天堂在线资源最新版 | 国产精品911 | 亚洲熟妇av日韩熟妇在线 | 91亚洲国产成人精品一区二区三 | 成人aaa片一区国产精品 | 男女精品国产乱淫高潮 | 男人和女人高潮做爰视频 | 欧洲-级毛片内射 | 欧美一页 | 国产在线观看第一页 | 日本黄色片免费看 | 少妇疯狂做受xxxx高潮台湾 | 五十路熟女丰满大屁股 | av免费在线观看不卡 | 91精产国品一二三区在线观看 | 特级做a爰片毛片免费看108 | 国产探花在线精品一区二区 | 久久福利社 | 日日碰狠狠躁久久躁96avv | 亚洲视频91| 中文字幕精品亚洲无线码二区 | 欧美激情三区 | 美女裸体自慰在线观看 | 人妻无码一区二区不卡无码av | 婷婷射精av这里只有精品 | 91精品国产综合久久国产大片 | 一区二区三区中文字幕在线观看 | 狠狠躁夜夜躁人人爽视频 | 欧美日韩在线亚洲综合国产人 | 一区二区乱子伦在线播放 | 九九精品久久 | 国产成人综合一区二区三区 | 黄色理伦 | 中文字幕日韩欧美一区二区 | 亚洲第一黄色网址 | 91av成人| 欧美性受xxxx黑人猛交 | 亚洲欧美色视频 | 3级av| 伊人免费在线 | 无遮挡aaaaa大片免费看 | 2020亚洲男人天堂 | 在线国产精品视频 | 亚洲va韩国va欧美va | 国产精品二区在线 | 久久看av| 艳妇臀荡乳欲伦交换在线看 | 免费的黄网站在线观看 | 91亚洲国产成人久久精品麻豆 | 美乳少妇与邻居尤物啪啪 | 欧美日韩视频免费观看 | www.av小四郎.com| 日本黄漫动漫在线观看视频 | 天堂中文在线观看 | 免费看片在线观看www | 国产69精品久久99的软件特点 | 久久久久久高清 | 麻豆传媒一区 | 久久久久久久久久91 | 国产在线a视频 | 在线成人www免费观看视频 | 亚洲国产成人丁香五月激情 | 亚洲色图综合网 | 亚洲综合一区二区三区葵つかさ | 国产一区二区色 | 天天舔天天 | 在线无码av一区二区三区 | 亚洲激情av在线 | 少妇做爰k8经典 | www.国产在线视频 | 2018国产精华国产精品 | 永久免费的啪啪网站免费观看 | 古装做爰无遮挡三级聊斋艳谭 | 国产极品免费 | 国语自产精品视频在线看 | 亚洲女人天堂网 | 国产在线 | 中文 | 狠狠色噜噜狠狠狠888米奇视频 | av最新天| 欧美日本三级 | 狠狠色噜狠狠狠狠 | 91精品视频在线 | 男人猛躁进女人免费播放 | 一本大道东京热无码一区 | 免费国产羞羞网站视频 | 久久久久久98 | av人摸人人人澡人人超碰下载 | 亚洲aaaaaaa| 精品人妻无码一区二区三区换脸 | 日本在线一区 | 免费裸体美女网站 | 自拍偷在线精品自拍偷99九色 | 懂色av一区二区三区在线播放 | 超碰美女 | 国产精品无码一区二区在线 | 国产情侣出租屋露脸实拍 | 超碰v| 中文字幕一二三 | 久久精品一本到东京热 | 潮喷失禁大喷水无码 | 国产黄色片在线 | 91丨九色丨国产 | 奇米影视久久久 | 日韩黄色影院 | 国产偷窥熟女精品视频 | 狠狠躁天天躁无码中文字幕 | 国产网红女主播免费视频 | 无码av中文字幕久久专区 | 91看片看淫黄大片 | 国产一级淫片a视频免费观看 | 麻豆一区二区在线 | 玩弄放荡人妻少妇系列视频 | 视频一区二区三区免费 | 成人爽a毛片在线视频 | a天堂中文网 | 91亚色视频| 久久久久97国产精 | 亚洲天堂女人 | 自拍偷拍欧美日韩 | 不卡av在线免费观看 | 激情三级在线 | 成人视屏在线观看 | 国产又粗又黄又爽又硬的免费视频 | 涩久久 | 天堂国产一区二区三区 | 97无码人妻福利免费公开在线视频 | 肉大榛一进一出免费视频 | 中文精品久久久久人妻不卡 | 中文幕无线码中文字夫妻 | 欧美日韩一区二区三区在线观看视频 | 亚洲三级中文字幕 | 思思99热久久精品在线6 | 52avavjizz亚洲精品 | 国产猛男猛女52精品视频 | 国产日产欧产精品浪潮的免费功能 | 免费又黄又爽又色的视频 | 欧美亚洲一区 | 午夜男女很黄的视频 | 国产少妇露脸精品自啪网站 | 男女裸交免费无遮挡全过程 | 欧美精品黑人粗大 | av不卡在线| 亚洲天堂99| 泽村玲子在线中文字幕 | 美女爆吸乳羞羞免费网站妖精 | 亚洲精品萌白酱一区 | 狠狠躁天天躁中文字幕无码 | 中文字幕在线播放av | 国内精品国产三级国产在线专 | 激情五月综合网 | 一区二区三区无码高清视频 | 国产成人精品一区二区三区免费 | 少妇高潮zzzzzzzyⅹ | 绿帽av | 在线看片人成视频免费无遮挡 | 久久婷婷久久一区二区三区 | 日韩成人无码影院 | 97成人在线视频 | 久久中出 | 成年女人永久免费观看视频 | 999精品在线 | 性欧美熟妇videofreesex | 日韩精品一区二区三区四区 | 亚洲综合另类 | 波多野结衣高清在线 | 免费网站看sm调教视频 | baoyu131成人免费视频 | 91麻豆精品国产91久久久久久久久 | 人日人视频 | 免费看国产黄色片 | 69av导航| 久久露脸国语精品国产91 | 国产又黄又猛又粗 | 探花精品 | 91狠狠狠狠狠狠狠狠 | a黄视频| 三级黄在线观看 | 日韩尤物在线 | 欧美aa大片欧美大片观看 | 日本老妇70sex另类 | 天天躁夜夜躁天干天干2020 | 欧美特级特黄aaaaaa在线看 | 亚洲制服无码 | 99国产一区二区 | 国产精品19乱码一区二区三区 | 亚洲 另类 熟女 字幕 | 国产福利观看 | 色琪琪久久草在线视频 | 青椒国产97在线熟女 | 日韩伦乱 | 性欧美www | 女人解开乳罩给男人吃奶 | 日韩一级二级三级 | 亚洲一区二区三区乱码aⅴ蜜桃女 | 国产精品免费久久久 | 欧洲黄视频 | 亚洲午夜精品17c | 日韩免费影视 | 国产在线无码视频一区二区三区 | 成人亚洲| 精品黑人一区二区三区久久 | 麻豆视频在线观看免费网站 | 性国产精品 | 国产成人精品777 | 欧美日韩免费一区二区 | 日日躁狠狠躁夜夜躁av中文字幕 | 国产最爽的乱淫视频国语对白 | 午夜国内精品a一区二区桃色 | 中文字幕一区二区三区四区久久 | 99久久婷婷国产综合精品 | 女人被男人躁得好爽免费视频 | 粉嫩91精品久久久久久久99蜜桃 | 久久精品女人的天堂av | 成人激情片 | 亚洲午夜天堂吃瓜在线 | 天天躁夜夜躁狠狠眼泪 | 国产精品久久久久久久久夜色 | 一级黄色大片 | 台湾佬综合网 | 亚洲综合图色 | 黄网在线免费观看 | 国产一区二区综合 | 国产精品久久久久久模特 | 日韩av不卡在线播放 | 青青操久久 | 国产精品30p | 亚洲午夜精品久久久久久 | 免费黄色激情视频 | 色综合色综合色综合 | 欧美日韩 一区二区三区 | 久久超碰97人人做人人爱 | 青青草在线免费观看 | 成人精品亚洲人成在线 | 亚洲精品色综合av网站 | 91在线无精精品一区二区 | 九一在线视频 | 综合自拍亚洲综合图区高清 | 伊人久久中文 | 亚洲国产成人精品青青草原导航 | 日本一区二区网站 | 国产视频xxxx | 夜夜操免费视频 | 久久久青草 | h片在线免费看 | 在线看片人成视频免费无遮挡 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲美女视频在线 | 少妇粉嫩小泬喷水视频www | 97久久精品无码一区二区 | 亚欧在线观看 | jjzzjjzz欧美69巨大 | 亚洲香蕉视频 | 日韩在线观看视频一区 | 毛片基地免费观看 | 成人黄色激情小说 | 免费黄色片网站 | 亚洲青青草原 | 国产av激情久久无码天堂 | 无码人妻一区二区三区免费视频 | 少妇愉情理仑片高潮日本 | 国产免费视频一区二区三区 | 亚洲人成影院在线观看 | 亚洲精品国偷拍自产在线观看 | 女同av久久中文字幕字 | 在线色播| 91亚洲一线产区二线产区 | 国产suv精品一区二区33 | 亚洲欧美日韩高清 | 好大好长好紧爽小91 | 亚洲成年人在线观看 | chinese精品自拍hd | 在线观看中文字幕第一页 | 精品无人乱码一区二区三区 | 无码av专区丝袜专区 | 成人免费影片在线观看 | 欧美a在线视频 | 国产在线精品一区二区在线播放 | 欧美日韩国产专区 | 亚洲熟妇无码爱v在线观看 又色又爽又黄18禁美女裸身无遮挡 | 欧美高清性xxxxhdvideosex | 免费一级片 | 亚洲中文字幕无码久久精品1 | 宅男av在线 | 国产精品揄拍一区二区久久国内亚洲精 | 青青草精品 | 国产日韩精品视频 | 97视频在线播放 | 日韩天堂在线观看 | 欧美成人a | 黑人插少妇 | 国产精品粉嫩jk国产呦系列 | 找av导航 | 日韩精品视频观看 | 手机在线一区二区 | 亚洲精品日韩综合观看成人91 | 一本av在线 | 精品成人在线观看 | 午夜精品久久久久久久99热黄桃 | 欧美怡红院免费全部视频 | 成年片色大黄全免费软件到 | 人妖一区二区三区 | 中文字幕永久有效 | 88av在线播放 | 中文字幕第8页在线资源 | www17com嫩草影院| 人人草人人看 | 久久精品一二区 | 成人资源在线观看 | aav在线 | 国产欧美精品一区二区在线播放 | 越南处破女av免费 | 视频一区免费观看 | 美国免费毛片基地 | 成人无码在线视频网站 | 色一情一交一乱一区二区 | 国产精品免费观看视频 | 中国国语毛片免费观看视频 | 免费在线视频一区 | 中文字幕丰满孑伦无码精品 | 日韩在线亚洲 | 成人国产福利a无限看 | 桃色视频m3u8 | 欧美成人一区二免费视频软件 | 日韩黄色视屏 | 成人在线国产视频 | 一本一道精品欧美中文字幕 | 国产大尺度做爰床 | 精品视频免费播放 | 日本在线一级 | 97色伦久久x88av | 少妇高潮尖叫黑人激情在线 | 久久av喷吹av高潮av萌白 | 日本无遮羞调教屁股视频网站 | 高清欧美精品xxxxx在线看 | 成人精品啪啪欧美成 | 国产亚洲成av人片在线观看 | av片在线免费观看 | 日韩av一区二区在线播放 | 国产一区二区三区四区五区加勒比 | 日日噜噜噜夜夜爽爽狠狠 | 深夜在线 | 中文字幕人成人乱码亚洲影视的特点 | 7mav视频| 国产一区二区三区又黄又爽 | 亚洲精品久久中文字幕 | a级淫片一二三区在线播放 a天堂v | 台湾150部性三级 | 国产在线视频福利 | 国产精品丝袜黑色高跟鞋 | 一区二区在线免费 | 青青青国产在线 | 亚洲国产97在线精品一区 | 久久精品无码一区二区日韩av | 九色porny视频 | 亚洲天堂2017无码 | 美国一级特黄 | 强壮公侵犯使我夜夜高潮 | 国产三级做爰在线播放五魁 | 午夜影院一区二区 | 精品毛片在线观看 | 在线观看二区 | 国产精品久久二区 | 精品视频一区二区三区四区五区 | 91九色丨porny丨丝袜 | 老外和中国女人毛片免费视频 | 四虎com| av一级免费 | www.日日操 | av在线免费网址 | 亚洲高清乱码午夜电影网 | 性视频一区 | 欧美一区二 | 在线涩涩免费观看国产精品 | 亚洲xx站| 精品无码成人网站久久久久久 | 国产综合久久久久久鬼色 | 超在线视频 | 美女100%视频免费观看 | 成人久久久久久久久久久 | 午夜暗香一3视频丨vk | 国产精品裸体瑜伽视频 | 精品无码久久久久久国产 | 亚洲成人在线视频观看 | 一本色道久久爱88av | 亚洲一区二区视频在线观看 | a级毛片黄色 | 粉嫩av一区二区三区免费观看喜好 | 久久精品国产sm调教网站演员 | 亚洲码欧美码一区二区三区 | 国内精品少妇 | 婷婷丁香亚洲 | 97久久精品国产一区二区片 | 四虎影| 99热在线精品观看 | 99久久精品国产免费看不卡 | 亚洲h网站| 国产伦精品一区二区三区四区视频_ | 欧美 日韩 国产 成人 在线观看 | 99在线精品视频免费观看20 | 欧美性生交xxxxx久久久 | 中文字幕第一页九 | 综合色婷婷一区二区亚洲欧美国产 | 国产精品人人爱一区二区白浆 | 又色又污又爽又黄的网站 | 午夜免费在线 | 国产99久久久国产精品下药 | 日韩久久精品一区二区三区 | 国产在线一区二区三区四区五区 | 色涩久久 | 日本久久久久 | 99精品国产在热久久无码 | 乱码av午夜噜噜噜噜动漫 | 精品粉嫩超白一线天av | 粉嫩91精品久久久久久久99蜜桃 | 中日韩在线视频 | 五月在线| 隔壁人妻偷人bd中字 | 久草欧美 | 国产啪亚洲国产精品无码 | 国产免费一区二区视频 | 天堂а√在线中文在线鲁大师 | 色综合色综合网色综合 | 一本大道五月香蕉 | 五月天中文字幕在线 | 久久天天躁夜夜躁狠狠85麻豆 | aⅴ在线视频男人的天堂 | 777天堂麻豆爱综合视频 | 最近中文字幕在线中文高清版 | 日本少妇翘臀啪啪无遮挡动漫 | 亚洲视频一二三 | 另类激情文学 | 好男人www社区在线视频夜恋 | 国产情侣av自拍 | 偷拍中年夫妇激情嗷嗷叫 | 色天堂在线视频 | 国产毛片久久久久久 | 天天爽天天爽 | 日本激情吻胸吃奶呻吟视频 | 国产黄a三级三级三级 | 中文字幕无码免费久久9一区9 | 日本在线视频中文字幕 | 六月丁香婷婷色狠狠久久 | 黄色试频| 福利一区三区 | 国产黄色大片免费看 | 国产成人aaaa | 少妇精品偷拍高潮少妇 | 中日韩在线播放 | 俺去俺来也在线www色官网 | 午夜精品久久久久久久99热蜜臀 | 欧美午夜精品一区二区 | 国产又色又爽又黄的 | 亚洲熟妇色xxxxx亚洲 | 欧美午夜精品久久久久免费视 | 日韩最新视频 | 男女免费视频 | 成人在线影片 | 亚洲国产天堂久久综合 | 日韩一级二级三级 | 亚洲爱色 | 国产影视一区二区 | 日本高清视频免费观看 | 国产精品视频永久免费播放 | 国产精品视屏 | 日日躁夜夜躁狠狠躁超爽2001 | 色猫成人网 | 久久成人亚洲 | 少妇富婆一区二区三区夜夜 | 久久激情免费视频 | 香港三日三级少妇三级66 | 手机av免费看 | 波多野结衣人妻 | 女性高爱潮视频 | mm131丰满少妇人体欣赏图 | 精品国产乱码 | 国产精品一区二区6 | 欧洲熟妇性色黄 | 日韩在线中文字幕视频 | 成人毛片100部免费看 | 女人18毛片水最多 | av一区在线 | 国产成人无码一区二区在线播放 | 无码av动漫精品一区二区免费 | 神马午夜在线观看 | 亚洲乱码av中文一二区软件 | 国产无| 丁香桃色午夜亚洲一区二区三区 | 国产裸体bbb视频 | 99热这里只有精品在线观看 | 三级网站视频在在线播放 | 午夜影院福利社 | 免费看捆绑女人毛片 | 免费视频永久免费人 | aa亚洲 | 奇米影视四色777 | 欧美激情一区二区久久久 | a级大胆欧美人体大胆666 | 国产精品一区二区久久乐夜夜嗨 | 高h辣h情趣道具h黄n男一女 | 国产一区日韩精品 | 靠逼网站在线观看 | 华人永久免费视频 | 蒂法3d一区二区三区 | 国产三级在线免费观看 | 国产精品爽爽久久久久久蜜臀 | 91精品国产综合久久小仙女图片 |