日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Uboot 命令是如何被使用的?

發布時間:2023/11/30 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Uboot 命令是如何被使用的? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有什么問題請 發郵件至syyxy@outlook.com, 歡迎交流~??

?

在uboot代碼中命令的模式是這個樣子:

?

?

?

這樣是如何和命令行交互的呢?

?

在command.h 中, 我們可以看到如下宏定義

?

將其拆分出來:

#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \

???????? U_BOOT_CMD_COMPLETE(name,maxargs, rep,cmd,usage,help,NULL)

我們可以看到

U_BOOT_CMD(

???????? md,? 3,????? 1,????? do_mem_md,

???????? "memory display",

???????? "[.b, .w, .l] address [# of objects]"

);

?被define成了:

U_BOOT_CMD_COMPLETE(

???????? md,? 3,????? 1,????? do_mem_md,

???????? "memory display",

???????? "[.b, .w, .l] address [# of objects]",NULL

);

?

繼續:

?

#define U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \

???????? cmd_tbl_t __u_boot_cmd_##name Struct_Section = \

?????????????????? U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp)

?

其中,##name 意思是 使用 name 替換 ##name

?

由此可見,上述被define成了:

cmd_tbl_t? ?__u_boot_cmd_md? Struct_Section = \

U_BOOT_CMD_MKENT_COMPLETE(md,????? 3,????? 1,????? do_mem_md, "memory display","[.b, .w, .l] address [# of objects]",NULL);

?

?

繼續:

?

#define U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \

?

