99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

全志SoC異構多核啟動與調(diào)試實踐:RISC-V從核電源時鐘與OpenSBI

全志SoC異構多核啟動與調(diào)試實踐:RISC-V從核電源時鐘與OpenSBI 先說點背景。這篇文章是“Bringing Up Heterogeneous RISC-V on Allwinner SoCs”的第二部分。第一部分主要聊了怎么把最小系統(tǒng)跑起來比如串口、時鐘、DDR 初始化還有怎么把 OpenSBI 引導進內(nèi)核。這一部分重點完全不同我們要面對的是真正的深水區(qū)異構多核。全志的 SoC 上RISC-V 核心往往不是孤零零一個而是和 Arm 主核、DSP、NPU 混在一顆芯片里有各自的內(nèi)存視圖、中斷控制器和電源域。把其中一個 RISC-V 核拉起來只是開始讓它們協(xié)同工作、不掉鏈子才是真正考驗功夫的地方。這篇文章適合誰適合已經(jīng)在嵌入式 Linux 或 RTOS 里摸爬滾打、做過一些板級 bring-up但還沒系統(tǒng)性處理過異構多核的人。看完之后你應該能理清全志異構平臺的啟動鏈路知道電源域和時鐘域要按什么順序處理理解 SBI/HSM 和 CPU hotplug 在啟動從核時扮演的角色也知道內(nèi)存一致性和消息通信該怎么驗證。內(nèi)容會比較硬核但我會盡量把每一步的“為什么”講清楚而不是直接甩一段寄存器操作讓你照著抄。1. 異構架構與啟動鏈路全景解讀1.1 異構從哪來一顆SoC里住著幾套“CPU世界觀”先明確一個概念這里的“異構”不是簡單的“大核小核”同構多核比如四顆 Cortex-A53而是指同一顆 SoC 里集成了不同指令集架構、不同特權級設計、甚至不同總線主控權的 CPU 核心組合。在全志的平臺上你經(jīng)常能看到這樣的組合一顆或幾顆 Arm Cortex-A 系列核心作為主控跑 Linux一到兩個 RISC-V 核心常見的是平頭哥 E907、C906、C910 這類用來做協(xié)處理、實時控制、低功耗偵聽或者干脆做 DSP 替代外加 NPU、DSP 這類加速器。為什么這么設計典型的場景是Arm 核跑復雜的應用系統(tǒng)但實時性不夠穩(wěn)定RISC-V 核跑 FreeRTOS 或者裸機任務專門處理中斷密集的 I/O 和傳感器數(shù)據(jù)。兩者共享 DDR各自又有私有的 SRAM。從硬件視角看它們就是“兩個世界”——不同的啟動地址、不同的時鐘源頭、不同的中斷號分配甚至看到的外設地址空間都有一部分是私有的。這對做 bring-up 的人來說意味著什么意味著你不能再用“一顆 SoC 一套 CPU 一套外設”的思維。你要同時管理至少兩套啟動流程協(xié)調(diào)兩個運行域的資源還要保證它們沒有互相踩踏。很多人第一次做這種平臺時最容易犯的錯就是只盯著自己要帶起來的那顆 RISC-V 核忽略了它和主核之間共享的資源PLL、DDR 控制器、MBUS、中斷控制器其實早就被對方初始化過了。1.2 啟動鏈路拆解從 ROM 到多核協(xié)作的完整旅程全志異構 SoC 的典型啟動鏈路我把它拆成了下面這幾個階段階段執(zhí)行主體主要任務是否涉及 RISC-V 核ROM BootSoC 內(nèi)置 ROM從 boot device 加載下一級引導SPL/Boot0通常不ROM 固定只會拉起主控核SPL/Boot0Arm 主核初始化 PLL、DDR、串口、存儲控制器不直接涉及但會配置到 RISC-V 核的電源和時鐘門控固件層OpenSBI/U-BootArm 主核進入 EL2/M-mode加載內(nèi)核和設備樹準備啟動 Linux會用到 SBI 的 HSM 擴展來管理從核內(nèi)核啟動Arm 主核SMP 初始化時依次喚醒 RISC-V 從核從核通過 SBI 調(diào)用或 DT 里的 enable-method 被拉起運行期協(xié)作所有核核間通信、共享內(nèi)存、設備中斷分發(fā)多核同時運行需要一致性保障這里有個很關鍵的點全志的 ROM 和 BootROM 階段默認只負責把主控核一般是 Arm 核帶起來。RISC-V 從核在系統(tǒng)上電后處于什么狀態(tài)通常是電源域未開啟、時鐘被關閉、復位拉死。也就是說它并不是悄悄地“空轉”而是徹底“斷電休眠”。所以整個 RISC-V 從核的 bring-up本質(zhì)上就是在啟動后期由主核主動完成一次“上電、解復位、加載固件、釋放啟動”的完整動作。搞清楚這條鏈路后面所有工作都是倒著往前推先讓主核的系統(tǒng)穩(wěn)定跑起來再一點點把從核的資源打開。2. 電源域與時鐘把從核“通電”是第一步2.1 電源域管理為什么不能一開始就把所有核都上電很多第一次做的人會有一個直覺上電就把所有核心的電源打開不就省事了嗎全志的 SoC 設計恰恰相反——它把不同核心的電源域做成可以獨立控制的目的就是讓你在低功耗場景下可以隨時關掉用不到的核心。這也是“異構”的真正價值之一按需供電。在全志的電源管理框架里你需要注意幾類寄存器電源開關控制POWER_SW_CTRL控制某個 CPU 域或 CPU 邏輯域的開關。復位控制CPU_CFG / CPU_RST控制每個核的復位釋放。時鐘門控CLK_GATING控制 CPU 核的時鐘開關。以我調(diào)試過的平臺為例RISC-V 從核的電源域在默認狀態(tài)下是“已關閉且保持復位”的。你要按下面這個順序操作先把 CPU 電源域的供電開關打開等待電源穩(wěn)定通常需要輪詢電源狀態(tài)寄存器或者簡單延時幾十微秒再從時鐘樹里把 RISC-V 核的時鐘門控打開最后才釋放復位信號。這個順序不能亂。如果你先釋放復位再打開時鐘核心會處于“時鐘不存在卻開始執(zhí)行指令”的狀態(tài)輕則掛死重則總線訪問異常導致整個系統(tǒng)卡住。我曾經(jīng)因為圖快跳過電源穩(wěn)定等待在 10 次啟動里有 3 次出現(xiàn)從核取指異常后來查了好久才發(fā)現(xiàn)是電源未穩(wěn)就釋放了復位。2.2 時鐘樹與分頻配置從核跑多快不是你說了算全志的時鐘樹比較復雜但核心原則就一條CPU 核的時鐘來自 PLL 分頻而 PLL 通常已經(jīng)被主核初始化過了。你不需要自己創(chuàng)建一個新 PLL但你必須知道從核的時鐘源掛在哪個 PLL 的哪條分頻鏈路上。實操層面的步驟大致是找到該 SoC 用戶手冊里的時鐘樹框圖定位 RISC-V 核的時鐘源比如“CPU1_CLK_SRC”或“RISC-V_CLK”確認它的父時鐘是哪個 PLL以及當前頻率配置分頻系數(shù)讓從核運行在目標頻率打開時鐘門控并等待時鐘穩(wěn)定。這里最容易踩的坑是全志經(jīng)常把兩個核的時鐘源放在同一顆 PLL 上但允許獨立分頻。比如主核跑 1.2GHz從核可以通過分頻跑到 600MHz 或 400MHz。如果你在調(diào)整分頻系數(shù)時改錯了父 PLL很可能直接把主核的時鐘也帶偏整個系統(tǒng)瞬間死機。分享一個我常用的檢查方法改動任何時鐘相關寄存器之前先把當前的寄存器值完整 dump 出來并存到一個文件里。如果系統(tǒng)死機可以通過 JTAG 反復對比確認是哪一步改出了問題。不要憑記憶寫寄存器這種平臺寄存器的 bit 位定義五花八門同一個偏移在不同型號上可能含義完全不同。2.3 實操心得電源和時鐘操作的安全寫法按我現(xiàn)在的習慣凡是做從核電源/時鐘初始化的操作我都會擺成下面這個偽代碼結構。具體的寄存器基址和偏移以你手頭 SoC 的用戶手冊為準。void riscv_core_power_on(uint32_t core_id) { // 1. 打開核心電源域開關 writel(1U core_id, POWER_SW_CTRL_BASE CPU_POWER_ON_OFFSET); // 2. 等待電源域狀態(tài)確認 while (!(readl(POWER_STAT_BASE CPU_POWER_STAT_OFFSET) (1U core_id))) ; // 3. 配置時鐘源和分頻 writel(CLK_SRC_SEL_A 8 | DIV_VALUE, CLK_BASE RISC_V_CLK_CFG_OFFSET); // 4. 打開時鐘門控 writel(readl(CLK_BASE CLK_GATING_OFFSET) | (1U core_id), CLK_BASE CLK_GATING_OFFSET); // 5. 釋放復位 writel(readl(CPU_CFG_BASE CPU_RST_OFFSET) | (1U core_id), CPU_CFG_BASE CPU_RST_OFFSET); }這個順序我跑了多款全志平臺都很穩(wěn)。但請記住不同芯片的寄存器布局差異很大比如有的平臺通過“寫 1 清 0”的方式控制復位有的用“寫 1 置位”有的在電源域穩(wěn)定之后還要求先寫一個“ack 寄存器”。拿到新的開發(fā)板第一步永遠是先讀一遍參考固件fex/SCP 固件里對應的初始化序列而不是自己發(fā)明輪子。3. 固件層搭建OpenSBI、M-mode 與從核喚醒3.1 為什么要先談 M-mode 固件RISC-V 特權級模型RISC-V 和 Arm 的一個顯著區(qū)別在于它的特權級設計非常清晰M-mode機器模式、S-mode監(jiān)管模式、U-mode用戶模式。Linux 內(nèi)核跑在 S-modeOpenSBI 跑在 M-mode。這意味著所有涉及 CPU 硬件狀態(tài)的操作比如修改 mstatus、處理 IPI、管理內(nèi)存物理映射都不能由內(nèi)核直接做而要經(jīng)過 SBI 調(diào)用。全志平臺上的 RISC-V 從核跑系統(tǒng)時通常有兩種模式跑裸機或者 RTOS全程留在 M-mode不需要 OpenSBI自己直接操作所有硬件。跑 Linux必須先把 OpenSBI 加載到從核的 M-mode然后從核的 Linux 才能啟動到 S-mode。對于異構 Linux 場景主流方案是每個 RISC-V 核都跑一份 OpenSBI通過 SBI 的 HSMHibernate Suspend Mechanism擴展來協(xié)調(diào)啟動與休眠。HSM 擴展定義了一組標準調(diào)用比如sbi_hsm_hart_start、sbi_hsm_hart_stop用來讓一個 hart 啟動另一個 hart。這可比你自己寫一套跨核啟動協(xié)議要可靠得多。3.2 用 SBI HSM 擴展喚醒從核標準路徑怎么走假設你的系統(tǒng)現(xiàn)在這樣Arm 主核已經(jīng)跑起了 LinuxRISC-V 從核的電源和時鐘已經(jīng)準備好復位也已經(jīng)釋放。接下來就是要讓從核的 PC 跳到一段合法的啟動代碼。用 SBI HSM 的方式整個流程是主核上的軟件通常是內(nèi)核里的 cpu_ops發(fā)起sbi_hsm_hart_start調(diào)用OpenSBI 在 M-mode 檢查目標 hart 的狀態(tài)OpenSBI 將目標 hart 的啟動地址寫入它的stvec并設置啟動參數(shù)目標 hart 從復位向量開始執(zhí)行先進入 OpenSBI 的冷啟動或 warm start 路徑OpenSBI 初始化完成后跳轉到內(nèi)核的啟動入口。這個過程里最常出的問題是從核的復位向量和stvec之間的關系沒理清。RISC-V 從核上電后第一件事是從芯片規(guī)定的復位地址取指——這個地址通常是一個 Boot ROM 或者固定的 SRAM 地址。但 OpenSBI 接管后真正做的是把啟動入口寫到stvec而stvec必須指向 OpenSBI 自己的 trap handler。如果你直接讓從核跳到一個裸地址比如你編譯的 Linux 內(nèi)核入口除非你完全繞過了 OpenSBI否則幾乎不可能成功。3.3 啟動代碼細節(jié)從核第一次“睜眼”看到的世界從核的啟動匯編我習慣寫成非常樸素的版本先做最基本的棧指針初始化、bss 清零然后跳到 C 代碼。下面是一段典型的從核啟動入口以 RISC-V 匯編為例.section .text.init .globl _start _start: /* 關中斷 */ csrw mie, zero csrw mip, zero /* 設置臨時棧 */ la sp, _stack_top /* 清零 bss */ la a0, __bss_start la a1, __bss_end 1: bge a0, a1, 2f sd zero, 0(a0) addi a0, a0, 8 j 1b 2: /* 跳轉 C 初始化 */ call riscv_secondary_main loop: wfi j loop這段代碼本身沒什么玄機但有兩個細節(jié)需要特別留意。第一個細節(jié)是wfi死循環(huán)必須有。從核如果在初始化完成之前被踩到未定義狀態(tài)至少還有一個低功耗等待的退路如果沒有這個循環(huán)從核會直接亂跳把總線搞得烏煙瘴氣。第二個細節(jié)是棧指針。很多從核的私有 SRAM 非常小可能只有 64KB 或者 128KB。你如果在鏈接腳本里把棧放得太大從核一啟動就把 SRAM 踩穿接著蓋掉 OpenSBI 或者內(nèi)核的關鍵數(shù)據(jù)。我一般會把從核的棧放在私有 SRAM 的最高地址并且限定大小不超過 16KB因為從核啟動階段根本用不了那么多??臻g。4. Linux 內(nèi)核側適配設備樹與 SMP4.1 設備樹里怎么描述異構多核設備樹是 Linux 內(nèi)核了解硬件拓撲的主要途徑。異構多核要正常工作必須在 DT 里把每個核的cpunode 以及enable-method寫對。一段典型的多核描述長這樣cpus { #address-cells 1; #size-cells 0; cpu0: cpu0 { compatible arm,cortex-a53; reg 0x0; device_type cpu; enable-method psci; }; cpu1: cpu1 { compatible riscv; reg 0x1; device_type cpu; riscv,isa rv64imafdc; mmu-type riscv,sv39; enable-method sbi; cpu-release-addr 0x0 0x45000000; }; };注意幾個容易搞錯的地方。enable-method必須匹配實際使用的啟動方式。Arm 核繼續(xù)用psciRISC-V 核用sbi這倆不能混。riscv,isa必須和實際硬件一致。如果你寫的是rv64imafdc但實際核不支持 F 擴展內(nèi)核在檢測到非法指令時會直接 panic。用cat /proc/cpuinfo檢查實際導出的 ISA 是排查這類問題的第一步。cpu-release-addr只在舊式 spin-table 方式下需要。如果你走 SBI HSM這個字段可以省略但有些老內(nèi)核或者定制內(nèi)核還是會參考它。4.2 PSCI、SBI、spin-table三套 enable-method 怎么選全志平臺上的異構多核可能的組合我列個表方便你看組合主核RISC-V 從核典型 enable-method適用場景主核 Linux 從核裸機ArmRISC-V無從核直接跑裸機實時協(xié)處理、I/O 偵聽主核 Linux 從核 RTOSArmRISC-Vremoteproc 或自定義需要框架管理生命周期同構 RISC-V SMPRISC-VRISC-Vsbi通用 SMP LinuxArm Linux RISC-V LinuxArmRISC-Vsbi通過 OpenSBI雙系統(tǒng)異構 AMP實際操作中我見過最多的是第一種Arm 主核跑 LinuxRISC-V 從核跑裸機或 FreeRTOS 完成特定實時任務。這種場景并不一定需要在內(nèi)核設備樹里給從核建 node反而用 remoteproc 框架管理更合適一個固件文件負責描述加載地址、啟動地址和資源表。如果你堅持要讓從核也跑 Linux那就要走完整 SBI 路線。SBI HSM 比 spin-table 的優(yōu)勢在于它不僅能熱插拔還能處理休眠和低功耗狀態(tài)。但代價是每個從核都要有一份獨立的 OpenSBI而且在共享 DDR 上要處理好內(nèi)存空洞和保留區(qū)域否則主核 Linux 的內(nèi)存管理會覆蓋掉從核的代碼段。4.3 啟動日志解讀怎么看從核有沒有被真正拉起判斷從核是否成功啟動最直接的辦法是看主核內(nèi)核日志里有沒有類似下面的信息smp: Bringing up secondary CPUs ... [ 0.186093] smp: Booting CPU1 (cpu 1) [ 0.190216] CPU1: RISC-V CPU (rv64imafdc) running at 600 MHz如果你看到的是CPU1: failed to boot或者干脆沒有任何Booting CPU1的日志那么問題大概率出在三個地方電源和時鐘配置有問題從核根本沒有運行從核的啟動地址不正確OpenSBI 找不到入口SBI 調(diào)用失敗主核 OpenSBI 返回錯誤碼。排查時我一般會做兩件事第一在從核固件入口處加一個 GPIO 翻轉邏輯通過示波器或者邏輯分析儀看從核是否真的執(zhí)行到了 C 代碼。第二打開 OpenSBI 的詳細日志-DOPENSBI_ENABLE_DEBUG看主核發(fā)起 HSM 調(diào)用時返回了什么狀態(tài)。5. 內(nèi)存一致性與共享通信5.1 多核共享 DDR 的“假一致”陷阱異構平臺最容易出問題的不是性能而是內(nèi)存一致性。Arm 核和 RISC-V 核共享同一個 DDR 控制器時硬件上通常有一致性總線比如 CCI 或 MBUS但并不意味著 CPU 的 L1/L2 緩存天然一致。如果你的 RISC-V 核沒有參與硬件緩存一致性協(xié)議很多協(xié)處理核不支持那么主核對一段內(nèi)存的寫入從核讀到的可能是舊值。舉個真實例子。我在一個平臺上讓 Arm 核往共享內(nèi)存寫一批描述符然后通過 doorbell 中斷通知 RISC-V 核去讀。從核讀到的數(shù)據(jù)有一半是 0xff另一半是舊數(shù)據(jù)。查了總線協(xié)議、DMA 配置最后發(fā)現(xiàn)就是緩存一致性問題Arm 核的數(shù)據(jù)還留在 L2 cache 里沒有寫穿到內(nèi)存。解決這類問題的方式有三種共享內(nèi)存區(qū)域標注為 non-cacheable。在設備樹里用dma-coherent或者直接在頁表里關掉 cache bit。每次通信前做顯式 cache clean/invalidate。用硬件支持的一致性端口如果有的話把從核納入一致性域。最省事、也最穩(wěn)妥的方案是第一種犧牲一點性能換正確性。全志這類平臺的共享內(nèi)存通常本來就在 MBUS 和 SRAM 之間帶寬也不高強行追求 cache 優(yōu)化意義不大。5.2 緩存維護操作的“放之四海而皆準”寫法哪怕你決定走 cacheable 路線也要知道緩存維護指令怎么發(fā)。RISC-V 上常見的操作是fence.i和sfence.vma。前者用于指令緩存同步后者用于地址轉換緩存失效。void flush_icache_range(unsigned long start, unsigned long end) { asm volatile(fence.i ::: memory); }聽起來簡單但真正容易出問題的是跨核場景。Arm 核寫了一段從核要執(zhí)行的代碼然后你讓從核去取指——如果從核的 I-cache 里還緩存著舊指令它執(zhí)行的仍然是舊代碼。這種情況fence.i需要在從核上執(zhí)行一次才能清掉它自身的指令緩存。實際操作中我建議在共享代碼區(qū)更新之后除了主核做一次 clean還要讓從核在啟動路徑最開頭執(zhí)行一次fence.i。雖然會損失幾條指令的性能但換來的是“無論如何都不會執(zhí)行到舊代碼”的確定性。這在調(diào)試初期非常重要等你把整個鏈路調(diào)穩(wěn)定了再考慮優(yōu)化掉。5.3 核間通信選型mailbox、共享內(nèi)存還是信號量全志 SoC 上核間通信的方案不外乎下面幾種純共享內(nèi)存 標志位最簡單但需要自己處理并發(fā)和緩存維護。適合大數(shù)據(jù)量、低頻通知的場景。共享內(nèi)存 interruptdoorbell全志平臺每個核都有一組中斷控制器你可以在寫完成數(shù)據(jù)之后給對端核發(fā)一個 IPI。這是最常見的方案。硬件 mailbox部分型號有專用的 mailbox 硬件可以發(fā)送短消息比如最多 8 個字。適合控制類小消息不需要復雜緩存管理。我個人的建議是初期調(diào)試優(yōu)先選擇“共享內(nèi)存 IPI”靈活且可控。你先通過 GPIO 或者串口打印驗證 IPI 通路是否正常然后再去搞共享內(nèi)存協(xié)議。千萬不要一上來就搞一個復雜的消息框架否則一旦出錯你分不清是中斷沒到、內(nèi)存不一致還是協(xié)議解析踩空排查成本極高。6. 調(diào)試與驗證從“能跑”到“跑得穩(wěn)”6.1 調(diào)試手段選擇JTAG、串口日志、還是內(nèi)核輔助異構平臺的調(diào)試最大的痛苦在于“不知道從核到底在干什么”。串口日志是必須的但對核間這種時序敏感性極高的問題串口本身可能掩蓋問題——你加的打印延遲足夠把問題“治好”。我一般按下面優(yōu)先級組織調(diào)試手段串口日志用于確認從核啟動進度、打印關鍵分支GPIO 翻轉用示波器測時序判斷執(zhí)行路徑上幾個關鍵節(jié)點是否按預期到達JTAG/OpenOCD用于查看從核的 PC、堆棧、通用寄存器內(nèi)核側輔助比如從核跑 Linux 時用/sys/devices/system/cpu/cpu1/online控制熱插拔測試。調(diào)試時要有一個理念每次只改一個變量。比如你先驗證電源域和復位不要同時調(diào)時鐘和內(nèi)核配表。用 GPIO 在從核入口處翻轉一次如果翻出來了說明電源、時鐘、復位這條鏈路沒問題如果沒有你才需要往下查。6.2 驗證指標不只是“能開機”多核 bring-up 的驗證階段我給自己定的標準不是“能開機交差”而是下面這幾個指標驗證項目標驗證方法從核啟動時間從釋放復位到執(zhí)行第一個用戶代碼 50msGPIO/示波器測量核數(shù)識別內(nèi)核能看到所有預期核/proc/cpuinfo熱插拔穩(wěn)定性CPU off/on 循環(huán) 1000 次無失敗腳本自動化核間通信正確性100000 次消息傳輸零錯誤共享內(nèi)存回環(huán)測試長時間穩(wěn)定性雙核滿載運行 72 小時無崩潰stress 工具加自定義負載不要小看熱插拔測試。SBI HSM 的 warm start 路徑和冷啟動路徑往往不同很多平臺“冷啟動一切正常一執(zhí)行 CPU hotplug 就死機”。這個問題在異構平臺上尤其典型因為主核和從核共享了某些低功耗資源停核的時候沒有正確關掉該關的下次啟動時就會踩到未初始化狀態(tài)。6.3 壓力測試腳本逼出隱藏問題下面是一個簡單但實用的熱插拔測試腳本跑在 Linux 主核上#!/bin/bash CPU1 FAIL0 for i in $(seq 1 1000); do echo 1 /sys/devices/system/cpu/cpu${CPU}/online if [ $? -ne 0 ]; then echo online failed at iteration $i FAIL1 break fi sleep 0.01 echo 0 /sys/devices/system/cpu/cpu${CPU}/online if [ $? -ne 0 ]; then echo offline failed at iteration $i FAIL1 break fi done if [ $FAIL -eq 0 ]; then echo Hotplug test passed: 1000 cycles else echo Hotplug test failed fi跑這個腳本之前建議先在從核的固件里加一個計數(shù)器每次啟動時自增并寫到一個固定內(nèi)存地址。主核熱插拔一千次之后去讀那個地址確認從核確實全新啟動了一千次而不是只啟動了一次、后面都在假裝成功。這種“假成功”在 SBI 路徑上非常隱蔽我甚至遇到過從核第一次啟動后根本沒死只是被錯誤地標記為下線結果每次 on/off 操作只是在主核軟件層面打轉的情況。7. 常見問題與排查技巧實錄7.1 問題速查表我踩過的那些坑下面是我在多個全志異構平臺上實際遇到過的典型問題總結成表方便你遇到類似情況時快速定位現(xiàn)象可能原因排查方向從核一點反應都沒有電源域未打開/復位未釋放檢查電源控制寄存器狀態(tài)測量核心供電從核啟動后 PC 跑飛啟動地址錯誤或入口處中斷未關用 JTAG 看 PC 值確認 stvec 和復位向量從核代碼執(zhí)行到一半掛死私有 SRAM 溢出或棧溢出檢查鏈接腳本確認棧大小和內(nèi)存邊界主核內(nèi)核報 CPU1 failed to bootHSM 調(diào)用返回錯誤打開 OpenSBI 調(diào)試日志返回碼逐項比對從核能啟動但亂打印串口波特率/UART 時鐘配置不一致確認從核側 UART 時鐘源和主核側是否一致熱插拔第二次失敗停核時未正確關閉緩存/中斷檢查 SBI 停止路徑和緩存維護操作共享數(shù)據(jù)讀到舊值緩存一致性未處理共享內(nèi)存改 non-cacheable 或顯式 clean7.2 獨家避坑幾個文檔里不會寫的細節(jié)第一個坑是關于“從核啟動延遲”。很多時候你釋放復位后從核不會立刻開始取指而是要等幾十毫秒的 PLL 鎖定時間。如果你在釋放復位后立刻去檢查從核狀態(tài)寄存器的某個標志位大概率會失敗。正確做法是釋放復位后先等待一個固定的、足夠長的延時我一般用 100ms再去做后續(xù)檢查。第二個坑是內(nèi)存保留區(qū)。主核 Linux 跑起來后默認會管理整個 DDR它根本不知道哪一塊內(nèi)存是從核的固件和堆棧。如果你在設備樹里沒有用reserved-memory把這些區(qū)域圈出來Linux 的 page allocator 就可能把從核正在執(zhí)行的代碼頁面重新分配給其他進程后果就是從核毫無征兆地死掉。在你的 devicetree 里務必要有類似這樣的保留區(qū)reserved-memory { #address-cells 1; #size-cells 1; ranges; riscv_fw_mem: riscv-fw45000000 { reg 0x45000000 0x1000000; no-map; }; };no-map關鍵字非常關鍵它告訴內(nèi)核這塊內(nèi)存不允許做頁表映射從而避免任何虛擬地址別名問題。第三個坑是 IPI 中斷號。全志平臺上不同核的中斷控制器看到的 IRQ 編號空間可能不一樣。你在主核上發(fā) IPI 給從核時用的中斷號未必等于從核處理時看到的中斷號。一定要先在從核固件里通過csrr讀取中斷號確認值之后再寫正式處理函數(shù)不要想當然地復用同一個數(shù)字。7.3 排查方法論一步一步縮小范圍多核系統(tǒng)排查最忌諱的是“東改一下西試一下”。我建議你每次調(diào)試都按下面五步走確認目標核的硬件狀態(tài)電源是否打開、時鐘是否穩(wěn)定、復位是否釋放確認最小啟動路徑從核是否執(zhí)行到了我們加的 GPIO 翻轉點確認固件加載是否正確目標內(nèi)存區(qū)域的字節(jié)內(nèi)容是否和編譯產(chǎn)物一致確認 SBI/啟動協(xié)議交互主核的調(diào)用是否返回成功從核的入口地址是否正確確認系統(tǒng)軟件適配設備樹、DMA 內(nèi)存圈定、中斷路由是否和硬件一致。這五步一層層下來大部分問題都能在第五步之前暴露。我見過最多的失敗案例都是因為跳過前四步直接在內(nèi)核日志里找原因最后繞了一大圈發(fā)現(xiàn)只是某個 GPIO 復位信號沒拉高。8. 實測體會與后續(xù)擴展做異構多核 bring-up 這件事跟我們平時做普通單核或多核系統(tǒng)最大的不同是你要同時維護兩套“世界觀”。主核的世界里Linux 管理一切資源從核的世界里你可能只有一個裸機循環(huán)和幾個中斷處理函數(shù)。一條共享內(nèi)存報文從主核發(fā)到從核中間隔著的不僅是硬件總線還有兩個完全不同的軟件棧。我在實際調(diào)試中最深的體會是嚴格遵循“一次只動一個變量”的原則。異構平臺上變量太多了電源、時鐘、復位、固件地址、DT 配置、緩存屬性任何一個地方都有可能是問題。如果你同時改了三個地方然后系統(tǒng)跑起來了你永遠不知道自己到底是怎么調(diào)好的。反過來下次換一顆芯片你又要從頭開始踩坑。這套流程如果跑順了后面的擴展方向其實很豐富??梢酝?AMP 方向走讓 RISC-V 從核獨立跑 FreeRTOS負責實時控制也可以往 SMP 方向走讓多個 RISC-V 核共同分擔 Linux 負載還可以用 remoteproc 框架把從核的生命周期納入 Linux 管理實現(xiàn)運行時加載和卸載從核固件。我自己比較推薦先把“共享內(nèi)存 IPI”的通信基建打磨穩(wěn)這是所有后續(xù)功能的地基。最后再分享一個小技巧如果你手頭的全志平臺上有多個相同型號的板子務必在從核固件里加一個可配置的延時參數(shù)或者打印開關通過板子上的撥碼開關或調(diào)試串口輸入來調(diào)節(jié)。異構 bring-up 階段很多問題都是時序相關的能快速調(diào)節(jié)從核啟動時序比什么高級調(diào)試器都管用。祝你們調(diào)板順利。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月激情婷婷视频| 99热最新精品| 思思热国产视频| 99ri网站在线观看| 亚洲亚洲人成综合网络| 亚洲综合另类| 97人人操人人干| 久久综合激情婷婷激情| 思思re视频在线| 强伦轩人妻一区二区电影| 99视频| 成人电影在线免费试看| 天天天天天日| 丁香婷婷婷五月| 日日色五月天| 日韩黄黄| 激情影院内射| 中文字幕丰满乱孑伦无码专区| 五月天另类图片区99| www久视频com| 色婷婷成人做爰A片免费看网站| 九九热免费视频| 成人超碰网| 九九热视频在线观看| 美女激情婷婷| 五月天婷婷乱| 99re这里只有精品在线观看| 伊人9999| 五月宗合激情网| 99爱免费在线观看| 夜夜www| 大香蕉AV在线| 婷婷丁香五月av| 91人人网| 五月开心婷婷中文字幕| 五月天婷婷三级黄| 五月婷久久| 色五月综合网| 开心深爱五月天| WWW.99热| 99视频超级精品| 91色在线/日韩| 日本三日本三级少妇三级66| 色婷婷超碰| 久久天堂色| av婷婷丁香| 疯狂做受XXXX高潮A片动画| 99这里只有精品国产| 日韩人妻无码专区| 国产色色网址网站| 91色久| 激情四射婷婷| www.天天日| 激情五月婷婷五月| 亚洲色无码A片一区二区麻豆| 婷婷久草| 五月开心深深爱激情综合| 操操操www.com| 99热免费网站| 婷婷丁香五月欧美人| 人人干Av| 婷婷六月综合激情| 亚洲五月婷| www.婷婷五月| 五月丁香花成人社区| 影音先锋91网站在线观看| 色狠狠色噜噜AV天堂五区 | 亚洲第二AV| 婷婷久久天堂网| 伊人9草在线观看| 色哟哟www| 日韩欧美一级大黄网站| 婷婷五月综合在线视频| 性爱久久| JAPANRCEP老熟妇乱子伦视频| 欧美日韩欧美| 97久久五月丁香婷婷| 国产老熟妇亲子乱对白| 五月丁香六月婷婷综合免| 五月色丁香婷婷中文字幕| 婷婷四色五月| 男人天堂99| 精品五月天| 这里有精品| 亚洲va久久久噜噜噜久久天堂| 婷婷色五月在线视频| 可以看的AV网站| 日本色99| 国产黄色在线观看| 97碰久久| 中文字幕色色| 五月天激情丁香| 国产偷人爽久久久久久老妇APP| 99九九这里有免费视频| 亚洲成人综合在线| 国产无套精品一区二区| 午夜丁香| 婷婷色中文| 包操45分钟网站| 色情五月停停丁香| 久久综合五月天| 90色免费视频| 日日日,com| 久久99这里只有精品视频| 另类小说五月天| 超碰人妻在线| 欧美在线操| 日日干日日s| 亚洲五月天婷婷| 五月丁香六月婷婷网| 久久受www免费人成| 欧美在线视频免费播放| 五月草影视| 五月丁香综合在线| 五月丁香久久呀| 久草丁香婷婷1024| 久草天堂| 六月撸婷婷| 日韩二区搞逼插逼毛片| 视频综合网| 六月丁香激情| 婷婷综合国产| 色婷婷五月婷婷五月婷婷五月| 午夜成人网站在线观看| 91精品国产色猫| 五月丁香日本片| 狠狠色丁香| 99热久久这里只有精品| AV九九| 丁香五月婷婷av| 色五月亚洲| 91日本在线观看| jizzdr| 无码成人AAAAA毛片AI换脸| 超碰免费成人| 五月天天综合| 婷婷五月天AV在线| 天天干天天做| 色欲婷婷五月天丁香| 草AV9999| 婷婷丁香综合网| 思思热久久阴99| 国产性爱一级| 婷婷色五月开心五月| 综合五月激情| 激情四射亚洲| 99热99热不卡| 91熟妇大香蕉| 丁香婷婷基地| 99色在线观看视频| www.97碰碰com| 9久操| 免费视频这里只有精品| 嘿嘿视频免费看9| 五月丁香六月婷婷综合网| 色婷婷亚洲精品天天综| 伊人春天av| 99热最新精品| 成人短视频在线观看| 欧美成人日韩| 日本九九九九| 婷婷综合| 麻豆五月丁香婷婷| 日美三级| 五月天激情久久| 天堂综合久久| 婷婷中文在线| 蜘蛛女免费观看完整版高清电影| 免费视频无码| 日撸夜撸日操| 久99精品视频| 97在线/亚洲| 色呦呦美女| www.9797国产| 精品视频这里只有精品| 亚洲精品久久久久久久久久吃药| 九九热视频免费的| 激情五月天99色| 亚洲天堂色色| 九九成人精品免费视频| 国产特级毛片AAAAAAA高清| 激情五月丁香色婷婷| 欧美成人精品三区综合A片| 98毛片| 亚洲亚洲人成综合网络| 亚州色色色| 丁香六月激情毛片| 97五月天| 伊人啪啪网| 人妻操日日| 婷婷激情六月| 亚洲性受XXXX五月丁香| 色婷婷香蕉在线| 五月婷亚洲精品| 国产肏屄大片| 天天爽天天| 日本成人噜噜噜噜噜| 午夜微拍福利| 色综合久久888| 9er热在线精品视频| 开心五月激情网| 色五月开心开心五月激情五月| 青吴乐视频| 日日操夜夜爽| 思思热99er在线视频| 99re欧美精品| 国产免费AV在线| 视频综合网| 久久久av久av久片一区二区| 七七色色综合| 五月丁香久久呀| 久久久久久18| 亚洲综合色网| 99色色| a色色片| 日日夜夜九九| 亚洲综合婷婷| 久青操| 久久综合热17c| 综合五月激情| 激情婷婷五月天| 99热九九热| 丁香婷婷久久| 丁香五月婷婷综合91| 九九综合色| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 台湾无码A片一区二区| 99日韩| 无码人妻一区| 六月综和久久| 99爽视频| 婷婷WWW久久| 这里只有精品免费| 丁香五月天婷婷中文字幕| 九九av| 色婷婷在线视频观看| AV在线大香蕉| 久久99网| 丁香五月激情鲁| 午夜一区| 99在线视频资源| 天天久综合网永久入口18| 欧美激情综合色综合啪啪五月| 日日夜夜狠狠婷婷色| www,色综合| 中字幕视频在线永久在线观看免费| 激情五月婷婷在线观看| 亚洲激情精品| 欧美成人网婷婷综合在线| 99久在线观看| 五月天婷综合| 久久日韩婷婷五月| 色 噜噜 九月 婷婷| 九九色逼| 96丁香六月婷婷蜜桃综合久久| 五月天激情图片| 婷婷丁香五月六月激情| 欧美色骚婷婷五月天| 99在线免费视频| 色九月综合| 91操人| 亚洲操精品| 深爱婷婷丁香五月激情| 99爱视频在线播放| 欧美丁香婷婷五月| 激情丁香图片| 国产三级秋霞| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 九九99精品视频| 色婷婷狠狠久久综合五月| 亚洲色五月| 玖玖在线视频| 国产成人99久久亚洲综合精品| 免费AV在线| 日韩无码色色| 久久这里只有精品热在99| 五月丁香欧美在线| 五月丁香激情婷婷| 亚洲色优| 久久免费操| 五月丁香婷婷AV| 99视频只有这里精品| 天天操天天操| 色久综合天天做视频| 婷婷深爱五月天在线| Av性爱网| 丁香婷婷五月六月天| 日本色婷婷综合| 久久九九怡红院| 激情五月天久久丁香| av网址在线| www.99久| 狠狠色五月激情| 九九热九九| 免费日韩99| 99热 在线观看| 婷婷丁香77777| 欧美欧盟性爱网| 激情深爱综合| 情涩婷婷五月天| 丁香婷婷六月激情综合| 亚洲色优| 日韩操人| 日韩一区二区A片免费观看| AV大片在线播放| 久综合4| 91人人人人人人人| 99九九综合久久九九| 91狠狠色| 思思色综合网站| 久久人人人人妻| 丁香五月激情无码视频| 日本视频99| 丁香五月影院| 7EzOBIhNq85TO| 啪啪啪丁香五月| 99热99天堂| 丁香五月综合| av免费人人| 婷婷性福五月天| 欧美在线干| 91婷婷| 五月丁香婷婷伊人| 猫咪伊人久久| 五月丁香六月婷婷中文版| 五月丁香花激情综合网| 五月丁香久久综合| 色欲五月丁香| 亚洲综合1024| 五月婷深深爱激情网| 丁香六月色婷婷综合| 日本视频99| 久久五月婷| 九九草草逼| 色色五月天网站| 丁香 婷婷五月| 啪到高潮激情丁香五月| 五月天色丁香| 99ri视频在线观看| 丁香五月婷婷姐| 丁香五月亚综合图片| 9|无码久久久久久| 成人精品免费在线观看| 精品一二三区久久AAA片| 亚洲欧美日韩VIP| 在线成人视频免费| 啪啪啪五月天| 五月婷婷av| 五月天婷婷狂暴白浆| 色五月婷婷操逼| 亚洲熟妇AV综合网五月丁香伊人| 色欲久久久久久综合网综合网| 在线播放中文字幕| 婷婷久久性爱| 夜丁香五月婷婷| 久久婷综合| 中文字幕操比影片| 精品国产va久久久久久久| 五月精品| 九九九九中文字幕| 97色色色色色色色色色色色色色| 大香蕉手机视频| 麻豆忘忧草午夜| 亚洲色涩视频| 99综合一区| 亚洲AV日韩在线观看| 欧美婷婷| 色色丁香五月天| 高清a片基地| WWW五月婷婷| 99这里只有精品| 玖玖色综合色| 美女婷婷六月色| 激情六月丁香| 97黑人精品区| 色屌丝中文字幕| 成人国产欧美大片一区| XXXX岛国| 色五月五月婷婷| 五月丁香综合成人社区| 日本色色视频| 综合另类激情| 99热这里只有在线| 五月天天丁香婷婷| 26UUU在线观看| 五月丁香久久| 香蕉久久国产AV一区二区| 色婷久九| www.色婷婷.com| 在线超碰精品| 人人妻久久妻| 国产亚洲成人综合| 婷婷五月花丁香| 婷婷丁香91综合| 五月天激情网址| 99操逼| 国产激情综合五月久久| 五月婷婷片| 久9热视频在线观看| 泰州成人视频| 九热视频精品| 99热免费精品| 婷香五月| 婷婷操逼| 亚洲综合五月天综合| 激情婷婷| 2020夜夜操天天爽| 久久九网| 婷婷五月六月| 69久久99精品久久久久| 五月天丁香综合| 五月天婷婷操逼视频| 色婷五月天| 六月婷婷香蕉| 五月天婷婷色| 日本婷婷丁香五月| 九九九九九九热| 五月丁香六月婷婷久久久综合| 成人综合视频网址| 色婷婷啪啪| 日韩欧美一级大黄网站| 日本三级毛片| 成人av免费观看| 五月天婷婷久久| 激情五月婷婷丁香| 综合在线丁香五月| 99ri精品在线观看| 九九大香蕉黄色影院| 99日精品视频| 色婷婷色99国产综合精品| 26uuu四色| 99精品偷自拍| 色欲一二三| 9l视频自拍9l九色9l成人| www.五月婷婷| 五月婷婷久久爱| 91在线观看九区| 欧美色色色色色| 色丁香五月天| 无码日本精品XXXXXXXXX | 九九热这里只有精品一| 色婷婷影| 天天插天天插| 99热在线观看免费精品| 久久永久网址| 91五月花丁香| 亚洲1区| 六月伊人婷婷| 天天综合91入口| 久9热| 激情五月婷婷伊人| 五月婷婷六月丁香首页| 成人看片网站| 五月六月婷| 丁香婷婷人妻| 色约约视频一区二区三区四区五区| 婷婷综合一二三| 婷婷四月 成人 狠狠干| 色五月色五天色情网址| 五月天狠狠| 岛国av电影网站| 亚洲成人网站在线播放| 激情综合亚洲色婷婷五月| 99热欧美精品| 最近免费中文字幕大全高清大全1| 噜噜网免费视频| 国产成人av在线| 国精产品一区一区三区免费视频| 丁香婷婷色色| 成人性爱精品视频| 久久久久久xxxxx| 在线五月婷| 综合婷婷| 激情五月天影院| 久久久久久草黄色片AV在线观看| 99热超碰天堂网| 五月激情综合网| 色五月亚洲| 五月婷免费视频久久久| 精品久久9| 成人 在线观看国产| 操九色| 婷婷五月天人妻| 日本久久人| 丁香五月社区| 五月精品免费XXX| 97碰在线| 五月99久久| 91919191919久久成人视频| 九九99九九99九九99视频网| 色五狠狠| 亚洲99手机免费看视频| 丁香五月天色综合| 激情丁香婷婷| 欧美日韩成人一区二区| 中文字幕婷婷在线| 在线综合啪| 极品少妇XXXX精品少妇偷拍| 激情五月天婷婷五月天| 午夜爱爱网站| 人人摸人人摸| 久久欧洲综合网| 国产日韩欧美性生活| 性欧美日本| 香蕉色色网| 久久久亚洲精品一区二区三区浴池| 色情五月综合婷婷| 97久久精品| 久久六月天| 六月五月婷婷| 日本九九热| 99热这是里只有精品| 久久婷婷影院| www.91久久| 丁香五月色网| 久久精品综合色| 96色婷婷| 伊人9草在线观看| 亚洲一二三网| 九久热| 婷婷丁香五月天综合激情| 色婷婷激情| 天天干天天爽| 五月丁香色色网| 九九热免费| 久久综合五月天| 久久资源网五月婷| 婷婷综合影院| 91超碰在线播放| 国产成人AV在线播放| 婷婷亚洲久久| 欧美日韩成人在线观看| 伊人婷婷大香蕉| 久久婷婷五月综合色奶水99啪| 九色 在线| 色女人久久| 日韩人妻无码精品| 久久久婷婷婷| 色色色色色级无码| 色高清无码视频| 亚洲99在线视频| 五月丁香婷庭在线| 天天玩夜夜操| 操碰99| www色五月| 国产 码在线成人网站| 日本一级一级一级一级| co超碰在线观看| 六月婷欧美丁香综合| 天堂va久久久噜噜噜久久Va| 啪啪东京热| 玖玖爱综合网| www色婷婷久久综合久色 | 美女激情综合| www.色婷婷| 日日躁夜夜躁狠狠久久AV| 欧美日韩婷婷五月天| 国产操逼视频网站| 91视频一起草| 国产五月天激情小说| 丁香六月激情蜜桃| 五月丁香婷婷婷激情爱爱| 97干免费视频| 色伦专区97中文字幕| 超碰免费观看| 天天射美女| 六月色婷婷欧美| 骚货艹网站视频| 婷婷综合视频| 97人人射| 东北黄色一级| 婷婷五月激情四月综合| 人人做人人看人人摸| 99色视频在线| 色99视频| 亚洲色图日韩网址| 青青热久久综合| 日本操逼九九九九58日本操逼 | 色很久综合| 一本久道综合色婷婷五月| 国产看真人毛片爱做A片| 五月婷婷黄网站大全| www.日韩国产| 久久99久久99精品免视看婷婷| 丁香婷婷社区| 做爰丰满少妇1313| 激情四射婷婷| 色丁香久久久| 天天干天干| 丁香五月婷婷五月基地| 激情综合色| 蜜乳中文字| 五月激情婷婷在线| 婷婷丁香五月天大香蕉| 五月婷婷与六月丁香图片激情| 五月情婷婷| 激情综合一| 欧美色色日韩| 襙比视频| 日本色五月| 九九九九无码| 天天干-天天日| 色综合九九色综合88| 丁香五月婷婷综合啪啪| 亚洲国产精品成人免费一区久久久在线观看AAAA | 五月天综合久久| 丁香五月天堂网| 激情综合网激情五月天| 久久五月婷天天干| www.超碰在线| 99re在线精品视频| 丁香五月激情婷婷婷婷在线观看| 99精品偷自拍| 都市激情久久| 久久精品视频99| 超级碰碰碰久久网站| 色五月涩涩婷婷蜜桃| 色色色地址| 在线不卡的视频| 色综合久久88色综合天天人守婷| 91丨九色丨43老版熟女| 2020日日干| 亭亭五月天成人| 五月婷婷色| 久久三级视频| 亚洲AV人人操| 精品网站:999WWW| 这里精品| 久久久潮喷-久久久九九-成人AV| 少妇口诉沐足视频播放器网址| 亚州操人在线视频| 91成人品| 欧美97色| 婷婷99狠狠| 94干大香蕉| 丁香五月无码| 婷婷六久久| 99热综合在线观看| 99国产精品久久久久久久久久久| 色久在| 狠狠草在线观看| 嫩草视频在线观看| 日韩一级片| 大香蕉久久久| 97碰久久| a在线观看| 成人av在线电影| 激情丁香九九五月综合网| 97五月天| 五月婷婷色播| 丁香五月欧美成人| 成人日韩欧美| 欧美色婷婷| 亚洲avjiujiur91| 丁香五月天激情综合| caopeng超碰| 91精品综合久久久久久五月丁香| mmm1717.6dbm人人爱人人操| 大地9中文在线观看免费高清| 天天日天天插天天操| 色五月综合网| 亚洲瑟瑟精品在线| 99riAV成人在线视频| 99热这里只有是亚洲国产| 婷婷丁香精品视频在线观看| 99热这里只有精品3| 色五月婷婷激情基地| 伊人色综合久久久| 大香蕉综合网| 日本欧美成人片AAAA| 六月五月久久丁香| 91免费试看| 五月丁香婷婷综合视频| 色色婷| 91超级碰碰| 丁香婷婷五色月| 一区操| 大香蕉伊人爱在线| 无码四色色色| 丁香五月天堂婷婷| www.99热这里精品| 久99久视频| 五月婷婷香蕉| 色五月开心久久网| 超碰免费成人| 激情综合网,五月| 26uuu成人网| www.91婷婷| 99噜噜噜在线播放| 在线观看视频1区| 五月开心网| 99热 这里只有精品 国产 日韩| 精品国产乱码久久久久久免费| 日日日日操| 久婷婷婷| 婷婷色情 | 综合婷婷都市激情| 久久综合激情五月天| 五月美女婷婷风骚| 色狠狠999综合| 欧美日韩大黄| 99热超| 涩涩五月天| 婷婷开心激情五月激情网| 天天综合网91| 狠狠操狠狠色| 99色天堂| 激情五月婷婷丁香综合网| 激情另类综合| 欧美性爱专区| 久久九九色| 亚洲成人五月天| 久久婷婷五月综合97色一本| 亚洲色频| 嫩草AV久久伊人妇女超级A| 久久久久人妻网址| AV五月丁香| 日熟女| 亚洲A片成人无码久久精品青桔| 99re6久热只有精品6在线直播| 五月天合网| 久九九热| 色五月 婷婷, 大香蕉| 国产精品久久..4399| 五月天婷婷永久免费视频| 色色色99| 丁香婷婷婷五月综合色情| 欧美成人精品A片免费一区99| 五月天激情视频| 激情综合网亚洲色图| 色色爽爽天天| www.色情五月天.com| 办公室少妇激情呻吟A片在线观看| 亚洲第一综合| 五月天婷婷丁香六月| 五月综合激情久久| 91黄操| 999精品久久久久久久| 天天日天天插| 丁香六月色婷婷| 丁香五月天婷婷激情| 性色99| 婷婷五月天国产手机在线视频观看| 综合久久五月天| 激情婷婷99| 婷婷在线中文字幕| 97色色视频| 激情五月综合| www.精品99| 婷婷五月天视频免费在线观看| 五月天婷婷激情春色小说| 丁香五月综合久久八| 亚洲第一成人无码A片| 97操在线资源| 丁香婷婷综合影院| 激情6月| 国产毛片精品一区二区色欲黄A片| 亭亭五月丁香五月天激情| 激情综合网五月| 狠狠干五月天| WWW.婷婷| 99热这里只有精品中文字幕| av操一操| 色五月第四色| 婷婷干五月综合在线播放| 99精品久久久久久久婷婷久久| 亚洲激情99| 色婷丁香五月| 七七九九色色| 天天爽天天弄| 狠狠狠狠狠狠草| 男人天堂亚洲综合| 97激情五月天| www.色窝| 久久99色色| 亚洲精品性色| 色五月丁香五月婷婷五月成人网| 开心激情站婷婷五月天| 九九热视频思思| 亚洲 六月 综合| 色五开心五月五月深深爱| 激情网婷婷婷| 深情五月天| 天天干天天操天天拍| 丁香婷婷影院| 九九干视频| 久久久99久久| 99热免费观看| 成人国产欧美大片一区| 中文字幕成人网站| Www.久久| 婷婷五月天黄色网址| 97资源欧美日韩大香蕉超碰一区| 97操操操| 五月天亚洲最大成人| xxx综合在线| 婷婷精品性性性性性性性| 色婷婷小说| 五月天婷综合| www.五月.com| 嫩草AV久久伊人妇女超级A| 五月丁香婷婷欧美色图视频五月丁香777电影| 婷色天堂| 久久九九精彩| 九九伊人网| 日操五月婷| 五月天 另类图片| 五月婷婷六月丁香| 99爱在线精品视频免费观看| 欧美美女视频| 91人人看| 高清不卡一区| 五月丁香av在线| 岛国AV网| 91超级碰碰碰| 国产精品久久久爽爽爽麻豆色哟哟| 99九九精品视频推荐| 99色| 亚洲成色综合网站免费观看| 天天操夜夜爱| 亚洲成人AV在线观看| 天天插天天插| 激情久久网 | 色综合久久久久久久久五月| 五月天婷婷综合网| 99超级碰免费视频| 奇米四色五月天| 91久热| 俺去也在线www色官网| 婷婷色在线播放| 国产亚洲精品久久久久久郑州| 中文字幕成人日韩| 99re这里只有精品99| 久久精品66| 97精品欧美91久久久久久久| 欧美成人AAA片一区国产精品| 高清国产一级婬片a免费| 久久婷婷色| 婷婷色成人| 99精色| 美女被肏网站在线看| 五月丁香| 日本色色视频| 婷婷激情综合网| 亚洲蜜乳AV| 天天免费成年人视频| 这里只有精品视频在线| 九九视频在线观看视频6 | 九热视频精品| 开心激情久久久久久久| 九九热黄色| 有码一区二区三区| 婷婷五月天改成什么了| 婷婷六月亚洲综合| 国产91资源在线| 日韩ac不卡无码| 狠狠做深爱婷婷久久综合一区| 久热9| 色人久夂| 婷婷六月激情综合| 202丰满熟女妇大| 翔田千里 50岁 无码| 五月天婷婷丁香社区| 久/久精品99看9| 久久精品五月天| 婷婷五月天综合小说网| 久久久人妻| 久久作爱| 激情综合一| 99热热热天天人人人超超碰| 六月婷婷俺也去| 超碰99久久| 免费操超碰| 精品一区二区三区木瓜| 激情五月丁香五月| 色啪影院| 五月天婷婷基地综合网| 日韩久久日| 欧美噜一噜| 91九九| www.狠狠| 九九久久五月天| 婷婷狠狠97| 五月丁香六月婷婷综合网站| 在线视频婷婷| 天天做天天爰天天爽天天无遮挡| 91久久久久久久| 欧美性爱一区| 亚洲色另类| 一本九九色| 五月天婷婷无码视频| 国产成人AV不卡| 天天色爽| 九九热最新| 激情五月开心五月在线视频| 国产亚洲色婷婷久久99精品91| 亚洲无码yw| 婷婷五月色| 久久精品99久久久久久久久| 天天天久久人人人合| 国产精品男人AV不卡| 艾小青av| 色欲五月丁香| 中文字幕色色色| 六月婷综合| 综合色色婷婷| 中文AV网站| 婷婷综合爱| 一区二区你懂的| 色深爱五月| 久久一伦| 婷婷五月天亚洲五码| 99免费在线视频| 日日夜夜天天| 综合激情在线| 色婷婷久久| 思思99热热热99| 99精品网| 五月婷婷五月天天| 万月丁香狠狠爱| 狠婷婷五月| 久久99免费视屏| 久色激情| 色色丁香婷婷| 亚洲va综合va国产va中文| 久久久久久草黄色片AV在线观看| 丁香六月天| 五月婷深深爱激情网| 国产av网| 九九在线精点品| 狠狠爱激情网| 色婷婷丁香五月| 婷婷五月天综合蜜桃| 青青久久五月| 99综合| 激情综合色网| 丁香六月婷| 99热精国产这里只有精品| 91seAV| 91狠狠色色丁香婷婷综合久久| 亚洲网视屏| 极品少妇XXXX精品少妇偷拍| 9这里只有精品| 婷婷久久图片| 九九99精品视频在线观看| 丁香婷婷免费| 五月色亭丁香| 亚洲第一黄网| 五月丁香直播| 丁香婷婷五月人体| 九九色综合九九色| 色色色色色色色色色999| HD久久精品视频| 日韩九区| 丁香五月久久综合| 成人免费高清在线播放| av人人干| 五月丁香无码| 伊人网碰碰| 国产婷婷色综合AV蜜臀AV| 终合激情网| 玖玖国产视频一区| 亚洲午夜国产成人电影VA国产欧…| 五月婷婷激情| 婷婷黄色五月天在线视频| .肏屄视频一区二区| 五月婷婷综合激情网| 777精品成人a v久久| 二级黄色毛片| 无码AV久久久久久久久| 夜夜干夜夜操| 天天色情站| 九九九九无码| 91久久婷婷| 亚洲精品婷婷| 婷婷AV丁香| av在线免费网站 | 丁香五月六月婷婷综合激情| 五月丁香激情四射| 亚洲综合色婷| 人人操99| 天天激情站| 天天搽天天射| 久婷久婷激情肉| 国产一区二区av免费| www.婷婷六月天| 激情综合色五月丁香六月亚洲| 高清视频一区| 婷婷五月天久| 免费视频WWW在线观看网站| 五月丁香婷婷爱| 俺去也在线官网| 在线婷婷| 五月间天堂综合| 成人草榴视频| 日本欧美成人片AAAA| 五月丁香综合网| 新五月天婷婷激情电影| 久久98| 99九九热视频免费| 色婷青青| 婷婷五月天激情网| 色婷精品91| www,天天干| 五月天婷爱综合| 99国产er热视频| 超碰日日操| 激情五月天色色色| 最新无毒无码AV| 天天日日夜夜| 99热日韩| 色五月大| 色婷婷久久综合中文久久一本| renre人人操国产超碰在线 | 欧美人妻一区二区| 色婷六月| 婷婷五月天视频亚洲| 成年人99热| 色宗合,宗合网| 狠狠色丁香| 久久婷婷色情7777网站| 狠狠综合区| 91丨九色丨国产打屁股网站| 99婷婷狠狠成为人免费视频| 激情五月丁香五月| 五月婷婷色| 91热久久| 欧美天堂久久| 五月婷婷草| 婷婷五月天狠狠色| 激情五月天激情五月天| 99av视频| www.99热. com这里只有精品| 五月婷丁香久久久| 婷婷五月深深的爱| 这里只精品| 色情·com| 婷婷五月天av网| 久久婷婷五月综合97色一本| 97视频91| 人人97碰| 色V狠狠的干| 五月天婷婷视频| 激情综合五月| 超碰久热| 日本婷婷| 9色在线| 亚洲五月天激情| www.婷婷| 国产精品日本一区二区在线播放| 国产肥白大熟妇BBBB视频| 激情五月婷婷| 亚洲精品白浆高清久久久久久| 俺去也五月| 久99999热视频在线观看免费| 成人无码精品1区2区3区免费看| 九九九九精品精| 97碰碰久久| 天天综合色99| 激情五月份婷婷| 综合久久高清| 日本片日本片祼观看网站在线看中文版网页在线看| 亚洲AV网址| 丁香五月激情啪啪| 婷婷基地成人五月天| 丁香五月天婷婷久久| 五月丁香色狠狠干大屄| 99热这里只有精品最新地址获取| 五月婷婷影| 超碰人人干| 99久久网站| 日本综合久久| 天堂伊人干| 狠狠综合久久综合| 99久精品视频| 丁香五月天在线观看视频| 色婷婷五月基地在线| 色五月综合网| 久狠狠| 亚洲成人网站在线观看| 五月丁香| 色五月综合网站| 性热视频99精品| 91久久久久久| 五月婷婷久久内射| 五月婷婷激情视频| 亚洲成人AV在线播放| 色五月综合网| 亚洲操女| 丁香婷婷91在线观看视频| 全亚洲最大的婷婷五月天网站COM 丁香五月婷婷狠狠色 | 五月花免费视频| 九九色色| 五月婷婷伊| 超级碰碰91| 激情精品久久| 婷婷五月天欧美| 日本三级中国三级99人妇网站| 极品少妇高潮啪啪AV无码| 碰久久精品w| 激情性爱五月天| 天天综合亚洲综合| 久久综合首页| 色五月激情五月| 色吊丝av中文字幕| 五月婷婷在线丁香| 五月综合色播播丁香婷婷| 色狠狠999综合| 香蕉AV777XXX色综合一区| 男人的天堂97| 99热20| 激情第四色| 五月婷婷无码| 天堂网色色| 色五月久久成人婷婷| 天天日天天摸| 亚洲成人网站在线观看| 色婷婷最新域名| 全网最新网黄大秀直播高清,主播国产录屏在线| www.五月天。com| 狠狠久久婷五月| 丁香五月天堂婷婷| 人妻22p| 97色色色色色| 五月丁香啪啪啪| 人人操操| 婷婷五月天亚洲精品| 99精品国产热久久91色欲| 精品一区久热| 性五月激情| 在线综合网| 色五月激情五月| 成人五月丁香社区| 婷婷五月天欧美图片在线播放电驴| 99精色| 99色免费| 日日射天天射| 久久婷婷五月天| 中文字幕婷婷在线| 久热九九| 久久久久久丁香五月| 婷婷五月综合网| 东北黄色一级| 综合久久五月| 婷婷五月激情中文字幕| 色综合狠狠色| 色五月色五天色情网| 婷婷五月天综合网| 欧美日韩国产一区| 五月丁香亚洲婷婷| 92久久精品一区二区| 超碰人人艹| 日日操夜夜爽| 99久久超级| 激情五月综合免费| 日本一级一级一级一级| 人人操 色| 99青青草| 日本人妻伦在线中文字幕| 性爱综合网| 欧美在线97| sewuyuetingtingiii| 狠狠狠狠狠草| 麻豆AV一区二区三区| 婷婷五月69| 婷婷五月天激情小说| 第五婷婷伊人丁香| 久久婷婷五月综合色和| 五月日韩中文字幕| 久久综合热17c| 日本va欧美va国产激情| 久久永久视频| 五月久久婷婷天堂视频| 丁香五月久久社区| 丁香五月婷在线观看| 五月婷婷综合激情小说| 日本色婷婷久久99精品91| 丁香五月性| 狠狠色五月激情| 激情婷婷五月| 九九九这里只有精品| 另类视频综合| 亚洲99综合| 色色五月天激情| 伊人碰碰碰| a在线观看| 午夜天堂啪啪| 五月丁香久久| 久久婷婷五月天| 99热在这里只有精品| 五月婷婷啪啪| 亭亭玉月丁香| 婷婷五月天伊人在线| 激情综合五月| 婷婷色五月天第7色| 欧美韩国日本| 九九九午夜影院成人| 一级操逼大片| 操你av| 丁香五月婷婷综合激情啪啪啪| 五月天,激情四射,婷婷频道| 丁香五月 性爱| 色爱亚洲| 久久Xx| 大香蕉综合| site:xmssd.com| 风流少妇A片一区二区蜜桃 | 激情综合婷婷| 99热国产国产| Blackedraw视频一区二区| 五月丁香六月婷婷亚洲| 久久性都花花世界成人免费视频| 有哪些A片网站| 日韩一级网站| 色五月婷婷在线| 天天搞夜夜爽夜夜爽| 内射爽无广熟女亚洲| 亚洲精品五月| 婷婷五月综合网激情| 99超级碰碰| 天天做天天爱高潮片| 无码免费人妻A片AAA毛片西瓜| 69婷婷丁香午夜| 婷婷五月激情小说| 欧美色色色色色色| 开心五月婷婷五月| AA片在线观看视频在线播放| 婷婷色网站| 六月婷婷色色色| www.婷婷五月天| 日日噜狠狠色综合久久| 91oumei| 国产日比| 丁香六月天婷婷色| 大香蕉太香蕉视频97| 任你搞网站| 综合激情网五月激情| 97超级碰人人| 精品人妻在线| 梁铮版《蜘蛛女侠》在线| 亚洲人成播放网站| AV操逼网| 婷婷六月激情啪啪| 99热久久日本| 日日色综合| 丁香婷婷综合激情五月色| 91打屁股视频网站| 久色网| 狠狠色综合网站久久久久| 午夜一区| 免费碰碰视频久| 伊人久久婷| 亚洲视频丁香网va| 婷婷黄色五月| 久久精品99| 五月激情综合美女久久| av大香蕉| 亚洲色频| 99热在线观看免费精品| 五月婷婷欧美激情| 天天射美女| 任我干视频在线观看| 亚洲精品视频在线播放| 激情婷婷五月天在线观看| 亚洲操逼片| 丁香婷婷久|