《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 在不支持Remap的系統中構建JFFS2

在不支持Remap的系統中構建JFFS2

2009-08-27
作者:嚴國清,熊建設,石 雷,宋柱芹

??? 摘? 要: 對以S3C44B0X微處理器為核心的嵌入式系統的特點進行了詳細討論,分析了在不支持Remap的系統中實現JFFS2的必要性和可能性。通過在MTD中加關/開中斷的方法,實現了在不支持Remap的系統中建立JFFS2文件系統。
??? 關鍵詞: S3C44B0X? JFFS2? Remap? 文件系統

?

??? JFFS2文件系統是針對Flash存儲設備而專門設計的一種日志文件系統,已在嵌入式系統中得到廣泛應用。但是它的實現通常都依賴于Remap(地址可重映射)的嵌入式處理器。本文在不支持地址重映射的嵌入式系統中實現了JFFS2,與傳統的實現相比,它有著其自身的特點。
1? JFFS2文件系統簡介
??? ROMFS是μClinux默認的根文件系統,它相對于一般的EXT2文件系統具有節約空間等優點,但它卻是一種只讀文件系統,不支持動態擦寫和保存。盡管對于需要動態保存的數據可以采用虛擬ram盤的方法來保存,可是一旦系統掉電,ram盤的內容就會全部丟失。
??? 為了克服上述問題,人們設計開發了JFFS2文件系統。JFFS文件系統是一種基于Flash的日志文件系統。它在設計時充分考慮了Flash的讀寫特性和嵌入式系統用電池供電的特點,在讀取文件時,若遇系統突然掉電,確保其文件的可靠性不受影響。后來,JFFS文件系統又進行了一系列改進,形成了JFFS2文件系統。JFFS2主要改善了存取策略以提高Flash的抗疲勞性,同時也優化了碎片整理性能,增加了數據壓縮功能。JFFS2的不足是:當文件系統已滿或接近滿時,由于垃圾收集方面的原因,會引起JFFS2運行速度顯著降低。
??? JFFS是建立在MTD(Memory Technology Device)基礎之上的文件系統,MTD在硬件和上層之間提供一個抽象接口。MTD可以理解為Flash的驅動程序,它主要向上提供兩個接口,一個是MTD字符設備,另一個是MTD塊設備。通過這兩個接口,可以像讀寫普通文件一樣對Flash設備進行讀寫操作。經過簡單的配置,MTD在系統啟動后可以自動識別支持CFI或JEDEC接口的Flash芯片,并自動采用適當的命令參數對Flash進行讀寫或擦除。
??? MTD支持NOR型和NAND型的Flash。NOR型Flash的主要特點是芯片內執行(XIP,eXecute In Place),應用程序可以直接在Flash內運行;而NAND型Flash具有存儲密度高和寫入/擦除速度快的特點。
2? 硬件系統
??? 系統采用Samsung的ARM7TDMI芯片S3C44B0X作為微處理器。S3C44B0X上的存儲系統地址空間分為8個存儲體,每個存儲體可達32MB,共計256MB。Bank0~Bank5可支持ROM、SRAM,Bank6和Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。Flash芯片采用的是SST公司的NOR型芯片SST39VF160(1×16MB),將它的片選連接到S3C44B0X的nGCS0引腳,映射到Bank0上,地址范圍為0x00000000~0x001fffff。SDRAM選用Samsung的16位芯片K4S641632F,將它與S3C44B0X的GCS6引腳相接,映射到Bank6上,地址范圍為0x0c000000~0x0c7fffff[6]。
??? S3C44B0X與其他處理器相比具有一個很重要的特點,即不支持Remap。圖1是復位后的S3C44B0X的存儲器映射圖。一旦Flash和SDRAM的片選與S3C44B0X的nGCSx引腳連接之后,它們在S3C44B0X地址空間中的映射位置就固定不變了。而支持地址重映射的處理器則不同。下面以Samsung的另一款專門針對網絡應用的ARM7TDMI處理器S3C4510B為例來介紹。
??? S3C4510B內部有幾個特殊寄存器,用于實現各存儲介質在地址空間中的重映射。
??? (1)SYSCFG:該寄存器決定系統管理器中特殊寄存器的起始地址,以及片內SRAM的使用方式和起始地址。
??? (2)ROMCON0~ROMCON5:分別對應S3C4510B支持的6個ROM/SRAM/FLASH組??稍O置每組的起始物理地址和結束物理地址。
??? (3)DRAMCON0~DRAMCON3:分別對應S3C4510B所支持的4個DRAM組??稍O置每組的起始物理地址和結束物理地址。
??? 可以通過改變ROMCONx和DRAMCONx寄存器中基指針和尾指針的相應位來方便地實現S3C4510B系統中地址空間的重映射。圖2是S3C4510B在實際應用中典型的Remap實現。
??? 明確了地址可重映射與不可重映射的關系之后,下面將詳細討論如何在一個不支持Remap的系統中實現JFFS2文件系統。
3? JFFS2文件系統的實現
3.1 添加Flash的Map文件及芯片參數

