精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony LiteOS-A內核文檔之學習--系統調用

開發
OpenHarmony LiteOS-A內核實現態與內核態的區分隔離,用戶態程序不能直接訪問內核資源,而系統調用則為用戶態程序提供了一種訪問內核資源、與內核進行交互的通道。

[[430551]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

OpenHarmony LiteOS-A內核實現態與內核態的區分隔離,用戶態程序不能直接訪問內核資源,而系統調用則為用戶態程序提供了一種訪問內核資源、與內核進行交互的通道。如下圖所示,用戶程序通過調用System API(系統API,通常是系統提供的POSIX接口)進行內核資源訪問與交互請求,POSIX接口內部會觸發SVC/SWI異常,完成系統從用戶態到內核態的切換,然后對接到內核的Syscall Handler(系統調用統一處理接口)進行參數解析,最終分發至具體的內核處理函數。

OpenHarmony LiteOS-A內核文檔之學習--系統調用-鴻蒙HarmonyOS技術社區

Syscall Handler的具體實現在kernel/liteos_a/syscall/los_syscall.c中OsArmA32SyscallHandle函數,在進入系統軟中斷異常時會調用此函數,并且按照kernel/liteos_a/syscall/syscall_lookup.h中的清單進行系統調用的入參解析,執行各系統調用最終對應的內核處理函數。

1. 涉及的系統調用文件目錄介紹

先介紹下系統調用相關的內核態代碼、用戶態代碼所在的文件目錄。

1.1 syscall/syscall_lookup.h文件

kernel/liteos_a/syscall/syscall_lookup.h文件中維護內核向用戶態提供的系統調用接口。文件中包含虛擬文件系統VFS、動態加載DYNLOAD、PIPE、SHELL、LWIP、SECURITY_CAPABILITY等模塊的系統調用接口,文件內容片段如下。每一個系統調用有宏函數SYSCALL_HAND_DEF定義,包含系統調用編號、系統調用處理函數,返回值類型,系統調用處理參數數目,下文詳細介紹。

  1. ...... 
  2. SYSCALL_HAND_DEF(__NR_write, SysWrite, ssize_t, ARG_NUM_3) 
  3. SYSCALL_HAND_DEF(__NR_open, SysOpen, int, ARG_NUM_7) 
  4. SYSCALL_HAND_DEF(__NR_close, SysClose, int, ARG_NUM_1) 
  5. SYSCALL_HAND_DEF(__NR_creat, SysCreat, int, ARG_NUM_2) 
  6. ...... 

文件syscall/syscall_lookup.h被文件syscall/los_syscall.c中的系統調用初始化函數OsSyscallHandleInit調用,調用代碼如下。可以看出第一個參數是系統調用函數編號,編號定義在文件third_party/musl/porting/liteos_a/kernel/include/bits/syscall.h;第二個是系統調用函數,函數原型聲明在文件kernel/liteos_a/syscall/los_syscall.h,函數實現一般在kernel/liteos_a/syscall目錄下的源代碼文件中實現; 第三個是返回值類型,暫時沒有使用;第四個函數是系統調用函數的參數數目。

下面看下宏函數的代碼,⑴處把定義的系統調用函數都維護在全局數組g_syscallHandle。⑵處由于參數數量不會特別大,記錄系統調用處理函數參數數目的全局數組g_syscallNArgs的類型是UINT8,每4個bit位維護一個系統調用的參數數目。

  1. ... 
  2. static UINTPTR g_syscallHandle[SYS_CALL_NUM] = {0}; 
  3. static UINT8 g_syscallNArgs[(SYS_CALL_NUM + 1) / NARG_PER_BYTE] = {0}; 
  4. ... 
  5. void OsSyscallHandleInit(void) 
  6. #define SYSCALL_HAND_DEF(id, fun, rType, nArg)                                             \ 
  7.     if ((id) < SYS_CALL_NUM) {                                                             \ 
  8. ⑴      g_syscallHandle[(id)] = (UINTPTR)(fun);                                            \ 
  9. ⑵      g_syscallNArgs[(id) / NARG_PER_BYTE] |= ((id) & 1) ? (nArg) << NARG_BITS : (nArg); \ 
  10.     }                                                                                      \ 
  11.  
  12.     #include "syscall_lookup.h" 
  13. #undef SYSCALL_HAND_DEF 
  14.  
  15. LOS_MODULE_INIT(OsSyscallHandleInit, LOS_INIT_LEVEL_KMOD_EXTENDED); 

1.2 syscall/los_syscall.h文件

kernel/liteos_a/syscall/los_syscall.h文件中維護內核的系統調用對接函數聲明。函數實現一般在目錄/kernel/liteos_a/syscall下的源代碼文件中。該文件主要被如下源文件include使用。

  1. ./kernel/liteos_a/fs/vfs/vfs_cmd/vfs_shellcmd.c:50:#include "los_syscall.h" 
  2. ./kernel/liteos_a/kernel/extended/blackbox/los_blackbox_core.c:46:#include "los_syscall.h" 
  3. ./kernel/liteos_a/kernel/user/src/los_user_init.c:33:#include "los_syscall.h" 
  4. ./kernel/liteos_a/syscall/fs_syscall.c:49:#include "los_syscall.h" 
  5. ./kernel/liteos_a/syscall/los_syscall.c:38:#include "los_syscall.h" 
  6. ./kernel/liteos_a/syscall/net_syscall.c:37:#include "los_syscall.h" 

1.3 系統調用函數編號

維護系統調用編號文件有2個,需要分別在用戶態和內核態維護系統調用函數編號。除了文件porting/liteos_a/kernel/include/bits/syscall.h中多個幾個參數數目的宏定義外,下述兩個文件的內容基本相同。

  • third_party/musl/porting/liteos_a/user/arch/arm/bits/syscall.h.in
  • third_party/musl/porting/liteos_a/kernel/include/bits/syscall.h

2. 系統調用開發示例

當需要新增一個系統調用接口時,可以參考下述步驟:

  • 在LibC庫中確定并添加新增的系統調用號。
  • 在LibC庫中新增用戶態的函數接口聲明及實現。
  • 在內核系統調用頭文件中確定并添加新增的系統調用號及對應內核處理函數的聲明。
  • 在內核中新增該系統調用對應的內核處理函數。

2.1 在LibC庫中確定并添加新增的系統調用號

編輯文件porting/liteos_a/user/arch/arm/bits/syscall.h.in,如下所示,其中⑴處的__NR_new_syscall_sample為新增系統調用號。需要注意同時更新下⑵處的編號。

  1.   /* OHOS customized syscalls, not compatible with ARM EABI */ 
  2.     #define __NR_OHOS_BEGIN         500 
  3.     #define __NR_pthread_set_detach (__NR_OHOS_BEGIN + 0) 
  4.     ...... 
  5.     #define __NR_sysconf            (__NR_OHOS_BEGIN + 21) 
  6. ⑴  #define __NR_new_syscall_sample (__NR_OHOS_BEGIN + 22) /* 新增的系統調用號 __NR_new_syscall_sample:522 */ 
  7. ⑵  #define __NR_syscallend         (__NR_OHOS_BEGIN + 23) 

2.2 在LibC庫中新增用戶態的函數接口聲明及實現。

系統調用提供基礎的用戶態程序與內核的交互功能,不建議開發者直接使用系統調用接口,推薦使用內核提供的對外POSIX接口。需要在LibC庫中新增用戶態接口的聲明與實現。為了簡化,我們在現成的一個源文件里增加一函數實現代碼,如third_party/musl/porting/liteos_a/user/src/aio/aio.c文件中增加:

  1. /* 新增系統調用用戶態的接口實現 */ 
  2. void newSyscallSample(int num) 
  3.      printf("user mode: num = %d\n", num); 
  4.      __syscall(SYS_new_syscall_sample, num); 
  5.      return

2.3 在內核系統調用頭文件中新增系統調用號

在內核系統調用頭文件中新增系統調用號,如下所示,在third_party/musl/porting/liteos_a/kernel/include/bits/syscall.h文件中,__NR_new_syscall_sample為新增系統調用號。用戶態代碼和內核態代碼增加系統調用號方式相同,編號相同。

  1. /* OHOS customized syscalls, not compatible with ARM EABI */ 
  2. #define __NR_OHOS_BEGIN         500 
  3. #define __NR_pthread_set_detach (__NR_OHOS_BEGIN + 0) 
  4. ... 
  5. #define __NR_sysconf            (__NR_OHOS_BEGIN + 21) 
  6. #define __NR_new_syscall_sample (__NR_OHOS_BEGIN + 22) /* 新增的系統調用號 __NR_new_syscall_sample:522 */ 
  7. #define __NR_syscallend         (__NR_OHOS_BEGIN + 23) 
  8. ... 

在kernel/liteos_a/syscall/syscall_lookup.h中,增加一行,如下。

  1. ... 
  2. /* 當前現有的系統調用清單 */ 
  3. SYSCALL_HAND_DEF(__NR_chown, SysChown, int, ARG_NUM_3) 
  4. SYSCALL_HAND_DEF(__NR_chown32, SysChown, int, ARG_NUM_3) 
  5. #ifdef LOSCFG_SECURITY_CAPABILITY 
  6. SYSCALL_HAND_DEF(__NR_ohoscapget, SysCapGet, UINT32, ARG_NUM_2) 
  7. SYSCALL_HAND_DEF(__NR_ohoscapset, SysCapSet, UINT32, ARG_NUM_1) 
  8. #endif 
  9. /* 新增系統調用 */ 
  10. SYSCALL_HAND_DEF(__NR_new_syscall_sample, SysNewSyscallSample, void, ARG_NUM_1) 
  11. ... 

2.4 在內核中新增系統調用對應的處理函數

需要在內核中新增系統調用函數聲明及函數實現,并加入編譯構建文件。首先,如下所示,在kernel/liteos_a/syscall/los_syscall.h中,SysNewSyscallSample為新增系統調用的內核處理函數聲明。

  1. ... 
  2. /* 當前現有的系統調用內核處理函數聲明清單 */ 
  3. ... 
  4. extern int SysTimerGettime64(timer_t timerID, struct itimerspec64 *value); 
  5. ... 
  6. /* 新增的系統調用內核處理函數聲明 */ 
  7. extern void SysNewSyscallSample(int num); 
  8. ... 

然后在kernel/liteos_a/syscall目錄下新建個源文件syscall_demo.c,新增系統調用的內核處理函數實現如下。

  1. #include "los_printf.h" 
  2. /* 新增系統調用內核處理函數的實現 */ 
  3. void SysNewSyscallSample(int num) 
  4.     PRINTK("kernel mode: num = %d\n", num); 
  5.     return

最后,在文件kernel/liteos_a/syscall/BUILD.gn中增加對syscall_demo.c源文件的編譯管理。

  1. import("//kernel/liteos_a/liteos.gni"
  2.  
  3. module_switch = defined(LOSCFG_KERNEL_SYSCALL) 
  4. module_name = get_path_info(rebase_path("."), "name"
  5. kernel_module(module_name) { 
  6.   sources = [ 
  7.     "fs_syscall.c"
  8. ...... 
  9.     "syscall_demo.c" 
  10.   ] 

2.5 調用并驗證

參考官網Hello World示例,修改示例applications/sample/camera/apps/src/helloworld.c,增加系統調用內容newSyscallSample(10)。

  1. #include <stdio.h> 
  2. #include "syscall.h" 
  3.  
  4. /* 新增系統調用用戶態的接口實現 */ 
  5. void newSyscallSample(int num) 
  6.      printf("user mode: num = %d\n", num); 
  7.      __syscall(SYS_new_syscall_sample, num); 
  8.      return
  9.  
  10. int main(int argc, char **argv) 
  11.     printf("\n************************************************\n"); 
  12.     printf("\n\t\tHello OHOS!\n"); 
  13.     printf("\n************************************************\n\n"); 
  14.     newSyscallSample(10); 
  15.     return 0; 

在工程根目錄,hb set選擇產品ipcamera_hispark_taurus,然后hb build構建,使用Device Tool工具燒錄Hi3516開發板,運行在串口得到輸出結果如下。用戶態接口與內核態接口均有輸出,證明系統調用已使能。

OpenHarmony LiteOS-A內核文檔之學習--系統調用-鴻蒙HarmonyOS技術社區

3. 小結

本文學習小型系統內核開發-系統調用官網文檔,并在Hi3516開發板上實際驗證操作,通過動手更好的掌握了系統調用。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-12-07 15:56:33

procfsLiteOS-A

2020-09-17 17:41:24

Liteos-a鴻蒙Linux

2020-11-13 09:45:36

Liteos-a

2023-02-01 16:28:30

Linux內核鴻蒙

2021-12-29 16:13:03

鴻蒙HarmonyOS應用

2020-10-22 10:08:06

韋東山STM32MP157鴻蒙

2020-10-19 10:28:58

liteos-a移植STM32MP157

2021-05-24 14:28:34

鴻蒙HarmonyOS應用

2023-02-01 16:38:53

2023-04-10 09:44:22

內核鼠標調試鴻蒙

2011-07-05 18:10:14

PHP

2011-07-07 16:41:04

PHP

2011-08-05 14:48:06

iPhone應用 異步隊列

2021-03-15 15:18:16

鴻蒙HarmonyOS應用

2020-10-16 09:47:34

鴻蒙Liteos-a移植

2011-07-07 17:48:36

PHP

2021-06-03 08:03:13

網絡

2025-10-09 11:10:00

開發操作系統Linux

2011-07-20 10:30:29

C語言

2022-03-28 15:40:34

harmony鴻蒙操作系統
點贊
收藏

51CTO技術棧公眾號

91美女在线观看| 9.1片黄在线观看| 久草国产精品视频| 高清不卡一区| 国产免费成人在线视频| 97精品一区二区视频在线观看| 亚洲电影网站| 一级免费在线观看| 视频精品在线观看| 亚洲一级片在线观看| 亚洲在线视频福利| 少妇视频一区二区| 国产一区二区三区四区五区3d| 久久婷婷成人综合色| 亚洲91精品在线观看| 卡一卡二卡三在线观看| av在线免费网站| 天天超碰亚洲| 欧美日韩在线三级| 日韩国产在线一区| 亚洲男人天堂网址| 精品国产美女| 欧美日韩一区二区三区视频| 欧美日韩视频免费| 亚洲精品无码久久久| 亚洲网站视频| 亚洲国产精久久久久久| 欧美日韩不卡在线视频| 欧美 日韩 国产 成人 在线 91| 综合天天久久| 欧美不卡视频一区| 你真棒插曲来救救我在线观看| 国产在线视频网| 免费在线观看不卡| 日韩中文字幕在线看| 99精品999| 在线中文免费视频| 成人一区二区在线观看| 性日韩欧美在线视频| 秋霞欧美一区二区三区视频免费 | 九九综合九九综合| 免费黄频在线观看| 欧美xxxx少妇| 99国产精品国产精品久久| 欧美整片在线观看| 美女网站视频色| 国产传媒欧美日韩成人精品大片| 欧美图区在线视频| 黄色一级大片免费| 久草在线青青草| 成人av电影免费观看| 热久久视久久精品18亚洲精品| 精品99久久久久成人网站免费| 久久电影在线| 欧美婷婷六月丁香综合色| 青青在线视频观看| 黄色网在线免费观看| 成人黄色在线视频| 国产精品免费视频一区二区 | 怡红院一区二区| 色多多在线观看| 亚洲国产成人在线| 2019国产精品视频| www亚洲视频| 99精品美女| 日韩在线小视频| 99re这里只有| 亚洲精品无播放器在线播放| 午夜一区二区三区视频| 亚洲丰满在线| 在线播放麻豆| 99精品久久免费看蜜臀剧情介绍| 国产精品亚洲一区| 网站黄在线观看| 精品影视av免费| 欧美孕妇孕交黑巨大网站| 日本激情视频一区二区三区| 欧美韩国日本在线观看| 日韩av一区二区在线| 手机免费看av网站| 国产精久久久| 精品国产一区二区三区久久影院| 亚洲欧美在线精品| 亚洲欧美小说色综合小说一区| 自拍偷拍欧美精品| 日本精品一区| 天天干天天干天天干| 日韩国产欧美三级| 97国产精品视频人人做人人爱| 国产黄色片免费看| 国内综合精品午夜久久资源| 69av在线播放| 强行糟蹋人妻hd中文| 欧美美女一区| 九九精品在线视频| 国产尤物在线视频| 日本伊人色综合网| 国产va免费精品高清在线| 黑人狂躁日本娇小| 国内揄拍国内精品久久| 国产成人精品国内自产拍免费看| 97caocao| 麻豆精品新av中文字幕| 国产成人福利网站| 97超碰人人模人人人爽人人爱| 国产1区2区3区精品美女| 91精品免费视频| 91久久精品无码一区二区| 国产成人av资源| 日本成人三级电影网站| 色www永久免费视频首页在线 | 欧美日韩人妻精品一区二区三区 | 亚洲日本电影在线| 午夜精品一区二区三区四区| 欧美在线观看在线观看| 99久久免费国产| 精品午夜一区二区| 亚洲aaa在线观看| 国产精品家庭影院| 国产精品99久久久久久大便| 免费观看成人高潮| 国产精品不卡视频| 欧美aⅴ在线观看| **爰片久久毛片| 亚洲韩国欧洲国产日产av| 中文字幕在线观看91| 9999久久久久| 国产视频一区在线| 男人操女人动态图| 精品国产一区一区二区三亚瑟| 欧美黄色片在线观看| 国产大片中文字幕| 免费在线欧美黄色| 国产精品2018| 四虎影院在线播放| 久久久99精品免费观看不卡| 神马影院一区二区三区| 国产夫妻在线播放| 色菇凉天天综合网| 第四色婷婷基地| 欧美久久一区二区三区| 欧美大片一区二区三区| 人妻丰满熟妇aⅴ无码| 欧美呦呦网站| 精品自在线视频| 国产又粗又长又大视频| 成人一道本在线| 中文字幕一区二区三区四区五区六区| av毛片在线看| 91精品国产综合久久久蜜臀粉嫩 | 亚洲一级片在线看| 最新日韩免费视频| 免费成人av资源网| 视频在线99re| 国内自拍亚洲| 色偷偷偷综合中文字幕;dd| 日韩精品在线一区二区三区| 久久精品亚洲乱码伦伦中文| 黄色片久久久久| 欧美中文一区二区| 国产精品视频地址| 国产自产一区二区| 国产片一区二区| 中文字幕欧美人妻精品一区| 我要色综合中文字幕| 亚洲香蕉成人av网站在线观看| 日本视频免费观看| 高清国产一区二区| 免费看毛片的网址| 精品乱码一区二区三区四区| 在线播放亚洲激情| 日韩女优在线观看| 91麻豆国产在线观看| www.日日操| 三区四区不卡| 日韩免费黄色av| 午夜伦理在线| 欧美成人一区二区三区片免费| 久草精品视频在线观看| 九九**精品视频免费播放| 日韩视频在线观看视频| 香蕉大人久久国产成人av| 97视频免费在线看| yw视频在线观看| 欧美日韩在线第一页| 红桃视频一区二区三区免费| 久久密一区二区三区| 91日韩在线视频| а√天堂中文在线资源8| 亚洲一区第一页| 99在线小视频| 中文字幕日韩欧美一区二区三区| 在线一区二区不卡| 99精品国产一区二区青青牛奶 | 欧美 日韩 亚洲 一区| 欧美激情三区| 久久久久在线观看| www日本高清视频| 亚洲色图制服丝袜| 国产麻豆剧传媒精品国产av| 日韩成人精品在线观看| 嫩草影院中文字幕| 精品国产精品| 国产乱码精品一区二区三区中文 | 日韩毛片久久久| 亚洲国产精品高清久久久| 狠狠躁夜夜躁人人爽视频| 久久女同性恋中文字幕| 在线能看的av网站| 亚洲国产日韩欧美在线| 成人av在线亚洲| 在线看免费av| 678五月天丁香亚洲综合网| 色播视频在线播放| 亚洲欧美日韩久久精品| 亚洲色成人网站www永久四虎| 久久高清免费观看| 日韩福利二区| 欧美第一在线视频| 国产精品免费久久久久影院| rebdb初裸写真在线观看| 久久精品国产亚洲精品| 午夜美女福利视频| 精品视频全国免费看| 91九色丨porny丨肉丝| 夜夜嗨av一区二区三区网页| 国产69视频在线观看| 久久99九九99精品| 一区二区三区入口| 丝袜诱惑亚洲看片| 最新精品视频| 日本在线电影一区二区三区| 欧美日韩视频在线一区二区观看视频| 国产精品一区二区av影院萌芽| 国产一区二区三区网站| 日本高清视频www| 日韩一卡二卡三卡国产欧美| 中文字幕在线观看免费视频| 一区二区三区免费| 私库av在线播放| 亚洲乱码中文字幕| 性色av蜜臀av色欲av| 国产成+人+日韩+欧美+亚洲| 女人扒开腿免费视频app| 国产婷婷精品| 亚洲精品在线视频观看| 免费视频国产一区| 免费av一区二区三区| 九七影院97影院理论片久久| 国产精品第10页| 影音先锋中文在线视频| 久久好看免费视频| 国产精品久久麻豆| 欧美精品日韩www.p站| 亚洲人妻一区二区三区| 亚洲精品aⅴ中文字幕乱码| 天天摸天天碰天天爽天天弄| 亚洲国产精品成人一区二区| 神宫寺奈绪一区二区三区| 亚洲成色777777在线观看影院| 亚洲AV午夜精品| 欧美精品一区男女天堂| 天堂av网在线| 一本一本久久a久久精品综合小说| youjizz在线播放| 日韩在线视频免费观看| 69av在线| 欧美另类老女人| av资源在线播放| 久久精品一偷一偷国产| 97超碰资源站在线观看| 欧美激情18p| 激情都市亚洲| 91免费视频网站| 精品中国亚洲| 青青成人在线| 天天综合网91| 丰满少妇大力进入| 久久九九国产| www.成人黄色| 99久久久国产精品免费蜜臀| 韩国三级hd中文字幕| 最新久久zyz资源站| 国产一级做a爰片在线看免费| 欧美日韩免费在线| 亚洲综合精品在线| 在线视频亚洲一区| 欧美精品韩国精品| 五月婷婷久久综合| 伊人久久中文字幕| 日韩欧美的一区| 欧洲一区av| 久久综合电影一区| 麻豆tv入口在线看| 欧美成人精品xxx| 人人草在线视频| 成人黄色av免费在线观看| 国产欧美自拍一区| 国产美女在线精品免费观看| 日本精品视频| 欧美日韩国产三区| 亚洲欧美一级二级三级| ijzzijzzij亚洲大全| 久久在线视频免费观看| www精品久久| 蜜臀av一区二区在线观看| 在线观看免费视频国产| 国产精品传媒在线| 中文字幕69页| 亚洲国产日韩一区| 国产调教视频在线观看| 国产精品久久久av| 秋霞综合在线视频| 蜜桃导航-精品导航| 午夜精品久久| 一区二区三区 日韩| 91一区二区在线| 久久久久噜噜噜亚洲熟女综合| 亚洲一区免费在线观看| 中文无码av一区二区三区| 欧美日韩视频在线观看一区二区三区| 亚洲爱情岛论坛永久| 色综久久综合桃花网| 欧美激情护士| 国产精品手机在线| 综合在线视频| 欧美丝袜在线观看| 欧美激情一区三区| 精品国产乱子伦| 亚洲精品国产精品乱码不99按摩 | 欧美精品羞羞答答| 欧美精品99久久| 视频在线观看一区| 国产精品久久久久久亚洲av| 亚洲精选一二三| 97在线播放免费观看| 综合久久五月天| 日本色护士高潮视频在线观看 | 国产精品网站在线| 中文字幕永久在线| 亚洲夜晚福利在线观看| 日韩精品专区| 成人两性免费视频| 五月天久久777| 久久久久xxxx| 亚洲欧美日韩一区二区| 国产ts人妖调教重口男| 美女av一区二区三区| 成人噜噜噜噜| 日韩成人午夜影院| 久久成人一区| 国产三级av在线播放| 在线国产电影不卡| av在线第一页| 国产欧洲精品视频| 欧美巨大xxxx| 日韩欧美一区三区| 久久久综合网站| 国产精品成人久久久| 中文字幕日韩av| 2019中文亚洲字幕| 天天想你在线观看完整版电影免费| 国产精一品亚洲二区在线视频| 一区二区精品免费| 欧美无乱码久久久免费午夜一区| 中文字幕日本在线观看| 成人久久一区二区三区| 国产精品红桃| 亚洲国产欧美视频| 91成人免费网站| 国产在线观看av| 国产精品国产一区二区| 久久不射网站| 三级全黄做爰视频| 91福利精品第一导航| av大片在线看| 91免费版黄色| 亚洲欧美大片| 蜜桃av免费观看| 欧美一区二区二区| 在线观看精品一区二区三区| 91精品久久久久久久久中文字幕| 欧美一区国产在线| 国产偷人妻精品一区| 欧美主播一区二区三区| 在线免费观看污| 明星裸体视频一区二区| 激情综合色综合久久| 久久亚洲无码视频| 制服丝袜亚洲色图| 小早川怜子影音先锋在线观看| 五月天婷亚洲天综合网鲁鲁鲁| 国产伦精品一区二区三区免费 | 亚洲女同同性videoxma| 女人裸体性做爰全过| 欧美精品一区二区三区高清aⅴ| 日本中文字幕一区二区| 免费在线观看91| 国产乱码精品一区二区三区五月婷 | 中文字幕欧美区|