免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
色播五月婷婷综合| 婷婷六月丁| 风流少妇A片一区二区蜜桃| 色丁香婷婷| 日韩啪| 在线只有精品| 色婷婷九月| 国际国外精品欧洲南美洲专区无码不卡| 秋霞少妇毛片| 97婷婷丁香五月综合| 久久伊人大香蕉| 五月激情基地| 狠狠干在线视频| 婷婷激情五月天小说| 亚洲爆乳无码精品AAA片蜜桃| 五月伊人婷婷| 婷婷色丁香五月| 婷婷五月丁香啪啪| 99re青青草| 精品色色| 六月丁香综合| 国产精品久久久海的味道| 美女黄频aⅴ视频| 亚洲A片成人无码久久精品青桔| 亚洲精品永久久久久久| 天天做天天爱天天做| 狠狠搞五月天| 久久五月婷婷电影| 97色在线视频| 97福利视频| 五月婷免费视频| 人妻丰满精品一区二区A片| 久久XX| 婷婷五月天成人网站| 婷婷久久欧美| 五月熟妇婷婷久久| 日本va网站| 91视频一起草| 97精品综合| 久久久欧美精品sm网站| WWW免费视频碰碰碰碰| 婷婷丁香九色| 国产九月婷婷| 91在线日本| 91干婷婷| 91热久| 天堂网亚洲色图| 色亭亭影园| 99在线精品免费视频| 色婷视频| 农村熟妇高潮精品A片| 成人在线精品| 五月丁香婷婷色| 久久久久久人妻| 婷色五月| 亚洲精品白浆高清久久久久久| 丁香五月av| 婷婷五月天AV| 欧洲色色| 人人综合91网| 91seav| 五月丁香婷婷综合久久| 日日想日日夜日日操| 思思99热在线| 亚洲综合激情五月| www.91操| 极品人妻VIDEOSSS人妻| 中文字幕欧美精品久久| 五月伊人网| 亚洲色9| se色99| 婷婷色系婷色| 婷婷激情人妻| 国产欧美精品AAAAAA片| 欧美日韩五月婷婷| 热99精品视频观看| 五月婷婷六月丁香综合在线| 这里只有精品免费视频| 任你躁XXXXX麻豆精品| 99超超碰| 九月影院義母在线播放| 96性爱视频| 国精产品一区二区三区| 九九99精品视频| 丁香五月香蕉| 色综合久久88| 91热er| 日日日天天干| 国产精品99久久久久久久女警 | 婷婷五月综合基地| 7超碰自拍| 99久热| 人妻videos人妻高清| 99热99热| 国外亚洲成AV人片在线观看| www.99热在线观看| 色情五月停停丁香| 五月天婷婷激情| 碰碰碰97国产| 婷婷久久午夜网| 激情五月婷婷在线| 婷婷激情四射| 日本片日本片祼观看网站在线看中文版网页在线看 | xxx.色婷婷| 六月婷久久| 丰满少妇猛烈A片免费看观看| 大香蕉人人网| 亚洲欧美999| 97超碰综合| 河北真实伦对白精彩脏话| 探花搜索结果 - 黄上黄| sS丁香五月婷婷| 婷婷丁香五月亚洲17cao| 色色com| Y11111111111少妇电影院| 婷婷涩涩五月天| 深爱激情久久| 99色在线观看| 色狠狠色| 综合久久婷婷| 成年人夜夜喷水| 天天色综合图片| 久久丁香五月婷婷| 99久久婷婷国产综合精品青桔 | 久久电影4399| 97婷婷在线| 婷婷播播五月天| 五月婷婷中文| 夜夜爽天天| 欧美大香蕉视频| 九九激情| 婷婷在线激情| 久久婷婷五月综合伊人| 五月丁香91| 色综合久久88色综合天天| 5月婷婷视频网站综合| 亚洲国产99| 五月日韩中文字幕| 婷婷五月六月丁香综合| 99精品丰满| 六月婷婷狠狠做| 久久精彩视频| 五月色丁香婷婷中文字幕| 无码任你操| www.91婷婷| 成人电影丁香六月天| 国产成人精品一区二区三区视频| 五月丁香拍拍激情综合| 亞洲自怕| 久久99久久99精品免观看粉嫩| 99在线视频女女视频| 色日本网| 日韩精品超碰在线观看| 国产操碰| 久婷婷五月丁香在线观看| 婷婷五月天久久久| 日本无va视频| 超碰99热在线观看| 九色视频91疯狂| 亚洲成人综合在线| 嫩草AV久久伊人妇女超级A | 思思99热热热99| 99A级片| 日韩欧美一道四区中文字幕| 九九综合久久| 色婷婷在线综合色播网| 91丨九色丨首页| 五月婷婷六月基地| 婷婷综合亚洲| 9久热| 六月综和久久| 亚洲精品成人片在线播| 4399成人黄A片| 怕怕視頻| 久久蜜臀婷婷| 九九色影视| 日韩黄黄| 午夜成人av在线| 99在线观看视频| av免费在线网站| 五月婷六月| 人妻AV在线观看| 九久9精品| 婷婷五月天AV激情| 九九re精品视频在线观看 | 午夜九九九九九九| 色爱亚洲| 极品人妻VideOssS人妻| 婷婷免费精品视频| 久久九九九九| 屁股翘好撅高迎合跪趴| 丁香五月天网站| 夜夜人妻五月天| 大香蕉久久视频久久视频| 五月开心色| 免费黄色AV| 99在线免费观看| www激情网| 丁香久月| 99色嘟嘟精品网站| 色色色综合网| 丁香婷婷九月| 日日夜夜小色哥| 精典久久| 天堂亚洲 在线| 99成人| 日日夜夜久| 超碰亚洲天堂| 91色吧网| www.综合久久.com| 青青草99re| 日韩1区2区| 五月花综合视频| 青青草搞屄视频网站| 日日操夜夜操中国无码| 国产精品天天狠天天看| 色综合久久88色综合天天99| 亭亭五月色男人| 五月婷婷六月丁香激情深爱| 婷婷欧美综合| 色五月自偷自拍婷婷婷婷| 精品一二三区久久AAA片| 久久一热| 婷婷五月骚厕所| 91性高潮久久久久久久久| 激情五月天久久| 欧美人妻一区二区| 在线色色| 婷婷丁香在线| 97人人看| 婷婷五月激情图片| 9色在线视频| www.日日夜夜.com| 五月色丁香视频精品| 丁香六月婷婷五月天| 99草视频在线观看| 国产中文字幕在线视频免费观看 | 九九99在线免费在线观看视频| av首页在线| 操91| 久久婷婷五月天| 97久久人人操| 成人日韩欧美| 97色色色| 九九色情网站| 1024成人免费看| 国产精品天天狠天天看| 国产精品久久久久久久久久| 99精品视频在线观看| 天天操天天操天天操天天操天天操| 婷婷欧美| 五月丁香六月成人| 六月婷婷五月丁香| 成人精品视频99在线观看免费| 狠狠色成人影片| 色综合色色| 婷婷五月天开心网| 欧美成人精品A片免费一区99| 小视频久久久aaa| 成人视频一区| 嫩草AV久久伊人妇女超级A| 狠狠干狠狠干| 亚洲日韩久久婷婷伊人| 婷婷激情五月天激情小说| 91在线97视频| av第一二区| 婷婷爱五月| 久久色9| 五月久久婷婷天堂视频| 丁香五月情色| 五月天精品综合在线| 天天做天天干天天综合网 | 天天日夜夜曹| 99热婷婷| 欧美色图片88| 97干在线播放| 色播丁香五月婷婷操:屄| 我要色综合五月婷婷| 天天爽综合| 夜夜撸日日骑| 在线色色| 色婷青青| 91九色视频| 婷婷爱在线观看| 五月婷婷香蕉| 婷婷少妇激情| 国产视频色色色色色色色 | 婷婷五月天Av| 少妇人妻丰满做爰XXX| 黄色热99| 五月久久婷婷| 五月丁香花激情综合网| 色色激情网| 色婷婷六月| 国产99久| 色久婷婷五月| 五月综合在线| 成人超碰网| 婷婷五月色影视先锋| 色综合久| 婷婷五月丁香六月综合网| 狠狠丁香| 亚洲AVwwwwwww| 久久停停超碰| 妻久久人久久| XX色综合| 亚洲va日| AV在线观看网站| 国产AV一区二区三区最新精品| 另类丁香综合| 狠狠干狠狠干狠狠干狠狠干| 色色丁香婷婷综合| 久久久色情| 婷婷五月天受日本法律保护| 五月天综合色| 香蕉曰比| 婷久看人爽| 天天日夜夜爽| av不卡网站| 五月色综合| 日本色色视频| 色婷青青| 呦呦AV| 久久99视频| 成人小说色图婷婷五月| 天天色,天天操,天天射| 天天色亚洲| 九九精品少妇| 五月丁香婷婷潮喷中文字幕| 中文字幕日产A片在线看| 五月丁香趴趴| 国产真实乱了老女人视频| 日韩在线观看亚洲| 26uuu国产| 日韩黄色中文字幕| 激情五月综合ì香亚洲| 这里有精品| 久久久99视频| 99热偷拍| 色丁香五月天射婷婷爱婷婷| 26UUU欧美| 色九九九九| 思思国产99| 无码成人AAAAA毛片AI换脸| 激情丁香社区| 亚洲综合99| 久久久婷婷五月亚洲97号色| 97色在线观看视频| 久久99精品久久久久子伦| 五月色网| 亚洲天堂碰碰婷婷| 色色色色色色网站| 欧美精品A片一区在线观看| 天天爽天天摸| 色欧美日| 九九综合九九| 九九这里只有精品在线视频| 91啪啪| 九九热在线亚洲免费视频| 生活片五区| 婷婷欧美激情| 97香蕉久久超级碰碰高清版 | 国产麻豆视频| 婷婷五月天堂一本在线| 婷婷影院欧美| 婷婷黄色| 99国产精品白浆在线观看免费| 婷婷综合五月天激情| 国产3p露脸普通话对白| 色婷婷4| 激情综合婷婷| 丁香五月婷婷激情蜜桃| 五月婷婷婷丁香播| 激情视频婷婷五月花| 五月天婷婷丁香| 激情小说婷婷小说| 国产操B| 婷婷十月激情综合网| 五月婷色丁香| 五月天色影院| 精品久久久久久久人妻| 欧美日韩国产一区二区| 99免费在线| 丁香婷婷少妇| 玖色色综合| 成人婷婷| 亚洲AAAA网| 色吧网综合| 人妻操逼视频| 色五月天天在线观看资源站| 亚洲99精品九九在线| 激情五月,色播五月| 天天综合久久| EEUSS鲁片一区二区三区| 激情宗合网激情五月天| 婷婷涩五月| 色人久久| 国产精品VA在线| 狠狠综合网| 亚洲亚洲人成综合网络| 这里只有精品视频| 日本ww亚洲| 大香蕉人人网| 国产精品久久久久9999小说| 亚洲熟女乱色综合亚洲网站| 国产做A爰片毛片A片美国| 极品五月天| 六月婷婷av| 超碰日韩成人| 九九久久精品| 五月天综合在线观看| 九九五月天| 开心色色五月天综合| 狠狠干五月天| site:publishdd.com| 五月婷婷天堂| 久久99网| 国产AV影片| √天堂资源在线人妻熟女| 九九视频热| 丁香久久综合| 色五月美女| 99热97| 五月婷婷中文字幕AV| 99这里只有免费的小视频在线观看| 大香蕉在线观看9| 色播播五月天| 九色91国产| 丁香五月婷婷在线视频| 热99视频精品| 丁香九月综合| 五月婷婷五月天| www.cao.com久久| 久久久亚洲精品一区二区三区浴池| 99九九精品视频| 免费播放99性爱视频| 色婷婷91激情小说| 婷婷久草| 成人精品在线| PORNY九色9l自拍视频成人| 婷婷丁香五月在线观看91| 亚洲精品又粗又大又爽A片| 五月婷婷激情性爱| 亚洲色夜| 台湾无码A片一区二区| 五月丁香婷婷三级| 天天操夜夜肏| 五月天精品综合在线| 天天色天天干天天插| 狠狠操综合| 影音先锋 一区| www.99操| 人妖色AV色综合| www天堂99| 牛牛热这里只有jingpin| 欧美成人精品A片免费一区99| 亚洲综合九九| www.色婷婷| 五夜婷婷| 五月激情综合网| 五月伊人网| 丁香久久五月婷综合| 激情五月天综合婷婷网| 亚洲色网址| 五月天亭亭俺也| 乱色色色| 中文av网| 激情五月婷婷综合| 99啪啪| 五月天婷婷综合网| 丁香六月婷婷色XXXX| 少妇人妻丰满做爰XXX| 青草视频在线观看视频| 九九爱激情| 婷婷五月综合中文字幕| 九九色院| 激情五月第四色| 欧洲亚洲最新精品| 激情 婷婷 插| 五月天婷婷久久视频| 亚洲激情综合| 九九色色| 思思干精品| 婷婷五月激情综合啪啪| 91九色中文字幕女在线观看| 五月亭亭六月色| 色婷婷丁香五月天在线视频| 天天日日爽| 丁香五月天激情综合| 热99精品视频五月| 婷婷97狠狠成人网站| 95精品区一区二| 激情丁香五月| 无码se| 日日干夜夜撸夜夜骑| 99精品久久久久久久婷婷久久| 亚洲人妻五月丁香婷婷| 色婷婷a| 狠狠干狠狠色| 9热在线视频| 91vip在线观看| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 久久日婷婷| 99日精品视频| 亚洲视频丁香网va| 丁香五月天婷婷激情| 大香蕉九九| A片天天| 超碰人人艹| 久久这里都是精品视频| 91精品久久久久久久久| 综合激情五月综合激情五月激情1| 天天操夜夜爱| 丁香五月天社区| 午夜福利成人AV91| 色婷婷久久综合久色| 久久久五月婷婷| 五月丁香婷婷色色色| 中国女人内射6XXXXX| 亚洲超级碰| 欧美精品久久久久久视频观看| 综合五月丁香六月婷婷| 欧美在线干| 五月丁香婷婷啪啪网| 激情丁香五月婷| 久久五月天综合| 白人荫道BBWBBB大荫道| 国产成人综合在线| 狠狠高潮精品亚洲1| 91碰碰| 99男人的天堂| 九九在线这里只有精品视频| 四川BBB搡BBB搡多人乱亂| www.com亚洲网站在线免费| 久久亚洲网| 日韩在线99| 99视频在线9| 激情久久四色| 激情亚洲网| 欧美操我| 四色AVwww| 四川BBB搡BBB爽爽视频| 五月丁香网av| 久久只有18视频| 9视频1在线| 中文字幕 久久9999| 激情五月婷婷视频一区二区三区| 五月天伊人综合| 这里只有精品视频99| 激情五月婷婷| 激情五月网站| 蜜桃五月天| 这里只有精品免费在线视频| 9久视频| 91丨九色丨熟女丰满| 噜噜网免费视频| 懂色av粉嫩av蜜臀av| 激情五月婷婷免费视频| 色婷婷五月综合| 日韩性视频| 4438激情网| 五月天成人小说网| 9 9热这里有精品| VA婷婷亚洲| 色色三级视频| 亚洲欧州色情在线观看| 狠狠爱婷婷五月天| 日本婷婷色日| 色播五月综合网| 欧美成人va| 日熟女| 色女人久久| 色综合久久88色综合天天看| 五月婷婷久久综合| 日日夜夜狠狠婷婷色| 九九综合色| 亚州精品色情无码A片| 丁香婷婷久久| WWW丁香五月| 国产精品国产成人国产三级| 日日噜狠狠色综合久久| 九九99偷拍视频| 婷婷久久色| 成人免费在线电影| 五月丁香偷拍| 久久婷婷五月激情网站| 丁香五月婷婷影视先锋| 亚洲最大激情无码| 4399成人黄A片| 99久久婷婷国产综合精品草原| 天天色爽| 中文字幕久久婷九女同| 超碰色综合| 五月开心婷婷极品激情| 秋霞少妇AV网站| 亚洲第一第二网站| 97色婷婷| 日韩人妻白浆视频系列| 久久99热免费最新版| 久久久久激情| 国产午夜伦鲁鲁| 欧美操综合| 久久婷婷亚洲| 天天射天天射一道本日本社区| 另类图片五月天激情| 婷婷色片| 春色激情第四色| 久久网址99热| 五月天伊人| 日日日影院| 中文字幕激情综合| 狠狠精品干练久久久无码中文字幕 | 婷婷爱五月天人人爱| 五月婷婷激情日本| 国产精品久久久久久久久久免费 | 久久久91| 伊人喵咪a V| 色99在线观看| 婷婷六月色播| 五月丁香六月婷婷综合在线| 超级碰碰99| 婷婷激情图片| 一丁香五月天月AV| 天天爱天天做天天爽| 激情图片婷婷丁香五月| 男妓跪趴把舌头伸进我的嘴巴| 丁香五月天在线观看| 国产1区2区3区在线观| 婷婷色综合中心站| 高清一区二区三区日本久| 天天天天干| 婷婷综合五月天激情| 五月激情网站| 九月婷婷人人操人人舔人人爱| 久久亚洲激情五码| 五月婷婷丁香| 五月天精品综合| www.色婷婷| 亚洲天堂碰碰婷婷| 爱99干99| 99久久综合网| 91精品久久久久久综合五月天| 婷婷亚洲欧美丁香五月| 狠狠色狠狠色综合日日91| 丁香六月婷婷开心| 日本色久| 97超碰欧美中文字幕| 99热网精品| 久久人妻视频| 91性高潮久久久久久久久| 91久久人人操| 亚洲精品**不卡在线播he| 久久伊人大香蕉| 六月丁香婷| 激情九九六月激情免费视频| 五月天婷婷无码| 天天肏天天爽夜夜爽| 婷婷四月 成人 狠狠干| 99热99干| 99在线精品观看99| 激情综合网五月婷婷| 狠狠爱婷婷| 94干大香蕉| 青青操日本摸摸看看| 免费看欧美成人A片无码| 99热免费| 国产午夜成人AV在线播放| 六月丁香五月婷婷| 91久久久久久久久18| 泰州成人视频| 久久综合99| 五月天综合网| 久久精品凹凸分类| 国产婷婷婷| www,婷婷,com| 丁香九月激情在线视频| 久久日曰| 开心五月婷婷婷美女| 日本人人干| 日韩精品999| 婷婷五月天影院| 丁香五月天啪啪| 婷丁香久综合| 色五月天在线| 亚亚州久久高潮| 人人摸人人澡人人| 激情综合色网| 国产午夜精品AV一区二区麻豆| 久碰视频| 婷婷色色色| 国产操肏网站| 色婷网| 色情丁香五月天| 99热99这里免费的精品| av人人干| 99激情网| 婷婷玉月丁香五月在线视频| 婷婷激情五月天视频在线| 激情五月丁香五月| 99热偷拍| 香蕉久久国产AV一区二区| 激情综合网激情五月婷婷| 91九色无码内射| 久操大| 婷婷丁香五月天综合网| 日日.c| 中文字幕av久久爽一区| 最近韩国日本免费高清观看| 大香蕉丁香| 超碰人人色| 婷婷中文字幕版| 久久婷婷视频| 色色无码| 熟女91九色| 99热香港| 婷婷成人五月天成人文学| 日日天天干| 久婷婷久草| 如何安全看伊人婷婷| 婷婷综合六| 中文字幕在线不卡| 九九九激情网| 69热在线| 色婷婷丁香五月在线观看| 开心五月网 | 五月丁香六月激情| 无码动漫AV| 亚洲人人96@| 久热免费| 综合aV在线| 久久人人九九| 五月婷在线视频免费看| 国产67194| 成人网站av免费网站推荐| 99久久a线观| 丁香 亚洲 久久| 午夜不卡久久精品无码免费| 国产操碰| 丁五月激情视频免费| 99在线精品免费视频| www.日韩国产| 一起草性爱不卡视频| 婷婷五月天成人| 色伊人啪| 丁香五月在线| 欧美天堂婷婷日韩| 六月丁香婷婷综合色播| 啪啪婷婷五月天激情| 五月天久久小说| 色亭亭五月天网扯| 亚洲综合五月天婷婷| 免费啪啪啪网站| av操逼网| 狠狠五月丁香色婷| 五月婷婷婷婷| 婷婷性爱网| 亚洲色五月婷婷| 激情六月婷婷啪啪| 亚洲性爱99在线| 99热色精品| 丁香六月婷婷久久综合| www.久久爱.com| 天天艹| 色99热| 97日本在线播放| 激情六月五月婷婷综合网| 99在线观看| 超碰9| 另类激情五月| 8区视频在线| 欧美啪啪9| 综合色吧| 99久久久久久www| 亚洲AV无码影院| 丁香五月天啪啪| 5五月综合网亚洲| 丁香六月婷婷色XXXXX| 内射 无码 伊人| 99热这里只有精品50| 一区二区成人电影免费播放| 99热这里只是精品| 一本婷婷丁香久久| 天天做 天天爱| 天天视频精品9| 丁香五月电影| 综合超碰熟| 天天影院色| 精品亚洲国产成AV人片传媒| 99精品国产热久久91色欲| 久99视频在线观看| 99热这里只有精品在线| 青青草a在线| 粉嫩AV久久一区二区三区| 五月丁香激情综合欧美| 婷婷在线中文字幕| 五月激情六月宗合| 婷婷97碰碰| 五月丁香六月婷婷网| 亚洲激情 久久| JAPANRCEP老熟妇乱子伦视频| 99热99免费| 7777久久亚洲中文字幕| 亚洲人人操| 国产精品电影| 日韩乱玛久久| 99久久高清视频| 成人国产综合| \\五月天婷婷激情| 亚洲视频久久| 日本一级黄色电影| 色播五月丁香综合| 97伊人综合婷婷| 日本精品99| 五月婷无码| 91大神在线免费看视频全集男男一起操| 五月天成人在线播放| 天天肏夜夜肏| 丁香五月婷婷色综合| 激情久久丁香| 日本精品。999| 99人人看| 成年人丁香五月| 99视频这里只有久久精品| 婷婷五月色惰| 五月婷婷综合网| 六月激情久久| 成人五月天色天堂| 日本天堂网站99| 久久六月综合| 久机视频这只有精品| 97色干| 色色草97| 成片免费观看视频大全| 五月婷婷在线免费观看| 婷婷综合另类小说| 人操人人| 中国操逼99| 亚洲六月婷婷| 丁香五月亚洲| 五月婷婷伦理| 欧美超碰人人| 美国少妇性做爰| 最新av在线观看| www.26uuu.com亚洲电影| www色婷婷| 9色在线视频精品观看| 99热成人| 日韩狠狠色| 亚洲成人人人操| WWW色五月天| 1024婷婷综合久久五月天| 中文字幕有多少字| 色色五月天婷婷| 第五色色色婷婷| 我爱va亚洲va52| 91精品久久久久久综合五月天| 最新日韩AV中文字幕| 五月丁香色色网| 99福利导航| 五月婷婷,六月丁香| 草AV9999| 日本a片网址| 原琪琪色影院| 色色综合热| av中文网| 亚洲成av人影院| 色久天| 九九热AV| 五月玖玖| 九月激情综合| 色五月欧美| 99精彩视频在线观看| 亚洲欧洲中文日韩久久AV乱码| 九九热精品| 五月婷色色| 色噜噜狠狠色综合网| 26uuu精品一区二区| 丁香五月婷婷手机| 色综合日日| 激情五月婷婷啪啪| 激情播丁香| 久久五月人人摸| 婷婷激情五月天综合| 婷色五月| 99er这里只有精品视频| 97干在线| 日韩色色小视频| 日日夜夜狠狠婷婷色| 色很很96| WWW夜夜| 久久99热这里| 五月在在观看| 狠狠色丁香99| www.国产色| 日本久久色| 综合久色五月| 91丁香| 亚洲视频国产一区| 色色色五月婷| 97色婷婷五月天| 99热在线观看| 开心婷婷五月激情网小说| 九九综合视频在线观看| 人妻久久久久久久久妻久久久久久久久 | 色天天狠狠干| 色婷婷伦理| 综合五月激情| 五月天啪啪| 91色在线 | 日韩| 香焦网五月天| 九九色综合九九色| 色婷婷成人做爰A片免费看网站 | 殴美日韩成人| 六月激情婷婷| 国产精品涩涩涩视频网站| 久久久国产精品黄毛片| 婷婷激情五月天激情小说| 婷婷综合九月| 日本片日本片祼观看网站在线看中文版网页在线看| 五月激情视频| 国产欧美日韩一区二区三区| 色婷婷色婷婷五月| 9久热在线视频精品| 久久婷婷五月天| 久99在线| 亚洲五月天婷婷| 丁香五月第九色| 五月天激情网开心网| 婷婷五月在线视频| 99操99| 丁香五月很很肏| 丁香婷婷六月天| ji'qing'luan'ren'lun| WWW五月| 9久热| 亚洲成人日韩无码精品| 久久久婷丁香五月天激情综合| 婷婷五月天激情文学小说| 婷婷五月天六月| 激情六月丁香| 亚洲乱码日产精品BD| 日本色色网站| 亚洲视频色色| 天天干一干| 无码人妻精品一区二区蜜桃色欲| 九九热99久久99| 丁香六月色婷婷欧美| 五月丁香花婷婷玉莉AV| 亚洲无码播放| 亚洲综合视频八| 丁香综合婷婷开心激情网| 九色色| 性色五月天| 99在线一区| av 一区三区四区| 婷婷狠狠操| 四LLL少妇BBBB槡BBBB| 亚洲婷婷五月| 亚洲综合在线丁香五月| 久99| 日韩一级网站| 思思精品久久艹| 五月丁香综合在线| 亚洲午夜一区二区| 人人舔天天| 亚洲九九视频| 色九月欧美| 国产精品成人av在线观看春天| 99热超碰| 婷婷狠狠18禁久久| 99re最新地址| 777影视理论片大全在线观看| 大香蕉久久草| 色五婷婷| 国产日产亚系列精品版优势| 4399成人黄A片| 丁香五月天视频| 99网址在线观看| 婷婷五月天xxx| 婷婷五月色| 日韩高清久久| 99热这里只有精品18| 青柠影视免费高清电视剧| 久9久9久9久9久9久9| 五月天伊人网| 五月九九综合| 五月丁香六月合| 伊人久久婷婷| 久久欧洲久久| 色五月天在线观看| 人人综合久| 国产激情婷婷| 丁香伊人五月色婷婷五十路| 色婷五月天网站| 免费看欧美成人A片无码| 国产 码在线成人网站| 午夜成人综合| 成人在线日韩欧美| 色色a| 97日本在线| 人人摸人人搞| 婷婷久久婷婷色五月| 午夜国产精品AV在线播放| 欧美情色一区| 26UUU精品一区二区Com| 国产真实乱对白精彩| 久色姿源| AA片在线观看视频在线播放 | 婷婷六月丁| 欧美偷偷操| 欧美色爱五月天| 亚洲天堂碰碰婷婷| 这里只有精品1| 人人操 色| 99热这里只有精品8| 欧美亚洲成人在线| 亚洲午夜一区二区| 99 re视频一区| 爱射综合| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 激情婷婷综合| 三年高清大片免费观看国语| 色高清无码视频| 嫩草免费视频| 99爱视频在线观看这里只有精品| 免费超碰在线| 久婷婷婷| 久久这里精彩免费在线观看| 人人摸人人干| 色五月激情综合| 色情激情五月婷婷| 五月婷婷色播| 任你艹| 亚洲亚洲人成综合网络| 日本激情五月| 卡视频1区2区| 久草A片| 天天天久久久| 久久99大| 狼友超碰| 日日操夜夜操狠狠操| 婷婷五月丁香五月基地| 五月六月婷| 五月色网| 天久综合91综合首页| 精品久久艹| 人妻人人操| 久九男女天堂| 五月欧美丁香在线观看| 综合久久婷婷| 精品国产AV色一区二区深夜久久 | 色9999综合久久| www.婷婷六月天| 五月丁香六月婷婷在线小说视频| 依人大香蕉在钱1| 亚洲成人高清在线| 婷婷五月天激情综合| 中文字幕人妻AV| 99热超碰| 亚洲欧州色情在线观看| 91精品婷婷国产综合 | 99热这里只有精品18| www.henhenl| 亚洲亚洲人成综合网络| 丁香五月欧美| 千人斩操逼| 伊人五月综合网| 五月天综合| 国产精品久久久海的味道| 免费国产VA国产免费| 97性高潮久久久| 亚洲精品亚洲人成人网| 99A片| 国产色色网站网址| 婷婷中文字幕网| 国产真实乱了老女人视频| 久婷婷色| 日韩操逼小电影| 五月总合激情网| 无码一级片| 成人无码髙潮喷水A片| 伊人婷婷色| 99免费视频精品| 天天爱天天做天天日| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 91久久| 天天操狠狠操| 色黑鬼导航| 婷婷99热| 久久色吧| 日韩一级一片内射视频4K| 色婷婷狠狠爱| 美女五月天| 婷婷五月天亚洲激情戏精品| 婷色五月| 色五月婷婷自拍| 狠狠婷婷日韩| 亚洲亚洲人成综合网络| 婷婷操逼| 91九色中文| 欧美色色色色色色色| 停停色综合伊人| 99热九九这里只有精品| 色婷婷国产精品综合在线观看| 9热成人在线视频| 精品夜夜澡人妻无码AV| 开心五月网 | 五月天婷婷色播| 天天做天天爱天天爽夜夜揉| 99操免费视频| 日本欧美啪啪| 久久受www免费人成| 九九视频在线观看视频6| 日本色婷婷| 六月丁香啪啪| 丁香五月激情啪| 欧美丁香五月| 婷婷五月在线观看| 婷婷涩涩五月天| 五月开心深深爱激情综合| 99视频在线观看视频| 婷婷美女精品视频| 婷婷综合网在线| 五婷婷六月合| 管管補管管紱| 丁香六月天婷婷色| 色欲丁香久久| 婷婷丁香视频| 3p日韩网站视频| 五月丁香色播| 久久网思思| 亭亭五月天黑人2014| 激情九九综合网| 色综合综合网| 五月婷婷天| 婷婷五月在线播放| 中文av网| 性生活视频98791| 久久东京热婷婷五月| caop在线视频| 色五月网址| 婷婷五月丁香六月| 色婷婷狠狠| 99精品国产在热久久| 激情内射人妻1区2区3区| 亚洲欧洲另类| 亚洲精品色| 最近中文字幕大全免费版在线 | 99热这里只有精品8| 99热自拍| 91肏肏肏| 久久久九九视频精品18| 四月婷婷五月丁香| 97操碰视频| 色婷婷久久| 天天日日天天| 天天色综合综合| 天天做天天爱| 99热这里只有精品2| 操91| 综合色七七| 色综合香蕉| 99精品激情| 桔色成人官方网站| 五月天色社区| 亚洲情色一区| 天天操夜夜操| 91丨九色丨首页| 色五月婷婷影院| VA婷婷| 五月丁香做爱视频| 色婷婷免费观看| 97色婷婷| 久久婷婷五| 99久热在线精品| 99精品无码网站| 激情综合五月婷婷| 91色婷婷综合久久中文字幕二区| AV中文网| 日韩久热| 激情五月视频| 99九九热在线观看| 久久精品A片777777| 成人毛片在线免费观看| 伊人五月天日日夜夜久久久天天| 成人电影丁香六月天| AV在线观看网站| AV在线不卡播放| 99re久热只有精品6在线直播.com| 丁香六月婷婷综合色| 六月丁AV| 天天日天天插| 五月天伊人久久| 色视频2025| 丁香五月天色婷婷| 激情开心五月天| 色婷亚洲五月丁香| 伊人日日干| 综合久久综合久久| 五月婷婷很很色| 久久婷婷伊人| 久久视频这里有精品99| 婷婷久久综合久| 91视频免费后入强操| 涩涩五| 激情久久久| 激情婷婷网| 99久久成人| 99欧美| WWW·色色色·COM| 热99久久这里只有精品| 色综合色综合网| .comwww在线观看免费操| 99爱欧美| 91婷婷| 久人操| 五月天婷婷爱| 99燥99日| WWW色五月天| 99在线69| 日本久久99久久| 婷婷五月深深爱| 强壮的公次次弄得我高潮A片日本 | 97人人搞| 夜夜撸日日操| 色婷婷av综合网| 婷婷五月天六月综合| 久久九九综合| 久久狠狠干| 日本丁香五月| 日本操B片| 激情五月丁香六月婷婷| 粉嫩AV久久一区二区三区| 五月丁香六月婷综合成人综合 | 色久综合| 婷婷五月深情丁香深爱日韩| 涩综合网| 日本WWW九九九| 五月婷婷天天| 五月天综合色| 天天综合天综合| 蜜臀久久99精品久久久久久酒店| 婷婷久久婷婷色五月| 五月亭亭直播| a网站免费观看| 99综合| 久久性视频| 人人操AV| 五月丁香婷中文| 国产白丝在线一区| 五月丁香六月综合基地| 99热99美国在线观看| 丁香五月777| 99精品无码| 超碰99热精品| 丁香六月婷婷久久综合| 香蕉97碰碰碰超视精品| 五月婷婷激情五月| 七七色色综合| www.日韩国产| 丁香六月久久| 色五月天电影| 99热国产这里只有| 亚洲 在线 另类| 六月狠狠综合| 国产黄色av|