??? 在μClinux-dist/linux-2.4.x/drivers/mtd/maps下添加本系統MPU的Map文件s3c44b0x.c。該文件包含了系統中Flash的相關信息,如Flash的起始物理地址、大小、數據總線的寬度、分區、讀寫函數、初始化和注銷程序等。具體配置如下:
??? (1)定義SST39VF160在系統中的起始地址、大小、總線寬度:
??? #define WINDOW_ADDR 0x00000000/*從0地址開始*/
??? #define WINDOW_SIZE 0x00200000/*2MB*/
??? #define BUSWIDTH ?2/*16位*/
??? (2)定義SST39VF160中字節、半字及字的讀寫操作函數。
??? (3)定義SST39VF160中的具體分區。在本系統中ROMFS文件系統是與內核編譯在一起的,因此定義了三個分區,分別用于放置引導內核啟動的BootLoader程序、經過壓縮的系統內核以及需要保存的動態數據。其中第三個區是要實現JFFS2文件系統的分區。
??? (4)定義用于初始化SST39VF160的int_init init_s3c44b0x(void)函數。因為S3C44B0X不支持Remap,所以注釋掉了與ioremap有關的語句,否則在系統啟動時將返回一個錯誤“Failed to ioremap”。另外SST39VF160是遵循JEDEC標準的Flash芯片,在探測時直接采用“jedec_probe”。
int _init init_s3c44b0x(void) {
……
??? /*s3c44b0x_map.map_priv_1 =(unsigned long)ioremap(WINDOW_ADDR,WINDOW_SIZE);
if(!s3c44b0x_map.map_priv_1) {
??? printk(″Failed to ioremapn″);
??? return -EIO;
}*/
mymtd=do_map_probe(″jedec_probe″,&s3c44b0x_map);
……
/*iounmap((void *)s3c44b0x_map.map_priv_1);*/
……
}
??? (5)定義用于注銷SST39VF160的static void _exit cleanup_s3c44b0x(void)函數。同理,注釋掉了與ioremap有關的語句。
??? static void _exit cleanup_s3c44b0x(void)
??? {? ……
??? ?/*if (s3c44b0x_map.map_priv_1) {
??????? ??iounmap((void *)s3c44b0x_map.map_priv_1);
??????? ??s3c44b0x_map.map_priv_1=0;
??? ?}*/
??? }
??? (6)由于在linux-2.4.x版本中沒有關于SST39VF160的定義,所以需要在μClinux-dist/linux-2.4.x/drivers/mtd/chips/jedec_probe.c中添加SST39VF160的相關信息。
3.2 修改MTD配置文件
??? 本節將論述地址可重映射與不支持地址重映射的嵌入式系統在實現JFFS2文件系統上的最大差別。當ARM處理器發生異常時,程序計數器PC會被強制地從異常類型對應的固定存儲器地址開始執行程序。這些固定的地址稱為異常向量(exception vector)。ARM中異常向量定位在32位地址空間的低端,正常地址范圍為:0x00000000~0x0000001C。每個異常向量內存放用戶編寫的一條跳轉指令,可以轉到中斷服務子程序的首地址。
??? 在嵌入式系統中,為了保證系統上電或復位時BootLoader 程序能夠首先被加載運行,Flash只能連接到存儲空間的0地址處。對于地址可重映射的系統,當系統啟動后,可將存放在Flash中的異常向量表的內容拷貝到SDRAM的基地址處,然后修改相應的寄存器,將SDRAM 重映射到0地址。這樣系統產生異常時,PC就可以直接從SDRAM中取指令,從而加快了程序的存取速度,縮短了中斷的響應時間。
??? 對于不支持地址重映射的系統,異常向量表中的內容只能存放在Flash的0地址處。每次系統進入異常的時候,系統必須從Flash中讀取指令。這一點對于實時性要求不高的場合影響不大,但要在這樣的系統上實現JFFS2文件系統則會出現問題。具體情況為:對Flash進行擦除(erase/eraseall)或寫入(cp/cat/dd)操作時會發生中斷,這時系統將強制PC指向異常向量表中的相應位置。在不支持地址重映射的系統中,異常向量表存放在Flash的0地址處。當PC開始從Flash中讀取指令時,系統就會死機。這是因為Flash在擦除或寫入的時候是不能執行讀操作的,否則就會發生不可預料的錯誤,從而不能完成擦除或寫入操作。相反,在支持地址重映射的系統中就不會出現這樣的問題。因為它是從SDRAM中讀取中斷跳轉指令的,不會出現在Flash擦除或寫入時執行讀操作的情況。
??? 為了解決在不支持地址重映射的系統中不能對Flash進行正常擦除或寫入的問題,采用了在MTD最低層的驅動函數的相應位置加關中斷和開中斷的方法。具體過程如下:
??? 在μClinux-dist/linux-2.4.x/include/asm/arch/hardware.h中定義:
??? #define?INT_ENABLE(n)?IntMask &=~(1<<(n))
??? #define?INT_DISABLE(n)?IntMask |=(1<<(n))
??? 在μClinux-dist/linux-2.4.x/include/asm/arch/irqs.h中定義:
??? #define?INT_GLOBAL??? 26?????? /*總中斷允許位*/
??? 對μClinux-dist/linux-2.4.x/drivers/mtd/chips/cfi_cmdset_0002.c文件做如下修改:
??? #include
??? #include
??? static inline int do_erase_oneblock(struct map_info *map,struct flchip *chip,unsigned long adr)
{?? ……
??? INT_DISABLE(INT_GLOBAL);
??? ……
??? INT_ENABLE(INT_GLOBAL);
??? ……
}
??? static int do_write_oneword(struct map_info *map,struct
????????? flchip *chip,unsigned long adr,_u32 datum,int fast)
{?? ……
??? INT_DISABLE(INT_GLOBAL);
??? ……
??? INT_ENABLE(INT_GLOBAL);
??? ……
}
3.3 內核配置文件設置
??? Menuconfig下的配置選項與在支持地址重映射的系統中實現JFFS2時的配置相同。為了避免MTDBLOCK與BLK-MEM主設備號的沖突,將?滋Clinux-dist/linux-2.4.x/drivers/block/blkmem.c與μClinux-dist/linux-2.4.x/includee/linux/major.h中的BLKMEM_MAJOR值從“31”改為“30”,然后添加MTD設備節點到/vendors/Samsung/44B0目錄下的Makefile文件中。
3.4 內核的編譯與啟動
??? 以上步驟完成之后,運行內核編譯命令,啟動內核。在超級終端中將顯示:
??? s3c44b0x flash device:200000 at 0
??? Found:SST SST39VF160
??? number of JEDEC chips:1
??? Creating 3 MTD partitions on ″S3C44B0X flash device″:
??? 0x00000000-0x00020000:″reserved for bootloader(128k)″
??? mtd:Giving out device 0 to reserved for bootloader(128k)
??? 0x00020000-0x00140000:″kernel(1152K)″
??? mtd:Giving out device 1 to kernel(1152K)
??? 0x00140000-0x00200000:″jffs2(768K)″
??? mtd:Giving out device 2 to jffs2(768K)
3.5 創建和拷貝JFFS2映像文件
??? /> eraseall /dev/mtd2
??? Erased 768 Kibyte @ 0 - 100% complete.
??? /> cd /var/tmp
??? /var/tmp> mkdir jffs2
??? /var/tmp> mkdir jffs2/file
??? /var/tmp> mkfs.jffs2 -d jffs2 -o jffs2.img
??? /var/tmp> cp jffs2.img /dev/mtd2
3.6 Mount JFFS2分區
??? /var/tmp> mount -t jffs2 /dev/mtdblock2 /mnt
??? /var/tmp> cd /proc
??? /proc> cat mounts
??? ……
??? /dev/mtdblock2 /mnt jffs2 rw 0 0?????? /*mount成功*/
??? /proc> cd /mnt
??? /mnt> ls
??? file
??? 如果希望μClinux每次啟動時,自動將Flash的第三個分區mount到/mnt目錄,可以在/vendors/Samsung/44B0目錄下的rc文件中加入:mount -t jffs2 /dev/mtdblock2/mnt。
4? 結束語
??? 本文討論了在不支持Remap的系統中建立JFFS2文件系統的必要性和可能性,并結合Samsung的S3C44B0X芯片,通過在MTD Driver中加關中斷和開中斷的方法實現了在不支持Remap的系統中建立JFFS2文件系統。由于在MTD Driver中關中斷和開中斷的操作增加了系統的復雜性,因此推薦采用兩片Flash:一片NOR型Flash用于存儲啟動裝載程序和內核;一片NAND型Flash用于存儲用戶的動態數據和應用程序。其中NAND型Flash可以采用新型的YAFFS文件系統。
參考文獻
1?? 賈東耀.μClinux下Nor Flash的JFFS2文件系統構建.國外電子元器件,2004;(9)
2?? 李桂良,劉發貴.JFFS2文件系統的關鍵技術及其在嵌入式系統中的應用.計算機應用,2003;(7)
3?? 胡晨峰.JFFS2文件系統在μClinux中的應用.電子產品世界,2004;(4)
4?? 吳明暉,徐睿,黃健等.基于ARM的嵌入式系統開發與應用.北京:人民郵電出版社,2004
5?? 王田苗.嵌入式系統設計與實例開發.北京:清華大學出版社,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          午夜电影亚洲| 亚洲一区精品视频| 国产亚洲综合精品| 美女视频一区免费观看| 久久精品国产精品亚洲| 亚洲一区二区三区四区五区午夜| 午夜在线视频观看日韩17c| 欧美专区一区二区三区| 国产精品二区三区四区| 在线观看亚洲a| 久久久不卡网国产精品一区| 午夜视频精品| 久久天天狠狠| 亚洲精品裸体| 欧美午夜精品久久久久久浪潮| 国产精品一区二区男女羞羞无遮挡| 欧美日韩午夜激情| 一级成人国产| 久久久噜噜噜久久狠狠50岁| 亚洲性感美女99在线| 亚洲欧美日韩精品久久久久| 久久成人免费电影| 亚洲一区二区免费在线| 日韩视频在线播放| 亚洲永久视频| 久久成人免费视频| 欧美99久久| 欧美日韩中文字幕精品| 欧美香蕉大胸在线视频观看| 国产精品久久久久久久久动漫| 国产视频亚洲| 精品成人在线| 午夜精品在线| 在线中文字幕不卡| 麻豆精品精品国产自在97香蕉| 国产精品一区2区| 欧美另类专区| 亚洲一区二区免费在线| 在线视频一区二区| 国产农村妇女精品一二区| 一本色道婷婷久久欧美| 国产欧美日韩一区二区三区| 一区二区三区四区国产| 国产一区二区三区不卡在线观看| 久久综合给合久久狠狠色| 亚洲免费成人av电影| 亚洲毛片在线| 国产精品久久久久毛片大屁完整版| 久久精品国产第一区二区三区| 亚洲肉体裸体xxxx137| 欧美另类专区| 久久免费观看视频| 91久久久一线二线三线品牌| 欧美.日韩.国产.一区.二区| 亚洲欧美成人| 亚洲欧美激情视频在线观看一区二区三区| 激情小说另类小说亚洲欧美| 一区二区三区国产精华| 国产情侣一区| 国产三级精品在线不卡| 久久九九免费视频| 亚洲黄色视屏| 在线不卡中文字幕播放| 久久天天综合| 一区二区av| 久久精品国产精品亚洲精品| 欧美午夜久久| 久久综合网hezyo| 欧美成人久久| 性高湖久久久久久久久| 亚洲一级黄色片| 亚洲欧美区自拍先锋| 欧美一区成人| 欧美自拍丝袜亚洲| 欧美网站大全在线观看| 欧美高清在线精品一区| 欧美.com| 美日韩精品视频| 六月婷婷久久| 日韩一区二区电影网| 亚洲视频图片小说| 亚洲性视频网站| 亚洲国产99精品国自产| 久久精品91久久香蕉加勒比| 欧美一区二区高清在线观看| 欧美三级视频在线播放| 亚洲香蕉在线观看| av成人免费在线观看| 亚洲精品影院在线观看| 亚洲欧洲日产国码二区| 亚洲一区免费| 亚洲国产精品欧美一二99| 久久精品亚洲一区二区三区浴池| 噜噜爱69成人精品| 欧美亚州一区二区三区| 亚洲国产精品一区二区www| 国产日产欧美精品| 欧美一区二区三区久久精品茉莉花| 欧美激情1区2区3区| 国产欧美精品日韩区二区麻豆天美| 狠狠爱www人成狠狠爱综合网| 亚洲日本中文字幕| 国产精品国产一区二区| 亚洲视频综合| 欧美 亚欧 日韩视频在线| 好吊色欧美一区二区三区视频| 中文精品99久久国产香蕉| 亚洲欧美中文另类| 久久精品夜色噜噜亚洲a∨| 欧美日韩中文字幕在线| 亚洲欧美中文日韩在线| 亚洲视频免费在线| 亚洲精品无人区| 国产欧美另类| 国产一区二区成人| 香蕉成人啪国产精品视频综合网| 在线一区二区三区做爰视频网站| 久久综合99re88久久爱| 欧美一区二区三区免费观看视频| 一区二区激情视频| 久久久久国产一区二区| 亚洲另类春色国产| 欧美伦理视频网站| 久久久夜色精品亚洲| 一区二区亚洲| 午夜精品一区二区三区电影天堂| 日韩网站在线观看| 国产精品网红福利| 久久阴道视频| 亚洲国产精品久久91精品| 国产日韩欧美精品综合| 在线亚洲一区观看| 99国产精品久久久| 欧美日韩综合网| 亚洲欧美激情精品一区二区| 欧美三级网页| 亚洲男同1069视频| 国产精品美女在线观看| 亚洲精品久久久久久下一站| 国产精品爽黄69| 老司机午夜精品视频在线观看| 亚洲乱码精品一二三四区日韩在线| 亚洲欧洲免费视频| 99国产精品自拍| 一区二区三区高清在线| 久久视频这里只有精品| 亚洲一区制服诱惑| 亚洲天堂av电影| 欧美一区二区性| 中文在线不卡视频| 99精品视频免费在线观看| 一本一本大道香蕉久在线精品| 亚洲色图在线视频| 亚洲福利久久| 亚洲欧洲日夜超级视频| 国产在线播放一区二区三区| 一区二区三区日韩精品| 国产精品久久一卡二卡| 久久夜色撩人精品| 宅男66日本亚洲欧美视频| 亚洲精品视频免费在线观看| 亚洲美女黄色| 欧美在线亚洲在线| 国产一区观看| 亚洲一区3d动漫同人无遮挡| 国产日韩精品一区| 久久精品国产久精国产爱| 精品动漫一区| 亚洲欧美日本视频在线观看| 在线观看视频一区二区欧美日韩| 国产色爱av资源综合区| 久久高清免费观看| 午夜精品久久久久久久99水蜜桃| 欧美日韩国产在线一区| 亚洲成在人线av| 午夜亚洲视频| 一区二区高清在线观看| 最新国产拍偷乱拍精品| 亚洲第一视频| 国产精品久久久久久模特| 亚洲欧洲午夜| 在线看欧美日韩| 欧美日韩一区高清| 欧美一区二区三区在线免费观看| 欧美暴力喷水在线| 亚洲视频中文字幕| 红桃视频一区| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美另类在线观看| 日韩视频免费| 久久久水蜜桃| 一本到12不卡视频在线dvd| 欧美噜噜久久久xxx| 国内成人精品一区| 另类国产ts人妖高潮视频| 激情欧美一区二区| 久久亚洲不卡| 国产精品久久久久国产精品日日| 国产精品videosex极品| 欧美视频在线看| 久久躁狠狠躁夜夜爽| 午夜亚洲性色视频| 9l视频自拍蝌蚪9l视频成人| 欧美黄色日本| 国产精品观看| 欧美激情亚洲自拍| 亚洲三级视频在线观看| 午夜精品视频在线观看| 亚洲国产视频直播| 国产精品亚洲人在线观看| 亚洲国产成人不卡| 国产精品国产精品国产专区不蜜| 亚洲免费人成在线视频观看| 欧美日韩精选| 激情综合激情| 国产精品区一区二区三| 亚洲三级视频| 欧美日韩一区二区视频在线观看| 翔田千里一区二区| 亚洲手机视频| 欧美日韩一区二区高清| 在线观看欧美激情| 一区二区冒白浆视频| 国产精品推荐精品| 永久91嫩草亚洲精品人人| 另类天堂视频在线观看| 欧美福利影院| 欧美第十八页| 日韩一级网站| 激情六月婷婷综合| 亚洲美女精品一区| 亚洲国产va精品久久久不卡综合| 欧美国产日韩一二三区| 欧美激情一区二区三区全黄| 欧美视频在线观看视频极品| 亚洲午夜精品| 亚洲视频一区二区在线观看| 久久国产主播精品| 99精品视频免费全部在线| 欧美黑人一区二区三区| 欧美精品午夜视频| 尤物视频一区二区| 99国产成+人+综合+亚洲欧美| 91久久国产精品91久久性色| 在线播放中文一区| 欧美一级欧美一级在线播放| 欧美日韩高清免费| 日韩午夜激情电影| 亚洲日本中文字幕免费在线不卡| 国产精品区一区| 红桃视频国产精品| 欧美精品久久一区二区| 在线色欧美三级视频| 免费看精品久久片| 亚洲国产精品一区二区久| 精品成人一区二区三区| 欧美精品不卡| 国产主播喷水一区二区| 久久九九久久九九| 国产精品有限公司| 亚洲一区二区三区四区五区黄| 国产婷婷一区二区| 亚洲黑丝一区二区| 国产精品大全| 伊人成人在线视频| 99精品国产福利在线观看免费| 国产精品视频免费观看www| 久久综合精品国产一区二区三区| 久久精品中文| 国产女人精品视频| 亚洲国内自拍| 亚洲欧美另类在线| 亚洲国产欧美日韩另类综合| 噜噜噜久久亚洲精品国产品小说| 亚洲一区视频在线| 在线观看一区二区精品视频| 在线欧美一区| 狠狠久久五月精品中文字幕| 亚洲一区二区视频在线观看| 一区二区三区在线高清| 欧美日韩中文字幕| 欧美小视频在线观看| 曰本成人黄色| 一区二区三区久久| 亚洲国产精品久久| 久久九九99| 亚洲欧洲免费视频| 一区二区三区日韩欧美| 久久亚洲精品中文字幕冲田杏梨| 国产精品日韩一区二区| 欧美美女bb生活片| 久久亚裔精品欧美| 久久久蜜臀国产一区二区| 亚洲性xxxx| 久久综合九色99| 一区二区三区日韩精品视频| 91久久精品www人人做人人爽| 亚洲欧美日韩国产一区二区| 久久久水蜜桃av免费网站| 亚洲一区二区欧美| 亚洲一区二区黄| 国产精品久久久久久久久免费桃花| 国产精品久久午夜夜伦鲁鲁| 性色av一区二区三区| 中文精品99久久国产香蕉| 欧美日韩你懂的| 亚洲欧洲在线看| 欧美jizz19hd性欧美| 国产美女精品一区二区三区| 一区二区三区导航| 欧美一区二区黄| 99精品国产在热久久下载| 亚洲乱码精品一二三四区日韩在线| 亚洲调教视频在线观看| 国产精品夜夜夜一区二区三区尤| 国产欧美va欧美va香蕉在| 一区一区视频| 韩国福利一区| 欧美视频中文字幕在线| 欧美日产一区二区三区在线观看| 国产精品黄视频| 制服丝袜激情欧洲亚洲| 亚洲乱码国产乱码精品精98午夜| 99亚洲视频| 久久综合亚洲社区| 国产午夜精品福利| 伊人久久综合| 久久久久久久久久久久久久一区|