???????? {#name, maxargs, rep, cmd, usage, _CMD_HELP(help) _CMD_COMPLETE(comp)}

?

?

?

其中,#的作用是字符串化,意思是將 name 轉化成一個字符串。

?

具體## 和 # 請參閱如下文檔。

?

https://wenku.baidu.com/view/56ed000216fc700abb68fcdd.html

?

?

?

可以看到,U_BOOT_CMD_MKENT_COMPLETE(md,???????? 3,????? 1,????? do_mem_md, "memory display","[.b, .w, .l] address [# of objects]"); ??被define成了

{“md”, 3, 1, do_mem_md, "memory display", _CMD_HELP("[.b, .w, .l] address [# of objects]")? ?_CMD_COMPLETE(NULL)}

?

因此 U_BOOT_CMD_COMPLETE被定義成了:

cmd_tbl_t? ?__u_boot_cmd_md? Struct_Section = \

{

“md”,

?3,

1,

?do_mem_md,

?"memory display",

?_CMD_HELP("[.b, .w, .l] address [# of objects]")? _CMD_COMPLETE(NULL)

}

?

繼續:

由于 #define Struct_Section? __attribute__((unused, section(".u_boot_cmd"), aligned(4))),而

# define _CMD_COMPLETE(x)? ?x,

# define _CMD_HELP(x)? ?x,

(注意最后都有一個逗號) , 因此 上述被定義成了

cmd_tbl_t ?__u_boot_cmd_md ?__attribute__((unused, section(".u_boot_cmd"), aligned(4))) =

{

“md”,

?3,

1,

?do_mem_md,

?"memory display",

?"[.b, .w, .l] address [# of objects]",

?NULL

}

上述是我們的分析,接下來?通過將cmd_mem.c 預編譯得到

cmd_tbl_t __u_boot_cmd_md __attribute__((unused, section(".u_boot_cmd"), aligned(4))) =

{"md",

?3,

?1,

do_mem_md,

?"memory display",

"[.b, .w, .l] address [# of objects]",

((void *)0),};

完全一致,因此上述分析正確。

=================================我是分割線===================================

?

接下來第二步,這些命令是如何被使用的?

首先分析我們在第一步得到的結構體:

?

cmd_tbl_t __u_boot_cmd_md ?__attribute__((unused, section(".u_boot_cmd"), aligned(4))) =

{"md",

?3,

?1,

do_mem_md,

?"memory display",

"[.b, .w, .l] address [# of objects]",

((void *)0),};

?

__attribute__((unused, section(".u_boot_cmd"), aligned(4))) 說明,將這個結構體放到 .u_boot_cmd 段中,該段4字節對其,unused 代表 告訴編譯器 該函數或者變量可能不使用,GGC不要對其報警告。

請注意, 這里是將該結構體放到編譯出來的.o 文件的 .u_boot_cmd段,? ?沒有放到輸出文件的.u_boot_cmd。當鏈接的時候才能放到 輸出文件的?.u_boot_cmd段。

我們知道 GCC 默認的段中沒有 .u_boot_cmd 這個段,那么就要手動創建這個段。Uboot通過鏈接腳本創建的這個段, 圖片截取自u-boot.lds

?

?

?

既然說在會將指令放到 .u_boot_cmd 這個段,那么能不能證明呢?

以瀾起平臺為例,找到生成的中間文件 u-boot 通過objdump –t 找到symbol table 然后 grep 出u_boot_cmd使用如下指令,

/opt/Montage-tech/mips-4.3/bin/mips-linux-gnu-objdump -t u-boot |grep u_boot_cmd >~/u-boot.txt 可以得到 如下cmd , 其中加紅 的是我們上述 md 命令 :8017964c l d .u_boot_cmd 00000000 .u_boot_cmd80179b70 g O .u_boot_cmd 0000001c __u_boot_cmd_nf80179b1c g O .u_boot_cmd 0000001c __u_boot_cmd_macmode801799e8 g O .u_boot_cmd 0000001c __u_boot_cmd_cpu80179dbc g O .u_boot_cmd 0000001c __u_boot_cmd_freeze_with_dioff80179c6c g O .u_boot_cmd 0000001c __u_boot_cmd_sspi80179a90 g O .u_boot_cmd 0000001c __u_boot_cmd_macinit8017964c g O .u_boot_cmd 0000001c __u_boot_cmd_runapp801798d0 g O .u_boot_cmd 0000001c __u_boot_cmd_mm80179b8c g O .u_boot_cmd 0000001c __u_boot_cmd_env80179da0 g O .u_boot_cmd 0000001c __u_boot_cmd_av_launch801797b8 g O .u_boot_cmd 0000001c __u_boot_cmd_fatls8017987c g O .u_boot_cmd 0000001c __u_boot_cmd_loady80179d14 g O .u_boot_cmd 0000001c __u_boot_cmd_version80179b54 g O .u_boot_cmd 0000001c __u_boot_cmd_ntt80179cf8 g O .u_boot_cmd 0000001c __u_boot_cmd_usbboot80179748 g O .u_boot_cmd 0000001c __u_boot_cmd_coninfo80179be0 g O .u_boot_cmd 0000001c __u_boot_cmd_setenv80179d68 g O .u_boot_cmd 0000001c __u_boot_cmd_tsi80179940 g O .u_boot_cmd 0000001c __u_boot_cmd_cp801796bc g O .u_boot_cmd 0000001c __u_boot_cmd_reset80179ca4 g O .u_boot_cmd 0000001c __u_boot_cmd_false80179994 g O .u_boot_cmd 0000001c __u_boot_cmd_loop80179a04 g O .u_boot_cmd 0000001c __u_boot_cmd_nand801796d8 g O .u_boot_cmd 0000001c __u_boot_cmd_bootm80179a58 g O .u_boot_cmd 0000001c __u_boot_cmd_mpw80179978 g O .u_boot_cmd 0000001c __u_boot_cmd_base 80179bc4 g O .u_boot_cmd 0000001c __u_boot_cmd_printenv 80179c34 g O .u_boot_cmd 0000001c __u_boot_cmd_snf 801799cc g O .u_boot_cmd 0000001c __u_boot_cmd_sleep 80179ac8 g O .u_boot_cmd 0000001c __u_boot_cmd_macrx 80179c18 g O .u_boot_cmd 0000001c __u_boot_cmd_sf 80179d84 g O .u_boot_cmd 0000001c __u_boot_cmd_show_logo 80179764 g O .u_boot_cmd 0000001c __u_boot_cmd_echo 8017980c g O .u_boot_cmd 0000001c __u_boot_cmd_help 80179844 g O .u_boot_cmd 0000001c __u_boot_cmd_itest 80179df4 g .u_boot_cmd 00000000 __u_boot_cmd_end 80179d4c g O .u_boot_cmd 0000001c __u_boot_cmd_secure 80179780 g O .u_boot_cmd 0000001c __u_boot_cmd_exit 801796a0 g O .u_boot_cmd 0000001c __u_boot_cmd_goo 80179bfc g O .u_boot_cmd 0000001c __u_boot_cmd_run 80179c88 g O .u_boot_cmd 0000001c __u_boot_cmd_test 80179828 g O .u_boot_cmd 0000001c __u_boot_cmd_question_mark 80179908 g O .u_boot_cmd 0000001c __u_boot_cmd_mw 80179dd8 g O .u_boot_cmd 0000001c __u_boot_cmd_jpeg_logo 80179d30 g O .u_boot_cmd 0000001c __u_boot_cmd_vid 80179a3c g O .u_boot_cmd 0000001c __u_boot_cmd_mpr 80179ae4 g O .u_boot_cmd 0000001c __u_boot_cmd_bootp 80179ba8 g O .u_boot_cmd 0000001c __u_boot_cmd_editenv 80179898 g O .u_boot_cmd 0000001c __u_boot_cmd_loadimg 80179924 g O .u_boot_cmd 0000001c __u_boot_cmd_cmp 8017972c g O .u_boot_cmd 0000001c __u_boot_cmd_iminfo 80179860 g O .u_boot_cmd 0000001c __u_boot_cmd_loadb 801798ec g O .u_boot_cmd 0000001c __u_boot_cmd_nm 801797f0 g O .u_boot_cmd 0000001c __u_boot_cmd_fatwrite 801799b0 g O .u_boot_cmd 0000001c __u_boot_cmd_mtest 8017995c g O .u_boot_cmd 0000001c __u_boot_cmd_crc32 80179b38 g O .u_boot_cmd 0000001c __u_boot_cmd_dhcp 8017979c g O .u_boot_cmd 0000001c __u_boot_cmd_fatload 801797d4 g O .u_boot_cmd 0000001c __u_boot_cmd_fatinfo 80179cc0 g O .u_boot_cmd 0000001c __u_boot_cmd_true 801798b4 g O .u_boot_cmd 0000001c __u_boot_cmd_md 80179c50 g O .u_boot_cmd 0000001c __u_boot_cmd_source 80179aac g O .u_boot_cmd 0000001c __u_boot_cmd_mactx 80179cdc g O .u_boot_cmd 0000001c __u_boot_cmd_usb 80179b00 g O .u_boot_cmd 0000001c __u_boot_cmd_tftpboot 80179668 g O .u_boot_cmd 0000001c __u_boot_cmd_bdinfo 80179710 g O .u_boot_cmd 0000001c __u_boot_cmd_bootd 80179a20 g O .u_boot_cmd 0000001c __u_boot_cmd_nboot 8017964c g .u_boot_cmd 00000000 __u_boot_cmd_start 801796f4 g O .u_boot_cmd 0000001c __u_boot_cmd_boot 80179684 g O .u_boot_cmd 0000001c __u_boot_cmd_go 80179a74 g O .u_boot_cmd 0000001c __u_boot_cmd_macfilter

如上,就是定義的結構如何被使用, 并且得到了證明。

=================================我是分割線===================================

接下來是最后一步,我們從命令行輸入指令是是如何和我們的 .u_boot_cmd 段連接起來的?

?

在 command.c 中的 num command_ret_t cmd_process(int flag, int argc, char * const argv[],

??????????????????????????? ?????? int *repeatable) 函數中 調用了 find_cmd, 以下為其實現。

cmd_tbl_t *find_cmd (const char *cmd)

{

???????? int len = &__u_boot_cmd_end - &__u_boot_cmd_start;

???????? return find_cmd_tbl(cmd, &__u_boot_cmd_start, len);

}

?

其中 __u_boot_cmd_end 和 __u_boot_cmd_start 為在u-boot.lds 中定義的字段

.u_boot_cmd : {

?__u_boot_cmd_start = .;

?*(.u_boot_cmd)

?__u_boot_cmd_end = .;

?}

?

等號后面的 ' . '?代表鏈接后的當前位置。在上一步中我們查到了 __u_boot_cmd_start 位置為 0x8017964c , __u_boot_cmd_end 位置為 0x80179df4。Len = 0x7A8

?

當我們輸入一個存在的指令后, ?find_cmd_tbl(cmd, &__u_boot_cmd_start, len); 會得到該指令的地址, ?然后調用 cmd_call 執行, 具體請看command.c 下的cmd_process 函數。

=================================我是分割線===================================

?

至此,Uboot 命令的流程已經說明白了。

?

=================================我是分割線===================================

此外, 對Uboot 有所研究的朋友在makefile 中發現了這么一句話:

?

GEN_UBOOT = \
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
  sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
  cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \
  --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
  -Map u-boot.map -o u-boot

這句話解析如下 :

首先 在Makefile中,??`?` 代表 執行shell代碼, 讓我們把該代碼拿出來 :

$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
  sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq?

$(OBJDUMP)? 代表 objdump 工具,??$(LIBBOARD)??$(LIBS) 明顯代表一些庫文件, $(SYM_PREFIX) 代表前綴,這些對我們分析問題無關緊要 ,這里我們將其簡化。于是上述代碼簡化成了:

objdump -x libtest.a | sed -n -e? 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq?

objudmp -x??libtest.a? 可以得到?libtest.a 庫中所有的 symbol, 包括函數,數組,文件等,這里我們簡稱為符號 .

然后將得到的符號通過"管道" 傳遞給sed 進行編輯。接下來對sed 進行分析:

sed -n -e??'s/.*\(__u_boot_cmd_.*\)/-u\1/p'?

sed -n -e 代表使用 silent 模式,以及直接在命令行進行編輯動作。

'? ?'? 兩個單引號之間表示將要進行的動作 。?

標記成黑色的?s 代表會進行替換操作('s/要被取代的字串/新的字串/').

p 代表打印出來。

因此上面的表達式的最淺顯的意思是:

將? ?.*\(__u_boot_cmd_.*\)??替換為??-u\1? ??

并且由于sed 支持正則表達式, 在正則表達式中括號()代表分組, 使用 \1 \2 \3 獲取第一個分組,第二個分組, 第三個分組。因此上述表達式進一步被理解為:

將???.*__u_boot_cmd_.*??替換為??-u.*__u_boot_cmd_.*??

請注意,? 上面的字符串和上上面字符串的不同。

在正則表達式中 . 代表任意字符(不包括空格),*? 代表任意個, 因此我們將上述語句按照漢語翻譯一遍:

使用?objdump -x? 解析???libtest.a 得到一些符號,將這些符號使用sed 進行處理, 處理方式是: 找到符號中有__u_boot_cmd_字段的那一部分, 然后在這些字段前面加上-u。

接下來?|sort|uniq? 就比較好理解了,就是進行排序和消除重復。

然后將其賦值給??UNDEF_SYM?. 至此?

UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
  sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;? 這一部分分析完畢, 總結來說就是 找到一些字段,在字段前面加上-u ,最后賦值給?UNDEF_SYM 這個變量。

?

接下來分析:

cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \
  --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
  -Map u-boot.map -o u-boot

其實這一點沒什么好說的, 無非就是執行ld 鏈接,然后生成u-boot這個文件, 這里需要注意的是 在其中使用了??UNDEF_SYM 變量,UNDEF_SYM 代表-uxxx__u_boot_cmd_xxx ,這是什么意思呢??

通過 man ld 可以找到 :

-u symbol--undefined=symbolForce symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option argumentsto enter additional undefined symbols. This option is equivalent to the "EXTERN" linker script command.

?


也就是說在可執行文件中通過-u可以插入未定義變量。

?這樣一來, 也就明白了 這段代碼的目的是u_boot_cmd?變量插入到可執行文件中。?

?

接下來繼續最開始的問題:? 既然u-boot 使用?__attribute__((unused, section(".u_boot_cmd"), aligned(4)))? 的方式將uboot 的指令插入到 輸出文件的? .u_boot_cmd? 段, 那??GEN_UBOOT? 這個 ‘函數' 的意義是什么呢? 將重復的工作在做一遍嗎 ?

?

這個問題也困擾了我很久,直到本篇文檔寫完也沒有頭緒, 我的分析過程簡單的說一下,?

使用ld -u 插入符號, 一般都會在 ?.strtab? ?這個段中,? 可以通過 readelf -S test.out,可以找到???.strtab? ?這個段的index ,比如說是 38, 然后通過 readelf? -x38??test.out ,查看源文件。可以清楚的看到這些字段。

但是使用???__attribute__((unused, section(".u_boot_cmd"), aligned(4)))?? 的方式鏈接器會自動的將 我們定義的變量的字段系寫入到? ??.strtab? 這個section 中(大家可以寫一個簡單的小程序驗證下,我之前驗證過,但是代碼沒有保存下來)。 這樣看來 就重復了。 因此從目前來看,?GEN_UBOOT? 是沒有什么用的。當然, 如果果有哪位朋友知道原因,請發郵件給我 syyxy@outlook.com 或者評論一下,感激不盡。

?

轉載于:https://www.cnblogs.com/syyxy/p/8992446.html

總結

以上是生活随笔為你收集整理的Uboot 命令是如何被使用的?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

色先锋资源网 | 在线免费观看黄色av | 色婷婷综合在线 | 99视频在线观看视频 | 国产精品久久久久久久久久久久午夜片 | 欧美人人 | 亚洲精品国产精品国 | 日日操操 | 亚洲精品免费在线观看视频 | 久久久久国产a免费观看rela | 日韩精品中文字幕在线观看 | 国产精品自产拍在线观看中文 | 国产黄色片一级三级 | 精品你懂的 | 亚洲色视频| 精品国产诱惑 | 日韩国产精品久久久久久亚洲 | 日韩专区在线观看 | 久久99精品久久久久蜜臀 | 在线中文字幕网站 | 国产h在线播放 | 久久人人爽爽人人爽人人片av | 综合精品久久久 | 伊人色综合久久天天网 | 久久毛片视频 | 黄色资源在线观看 | 婷婷资源站 | 天堂av在线免费 | 色天天综合久久久久综合片 | 在线观看中文字幕第一页 | 日本精品视频在线观看 | 一区二区三区在线免费 | 日韩在线视频观看免费 | 精品福利在线 | 日韩av在线小说 | 国产一区二区不卡视频 | 激情在线网址 | 中文字幕av电影下载 | 一区二区三区三区在线 | 精品国产一区二区三区日日嗨 | 五月婷婷色丁香 | 国产一区二区在线观看免费 | 国产精品久久久精品 | 久热爱 | 久久精品99视频 | 亚洲精品久久久蜜桃 | 成人xxxx | 欧美日韩首页 | 黄色免费网 | 高清av免费看 | 婷色在线| 国产手机视频在线观看 | 国产在线播放不卡 | 国产aa精品| 九色精品在线 | 欧美性网站| 97视频在线观看网址 | 欧美亚洲一级片 | 久久不射电影院 | 久久av一区二区三区亚洲 | 精品成人国产 | 91在线免费播放视频 | 久久性生活片 | 91毛片在线| 国产69精品久久99不卡的观看体验 | 中文视频一区二区 | 日韩欧美一区二区三区视频 | 色综合天天视频在线观看 | 久久露脸国产精品 | 国产小视频福利在线 | 国产精品久久久区三区天天噜 | 91干干干| 精品在线亚洲视频 | 国产一级视频免费看 | 中文字幕资源在线观看 | 丁香激情视频 | 国产一区久久久 | 久久香蕉一区 | 国产精品va最新国产精品视频 | 在线免费中文字幕 | 色婷婷六月天 | 亚洲精品免费在线观看视频 | 色吊丝在线永久观看最新版本 | 97碰视频 | 日韩a在线 | 久草在线视频网站 | 在线观看免费黄视频 | 丁香六月综合网 | 天天干天天怕 | 香蕉91视频 | 国产又粗又猛又爽 | 久久无码av一区二区三区电影网 | 96看片 | 国产精品丝袜久久久久久久不卡 | 久久玖| 黄色在线成人 | 成人va在线观看 | 国产伦理一区二区三区 | 国产精品久久久 | 91亚洲精 | 久99精品 | 国产精品观看视频 | 国产成人在线观看免费 | 香蕉在线视频观看 | 99成人在线视频 | 午夜丁香视频在线观看 | 亚洲国产影院av久久久久 | 久久9999久久免费精品国产 | 欧美一二区视频 | 黄网站污 | 一区二区电影网 | 奇米网444 | 国产精品热视频 | 色干干| 91看国产| a国产精品 | 亚洲精品国产精品国产 | 黄色成人av | 国产精品成人在线观看 | 成 人 黄 色 视频免费播放 | 久久精品国产亚洲精品2020 | 国产啊v在线| 欧美成人按摩 | 97影视| 久久精品欧美日韩精品 | 国产91免费观看 | 久久无码av一区二区三区电影网 | 国产1区2| 午夜国产福利在线 | 操操操操网 | 国产精品永久在线观看 | 国产99区 | 婷婷丁香色 | 免费观看www小视频的软件 | 在线电影日韩 | 中文字幕亚洲欧美日韩2019 | 中文字幕免费久久 | 日韩欧美一二三 | 色综合人人 | 国色天香在线观看 | 美女免费视频黄 | 成人久久视频 | 91桃色国产在线播放 | 国产黄色大片 | 久久久久久久久久伊人 | 美女黄色网在线播放 | 精品专区一区二区 | 在线看不卡av | 亚洲影院色| 久草在线费播放视频 | 国产一区在线免费 | 91九色视频网站 | 国产午夜精品一区二区三区在线观看 | 欧美另类69 | 蜜臀久久99精品久久久无需会员 | 色999精品| 操操操夜夜操 | 超碰999 | www.亚洲激情.com | 中文字幕在线视频一区二区三区 | 激情丁香综合五月 | 国产亚洲欧洲 | a√国产免费a | 亚洲一区久久久 | 99re视频在线观看 | 麻豆国产露脸在线观看 | 美女视频是黄的免费观看 | 中文字幕在线观看2018 | 国产在线精品二区 | 天天爽夜夜操 | 日本三级大片 | 日韩影片在线观看 | 婷婷综合激情 | 久久久久久国产一区二区三区 | 国产一区二区影院 | 99re视频在线观看 | 色综合色综合久久综合频道88 | 成年人在线观看网站 | 黄色成年网站 | 日韩综合视频在线观看 | 天天综合区 | 国产精品久久精品国产 | 黄色一级网 | 91亚洲狠狠婷婷综合久久久 | 久久av在线播放 | 日本 在线 视频 中文 有码 | 99国产精品 | 欧美视频一区二 | 日韩伦理片一区二区三区 | 黄色国产精品 | 狠狠狠色 | 伊人日日干 | 中文字幕免费高 | 人人爽人人爽人人片av免 | 99免费在线视频 | 99精品视频免费看 | 亚洲爱av| 最近中文字幕高清字幕免费mv | 久久国产一区 | 黄色av三级在线 | 中文字幕在线观看不卡 | 久久综合久久88 | 日韩在线观 | 天堂激情网 | 国产小视频在线播放 | 精品国产乱码 | 久久精品中文字幕一区二区三区 | 国产一区二区手机在线观看 | 欧美一级欧美一级 | 最新成人在线 | 99久久婷婷国产 | 一区二区三区韩国免费中文网站 | 国产精品免费看久久久8精臀av | 99国产精品久久久久老师 | 亚洲精品成人 | 亚洲精品国产成人av在线 | 99久久精品久久久久久清纯 | 自拍超碰在线 | 五月婷婷香蕉 | 婷婷丁香七月 | 日韩午夜三级 | 久久综合狠狠 | 最新av观看 | 久久久国产精品麻豆 | 亚洲综合色激情五月 | 亚洲一区二区视频在线播放 | 国产精品v欧美精品v日韩 | 一区二区精品视频 | 国产黄色精品在线 | av看片网| 国产精品一区二区三区四 | 国产日韩中文在线 | 狠狠的操狠狠的干 | 91精品国产综合久久久久久久 | 国产视频在线看 | 在线电影 一区 | 欧美 另类 交 | 亚洲精品国偷拍自产在线观看蜜桃 | 成人网在线免费视频 | 日韩中文字幕视频在线观看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 久草9视频 | 国产在线观 | 久久精品视频2 | av大全在线播放 | 在线观看免费福利 | 欧美日韩国产免费视频 | 国产视频高清 | 果冻av在线| 91精品视频免费看 | 超碰97人人在线 | 99热在线这里只有精品 | 久久免费观看视频 | av成人在线看 | 国产精品一区二区三区电影 | 超碰在线免费97 | 日韩电影在线观看一区二区三区 | 欧美日韩国产在线精品 | 国产裸体视频网站 | 精品久操 | 欧美日韩精品在线观看视频 | 亚洲区另类春色综合小说校园片 | 99精品在线免费观看 | 干天天| 六月天色婷婷 | 91麻豆看国产在线紧急地址 | 久青草电影 | 色www免费视频 | 欧美在线free | 91精品成人 | 日日综合网 | 在线观看视频日韩 | 免费成人在线网站 | 一区二区久久久久 | 国产日产精品一区二区三区四区的观看方式 | 天天爽天天射 | 国产三级视频在线 | 99精品视频一区 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久香蕉国产 | 亚州人成在线播放 | 一区二区激情视频 | 91激情在线视频 | 成人 亚洲 欧美 | 国产精品久久久毛片 | 免费三级骚 | 超碰在线人人 | 国产精品自产拍在线观看蜜 | 丁香久久综合 | 99视频99| 亚洲少妇xxxx | 999男人的天堂 | 欧美精品久久久 | 有码中文在线 | 欧美日韩中文在线 | 国产一区在线视频 | 精品免费一区二区三区 | 色婷婷激情电影 | 国色天香在线观看 | 亚洲精品午夜aaa久久久 | 91精品国产亚洲 | 日韩一级成人av | 成年人免费看片 | 91精品久久香蕉国产线看观看 | 成人在线视频网 | 亚洲成人高清在线 | 欧美日韩一级视频 | 日韩一区二区免费在线观看 | 91丨精品丨蝌蚪丨白丝jk | 一二三久久久 | 麻豆视频免费在线 | 欧美激情精品久久久久 | 欧美日韩二三区 | 久久免费视频在线观看30 | 香蕉视频免费在线播放 | 欧美日韩在线看 | 欧美一级片免费在线观看 | 中文在线免费看视频 | 成人精品一区二区三区中文字幕 | 免费观看第二部31集 | 国产精品美女视频 | 一级片观看 | 99热在线国产精品 | 草久在线观看视频 | 欧美日韩精品免费观看 | 中文字幕在线播放视频 | 久久中文精品视频 | 色视频网站免费观看 | 亚洲做受高潮欧美裸体 | 狠狠干成人综合网 | 人人艹人人 | 天天操夜夜爱 | 欧美在线资源 | 国产18精品乱码免费看 | 美女视频黄频大全免费 | 久久久久久久久久久高潮一区二区 | 国产精品一区二区在线观看免费 | 麻豆免费视频观看 | 综合久久久久久 | 婷婷久月 | 在线观看视频在线观看 | 色天天 | 青草视频在线 | 美女视频免费一区二区 | 日日夜夜综合 | 亚洲国产人午在线一二区 | 五月激情久久久 | 欧美孕妇与黑人孕交 | 日本系列中文字幕 | 免费在线观看av不卡 | 中国一级片在线观看 | 日韩二级毛片 | 欧美 激情 国产 91 在线 | 久久情网 | 黄色三级久久 | 亚洲第一av在线播放 | 久久中文网 | 日日骑| 久久久精品国产免费观看同学 | 日韩有色 | 91传媒在线观看 | 欧美在线视频一区二区 | 日韩一级电影在线观看 | 最近中文字幕视频完整版 | 成人午夜电影在线观看 | 久久看看| 国产h片在线观看 | 国产精品久久久久久久久久尿 | 91在线亚洲 | 中国一级片视频 | 综合激情av | 久久久久久久久久久久久影院 | 国产va精品免费观看 | 亚洲每日更新 | 久久96国产精品久久99漫画 | 色综合久久久久综合体桃花网 | 日韩成人中文字幕 | 久草视频国产 | 99免费| 亚洲在线高清 | 亚洲精品乱码久久久久久 | 久久精品视频4 | 国产精品99久久免费观看 | 日本精品va在线观看 | 国产资源在线视频 | 久久国产一二区 | 日韩视频免费在线观看 | 91天堂影院| 日韩精品国产一区 | 久久伊人婷婷 | 97精品国自产拍在线观看 | 91在线精品视频 | 福利精品在线 | 天天拍天天操 | 一级特黄av | 天天鲁一鲁摸一摸爽一爽 | 精品99免费视频 | 超碰国产在线播放 | 干干夜夜 | 久久国产午夜精品理论片最新版本 | 男女靠逼app | 在线视频在线观看 | 国产理伦在线 | 永久免费精品视频网站 | 欧美激情综合五月色丁香小说 | 国产欧美中文字幕 | 国产午夜一级毛片 | 又黄又刺激 | 免费观看91视频大全 | av免费黄色 | 六月激情网 | 婷婷国产视频 | 色婷婷综合成人av | 在线观看成人福利 | 国产中文字幕视频在线观看 | 午夜视频一区二区 | 国产aa精品 | 97成人精品视频在线播放 | 成人资源在线播放 | 亚洲国产中文字幕 | 国产精品久久av | 97在线观视频免费观看 | 99热这里有精品 | 狠狠干成人 | 婷婷色综| 国产黄色一级大片 | 国产福利91精品张津瑜 | 久久99精品国产麻豆宅宅 | 丝袜美腿亚洲 | 婷婷久久一区 | 日韩av一区二区三区四区 | 夜夜骑天天操 | 青青河边草观看完整版高清 | 四虎在线观看精品视频 | 91精品无人成人www | 亚洲v欧美v国产v在线观看 | 午夜精品久久久久久99热明星 | 二区三区在线 | 久久精品视频观看 | 黄色大片国产 | 欧美视频在线观看免费网址 | 欧洲高潮三级做爰 | 久久tv| 亚洲精品欧美视频 | 精品国产精品久久 | 成年人黄色在线观看 | www.久久免费视频 | 午夜天使 | 韩日视频在线 | 亚洲精品欧美精品 | 亚洲视频免费视频 | 久久久久久久久爱 | 国产精品乱码久久 | 欧美精品久久人人躁人人爽 | 亚洲一区二区精品在线 | 久久亚洲精品国产亚洲老地址 | 国产手机在线精品 | 久久社区视频 | 色97在线 | 国产麻豆剧传媒免费观看 | 国产电影一区二区三区四区 | 日韩视频一区二区在线观看 | 99精品视频免费全部在线 | 婷婷综合五月 | 韩日av一区二区 | 久久激情视频 | 精品99在线| 久久免费在线观看 | 嫩草av影院 | 天天插视频 | 国产精品岛国久久久久久久久红粉 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲激情六月 | 久久精品—区二区三区 | 久久69av| 精品99免费视频 | 日韩在线观看视频免费 | 日韩剧| 免费成人在线网站 | 欧美 国产 视频 | 成年人免费在线看 | 五月婷网| 日韩免费不卡视频 | 久热电影 | 免费情缘| 国内视频在线 | 色五月色开心色婷婷色丁香 | 久久a v视频 | 国产综合91 | 久久久久免费电影 | 亚洲成人av在线电影 | 国产精品精品久久久久久 | 欧美在线视频免费 | 在线免费观看一区二区三区 | 亚洲精品久久久久999中文字幕 | 成人激情开心网 | www.婷婷com| 国产盗摄精品一区二区 | 激情黄色一级片 | 91人人澡人人爽人人精品 | 五月婷婷视频 | 国内精品久久久久影院日本资源 | 天天曰天天干 | 天堂av色婷婷一区二区三区 | 日韩午夜三级 | 中文字幕视频播放 | 国产在线精品国自产拍影院 | 亚洲国产午夜精品 | 天天干天天摸天天操 | 亚洲视频,欧洲视频 | 精品欧美在线视频 | 国产小视频在线免费观看视频 | 久久在草| 午夜精品久久久久久 | 亚洲影视九九影院在线观看 | 日韩中文在线视频 | 999日韩| 丁香久久| 欧美 高跟鞋交 xxxxhd | 日本少妇高清做爰视频 | 91人人爽久久涩噜噜噜 | 波多野结衣在线播放一区 | 91久久国产露脸精品国产闺蜜 | 欧美成a人片在线观看久 | www国产亚洲精品久久麻豆 | 中文字幕第一页在线视频 | 午夜久久久久久久久久影院 | avwww在线| 国内精品久久久久久久久久久久 | 久久天天操 | 99精品欧美一区二区三区黑人哦 | 天天干天天操天天搞 | 午夜久久久久久久久久影院 | 国产精品videossex国产高清 | 久久在现 | 日本xxxx裸体xxxx17 | 免费视频国产 | 国产又粗又猛又色又黄视频 | 99久久999久久久精玫瑰 | 天天色综合天天 | 99热这里有 | 99久久精品午夜一区二区小说 | 久久影视网 | 欧美一级片在线播放 | 欧美精品在线观看 | 激情视频网页 | 久久久久国产一区二区三区四区 | 成人va视频| 麻豆影视在线播放 | 久久精品影视 | 国产天天综合 | 国产精品自产拍在线观看网站 | 国产成人99久久亚洲综合精品 | 精品日韩中文字幕 | 激情婷婷六月 | 欧美日高清视频 | 免费观看一级一片 | 日日干日日色 | 99久久久成人国产精品 | 91人人爽久久涩噜噜噜 | 九色精品在线 | 国产精品观看在线亚洲人成网 | 亚洲午夜久久久影院 | 欧美精品久久久久久久亚洲调教 | 欧美xxxxx在线视频 | 国产一性一爱一乱一交 | 久 久久影院 | 中文字幕一区二区三区四区久久 | 日韩欧美在线播放 | 中文欧美字幕免费 | 欧美视频一区二 | 亚洲欧美999 | 欧美日韩一级在线 | 成年人免费在线观看网站 | 成人动漫一区二区 | 91麻豆看国产在线紧急地址 | 久久久久国产一区二区三区 | 亚洲成人欧美 | 91九色在线视频观看 | 亚洲理论片在线观看 | 高清中文字幕 | 丝袜美腿一区 | 午夜精品久久久久久久久久久久久久 | 欧美国产三区 | 国产一卡在线 | 99在线观看免费视频精品观看 | 日韩欧美在线不卡 | 亚洲丝袜一区二区 | 久久国产香蕉视频 | 成 人 免费 黄 色 视频 | 国产一区二区久久精品 | 国产在线观看91 | 91在线看片 | 国产91学生粉嫩喷水 | 超碰人人在线观看 | 中文字幕一区二区三区精华液 | 2023av| 18女毛片 | 国产a免费 | 9在线观看免费高清完整版在线观看明 | 免费看黄20分钟 | av 一区二区三区 | 亚洲1区 在线 | 中文字幕在线看视频国产 | 天天天操天天天干 | 欧美一级视频免费 | 日韩视频专区 | 91在线观看高清 | 天天操天天色综合 | 一区二区三区国产精品 | 国产原创av在线 | 国产五月婷婷 | www久久99| 日韩区欧美久久久无人区 | 91传媒视频在线观看 | 欧美成人在线免费 | 激情久久一区二区三区 | 国产精品久久久久久久久久不蜜月 | 亚洲精品高清视频在线观看 | 日韩精品一区二区三区免费观看视频 | av激情五月 | 国产精品久久久久久爽爽爽 | 国产成人精品一区二区三区福利 | 久久综合久久综合久久 | 九九精品视频在线观看 | 日韩在线高清视频 | 精品美女久久久久久免费 | 亚洲小视频在线 | 精品亚洲欧美一区 | 91豆花在线 | 91片黄在线观看 | 国产毛片久久久 | 国产精品自产拍在线观看中文 | 午夜精品久久久久久久99 | 欧美日韩国产一区二 | 日韩免费视频线观看 | 日韩久久久久久久久 | 青春草免费在线视频 | 少妇搡bbbb搡bbb搡忠贞 | 麻豆免费视频网站 | 97在线观看免费观看 | 日日夜色| 国产精品美女久久久久久免费 | 日韩字幕 | 国产色婷婷在线 | 久草男人天堂 | 日韩在线理论 | 97热在线观看 | 亚洲人片在线观看 | 欧美成人tv | 蜜臀av免费一区二区三区 | 在线一区电影 | 久久精品一二三区 | 天天干天天插 | 亚洲精品小区久久久久久 | 波多野结衣理论片 | 91亚洲精品久久久久图片蜜桃 | 69国产盗摄一区二区三区五区 | 黄色片免费在线 | 久久激情五月婷婷 | 婷婷丁香久久五月婷婷 | 中文字幕成人在线观看 | 日韩免费视频播放 | 午夜丰满寂寞少妇精品 | 免费高清无人区完整版 | 欧美二区在线播放 | 97视频在线观看免费 | 日本中文字幕免费观看 | 五月天久久 | 亚洲人成综合 | 久久久久免费观看 | 亚州精品天堂中文字幕 | 天天操夜夜操夜夜操 | 99热这里只有精品久久 | 亚洲精品美女在线观看播放 | 国产成人精品电影久久久 | 国产精品网在线观看 | 91精品久 | 国产精品久久久久影院 | 91高清免费在线观看 | 国产中文字幕av | 国产在线精品一区 | 九九免费在线观看 | 在线观看91久久久久久 | 中文av一区二区 | 97视频在线免费观看 | 国产91影院 | 激情开心色 | 在线观看视频一区二区三区 | 婷婷久久五月 | 夜色成人网| 中文字幕在线观看免费高清完整版 | 99精品国产在热久久下载 | 色综合小说 | 久久y| 999久久久久久久久久久 | 成人网页在线免费观看 | 日韩av电影手机在线观看 | 日韩中文字幕免费视频 | 日韩免费播放 | 天天干天天干天天干 | 丁香花在线视频观看免费 | 91天堂影院 | 波多野结衣视频一区二区 | 国产精品国产三级国产专区53 | 69视频在线播放 | 亚洲国产精彩中文乱码av | 国产精品毛片一区二区三区 | 欧洲性视频 | 国产高清视频在线播放一区 | 激情网站网址 | 日本特黄一级片 | 日本黄色大片免费 | 美女久久99 | 亚洲永久免费av | 日本 在线 视频 中文 有码 | 精品在线观看国产 | 日韩精品一区二区三区三炮视频 | av成人在线观看 | 久久影视一区二区 | 人人射人人爽 | 久久久久国产精品厨房 | 免费a视频在线观看 | 久久久久亚洲精品成人网小说 | 91aaa在线观看| 久99久在线视频 | 国产成人一区二区精品非洲 | 天天操天天操天天操 | 尤物97国产精品久久精品国产 | 国产精品久久久久久久久久久久午夜 | 久久综合婷婷综合 | 天天插天天操天天干 | 天天色天天干天天 | 日日夜夜婷婷 | 97国产一区 | 国产97色 | 蜜臀av一区二区 | 久久爱影视i | 91传媒在线观看 | av网站在线免费观看 | 日韩动态视频 | 日本中文字幕系列 | 91精品秘密在线观看 | 国产精品久久亚洲 | 超碰伊人网 | 日韩在线观看网址 | 国产精品久久久久久久久久新婚 | 亚洲天堂自拍视频 | 日韩欧美成人网 | 欧美日韩中文在线视频 | 欧美99热 | 中日韩欧美精彩视频 | 激情综合色综合久久 | 色姑娘综合天天 | 在线看日韩av| 看片一区二区三区 | 91精品国自产在线 | 日韩免费一级a毛片在线播放一级 | av电影不卡在线 | 久久精品久久精品久久39 | 亚洲精品国产精品99久久 | 亚洲一区精品人人爽人人躁 | 中文字幕乱码电影 | 精品久久久久久综合 | 天天艹天天干天天 | 毛片二区 | 精品a在线 | 中文字幕在线视频免费播放 | 成人黄色在线视频 | 久久久精品一区二区 | 国产成人精品一区二区三区 | 午夜视频在线观看一区二区三区 | 黄色成人小视频 | 国产精品午夜av | 九九热有精品 | 精品一二三区 | 国产视频精品网 | 1024手机看片国产 | 激情深爱五月 | 国产91免费观看 | 日韩在线高清 | 黄www在线观看 | 色综合久 | 亚洲精品2区 | 久久人人爽人人爽人人 | 一级做a爱片性色毛片www | 色综合天天做天天爱 | 久久久久久99精品 | 久久精品二区 | 欧美怡红院视频 | 国产第一页在线观看 | 婷婷六月中文字幕 | 日韩特级黄色片 | 国产在线资源 | 久久九九精品久久 | 中国一级片在线观看 | 色综合久| 精品亚洲视频在线观看 | 综合网色 | 99精品成人| 一级性生活片 | 人人射人人 | 国产精品99免视看9 国产精品毛片一区视频 | 午夜a区 | 二区三区视频 | 综合伊人av | 欧美a级成人淫片免费看 | 91精品久久久久久久久久入口 | 国产精品久久久久久久7电影 | 久草在线最新免费 | 成人教育av | 午夜视频在线观看一区 | 国产精品1000 | 精品你懂的 | 波多野结衣一区二区 | 国产在线一区二区三区播放 | 97视频一区 | avwww在线观看 | 九九视频在线观看视频6 | 在线观看国产v片 | 91一区一区三区 | 日韩视频在线播放 | 五月香婷| 日韩二区在线 | 狠狠操狠狠插 | 伊人国产女 | 日韩欧美精品免费 | 911久久| 精品一二三区 | 美女免费视频一区 | 美女免费视频网站 | 久草www| 毛片一区二区 | 精品96久久久久久中文字幕无 | 最新久久免费视频 | 日韩av在线网站 | 亚洲小视频在线观看 | 日韩精品免费在线观看 | 91九色最新地址 | 国产精品一区二区三区免费看 | 久久精品亚洲国产 | 色婷婷av一区二 | 黄色精品一区二区 | 欧美一区二区三区在线视频观看 | 毛片网站观看 | 久久国产精品免费 | 色中文字幕在线观看 | 久久午夜国产精品 | 日韩精品一区二区三区电影 | 国产不卡在线播放 | 亚洲精品久久久久999中文字幕 | 国产精品午夜久久 | 精品女同一区二区三区在线观看 | 中文字幕乱视频 | 999视频网 | 国产国产人免费人成免费视频 | 亚洲综合婷婷 | 99se视频在线观看 | 久久精品91视频 | 波多野结衣久久精品 | 久99久精品| 99久久精品久久久久久清纯 | 天天干天天弄 | 久久视奸| 99久久99久久精品国产片果冰 | 久久99在线 | 激情婷婷综合 | 97超碰免费在线观看 | 99视频99| 欧美久久久久久久久久 | 夜夜夜草| 午夜精品一区二区三区在线视频 | 婷婷爱五月天 | 国产无套一区二区三区久久 | 一级免费看 | 又黄又爽又湿又无遮挡的在线视频 | 日本精品久久久久影院 | 最新av中文字幕 | 免费一级片在线观看 | 亚洲欧美日韩精品久久奇米一区 | 男女拍拍免费视频 | 亚洲最大免费成人网 | 国产电影一区二区三区四区 | 97视频久久久 | 久久久久久久影院 | 欧美精品中文在线免费观看 | 国产精品国产三级国产aⅴ入口 | 国产中文字幕视频在线观看 | 制服丝袜一区二区 | 久久久网址| 久久久久久美女 | 免费a视频在线观看 | 热re99久久精品国产66热 | 亚洲成人一二三 | 在线观看视频你懂 | 波多野结衣动态图 | 美女免费网视频 | 国产精品永久在线观看 | 91视频久久久久 | 久久首页 | 亚洲激情影院 | 久久精品屋 | 黄色午夜 | 亚洲国内在线 | 免费亚洲成人 | 亚洲国产精品传媒在线观看 | 国产视频欧美视频 | 狠狠色免费 | 久久国产精品小视频 | 日本中文字幕一二区观 | 97av在线视频免费播放 | 亚洲男男gⅴgay双龙 | 色狠狠狠 | a在线观看国产 | 韩国av免费在线观看 | 蜜臀aⅴ国产精品久久久国产 | 国产亚洲一区二区在线观看 | 国产黄色精品视频 | 又黄又爽的视频在线观看网站 | 久草在线免费电影 | 国产亚洲精品久久久久秋 | 9992tv成人免费看片 | 91麻豆精品一区二区三区 | 欧美精品中文字幕亚洲专区 | 欧美 日韩 性 | 91大片网站 | 91一区啪爱嗯打偷拍欧美 | 天天操网站 | 国产成人在线免费观看 | 欧美日韩一区二区久久 | 91视频久久久| 日韩二区三区 | 久久久久在线观看 | 国产在线视频一区二区三区 | 中文字幕电影网 | 国产三级精品三级在线观看 | 日韩高清在线一区二区 | av不卡在线看 | 亚洲天堂色婷婷 | 精品久久影院 | 99在线观看精品 | 久久久综合| 国内精品久久久久久久久久久 | 久久久久国产a免费观看rela | 色婷婷成人 | 97综合视频| 激情影音先锋 | 欧美巨大 | 亚洲天堂视频在线 | 免费在线观看一区二区三区 | 亚洲黄电影 | 少妇bbbb搡bbbb搡bbbb | 又紧又大又爽精品一区二区 | 久久艹在线| 五月婷婷黄色网 | 96香蕉视频| 特黄免费av | 成人免费观看大片 | 午夜久久久久 | 天天操天天曰 | 天天曰天天干 | 在线国产激情视频 | 天天操天天爱天天干 | 国产精品嫩草69影院 | 亚洲天堂网在线视频观看 | 黄色大全免费网站 | 91麻豆产精品久久久久久 | 国语麻豆 | 国产高清视频在线免费观看 | 亚洲精品久久久蜜桃 | 国产伦精品一区二区三区照片91 | 91精品啪在线观看国产 | 久久精品—区二区三区 | 99久久婷婷国产一区二区三区 | 91人人视频在线观看 | 香蕉久久国产 | 九色最新网址 | 在线观看日本韩国电影 | 国产黑丝一区二区 | mm1313亚洲精品国产 | 免费观看的av网站 | 午夜精品一区二区三区在线观看 | 亚洲va欧美va人人爽春色影视 | 在线国产日韩 | 亚洲成人av片在线观看 | 在线免费看片 | 国产青青青 | 天堂黄色片 | av888.com| 日韩h在线观看 | 92精品国产成人观看免费 | 亚洲a网 | 九月婷婷人人澡人人添人人爽 | 九九视频一区 | 国产精品第一页在线 | 极品嫩模被强到高潮呻吟91 | 丝袜美腿在线 | 干 操 插 |