免费国产精品自在自线-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
返回資訊列表
好大好粗嗯啊-一级黄色大片免费观看-成人AV | 五月激情四射网站| 天天做天天爱| 五月婷婷影视| 色五月激情问网站| 97丁香婷婷| 亚洲欧美婷婷五月色综合| http://www.lingjunshare.com/ | 激情五月天网页| 99热久久日本| 殴美97色| 狠狠干.com| 97九色视频| 热的国产,热的综合,热的有码| 亚洲色五月婷婷| 国产毛片精品一区二区色欲黄A片| 色色色国产| www.久久久久| 色婷婷久久综| 婷婷五月天网址| 九七色色六月丁香| 国产午夜成人AV在线播放| 婷婷五月色色| 色噜噜狠噜噜视频| 丁香六月成人| 在线可以看的av网址| 五月开心婷婷极品激情| 91精品久久久久久77777| 99热草草| 日韩精品VIP| 疯狂做受XXXX高潮A片| 99热思思| 91久久人人操| 精品欧美性爱超级爽| 国产在线中文字幕| 日本久久天堂| 五月天激情久久| 99啪99| 深爱五月天天| 欧美激情综合色丁香婷婷五月天| 婷婷六月五月天综合| 玖玖伦理电影| tingtingzonghewang| 99在线精品观看99| 2050人人操免费工开爱| 91婷婷五月天综合视频| 五月草影视| 天天爱天天做天天爽| se99高清无码| 色婷婷伦理| 人人玩人人橾| 婷婷五月丁香婷婷| 精品五月天| 色色欧美色色| 九九性爱网| 伊人色综合久久久| 激情五月天影院| 丁香五月综合婷婷| 国产成人精品一区二三区熟女在线| 久久婷婷视频| 思思久久99热只有频精品66| 人人摸人人干人人做| 丁香五月激情六月综合| 夜夜综合色| 丁香婷婷久久综合在线| 99热亚洲| 五月天激情视频| 五月丁香婷婷基地| 激情综合视频| 一级性感黄色内射视频| 欧美激情Va| 极品 少妇 内射| 激情五月色综合国产精品| 五月亚洲激情| 99免费在线| 激情网五月天| 中文字幕永久在线| 丁香久久九九99| 97五月婷婷| 色欲色天天香综合| 久99久热只有精品国产99| 99re26视频| www.五月丁香av| 天天摸天天日天天舔| www婷婷| 久久色情| 99久久婷婷五月| 久久hd| 九九九九国产| 2025色婷婷| 91丁香五月| 色情成人五月天| 七月丁香婷婷 色色| 国产色色小草视频| 色五月丁香五月五月婷婷| 丁香五月久久综合| 97在线精品| 天天做天天爱天天高潮| 99视频久久久| 99久久婷婷国产综合精品电影| 91在线精品一区二区| 婷婷激情五月天小说| 九九aV| anquye五月| 14色综合婷婷| 亚洲国产成人AV在线 | 成人做爰A片免费看网站找不到了| 91九色白丝| 久久久婷婷五月亚洲97号色| 日本成人小说婷婷六月| 久久久97| 欧美久久婷婷| 免费视频99| 99无码精品| 五月天丁香看婷婷| 五月婷丁香久久久| 99精品网| 天天日天天添| 超碰大香蕉网| 成人av在线网址| 丁香五月天欧美在线| 婷婷五月天奸女| 婷婷五月激情黄色| 婷婷六月激情啪啪| 久久XX| 丁香五月婷婷大香蕉| 人人色AV| 怡红院AV亚洲一区二区三区H| 久久九九@| 久99久热只有精品国产99| 超碰在线人人| 人伦30P| 性色视频| 色玖玖网| 十月色综合| 日本精品人妻无码77777| 日韩人妻无码精品| 99ri精品视频在线观看| 免费啪啪亚州视频| 久9热视频在线观看| 热这里| 被强行糟蹋的女人A片| 久99综合婷婷| 丁香五月欧美| 天天在线天天综合网色| 国产精品天天狠天天看| 欧美综合婷婷网| 大香蕉九九| 亚洲综合色色| 操骚货在线| 激情综合网址| 超碰91在线| 婷婷伊人网| 4399成人黄A片| 久久久久网站| 涩五月婷婷| 综合99综合久久久久久久| 日本熟女二区| 在线视频你懂得| 99操逼视频| 日本99在线视频| 色色日本| 五月丁香综合| 成人.在线日韩| 婷婷丁香激情五月| 1024欧美日韩精品久久久| 丁香五月手机在线| 天天操无码| 91人人网| 日本综合色图| 2025最新亚洲激情在线| Aaa久久| 激情小说视频图片网| 日日操夜夜操中国无码| 99在线精品视频| 九艹在线| 亚洲日本韩国| 99久久精品国产色欲| 伊人婷婷大香蕉| 一区二区三区视频| 亚洲色综久久五月| 亚洲午夜一区二区| 97色色视频| 婷婷六月色| 色情性爱视频网址| 超级碰碰一区| 女人天堂AV| 夜夜做天天爽| 日韩AV在线免费观看| 久久婷五月婷| 五月天天爽| 操人久久| 五月丁久久| 天天天操天天天日| 久久综合激情五月天| 国产无套精品一区二区| 9精品在线| 激情五月黄色小说| 超级碰碰碰碰视频| 丁香五月大香蕉在线99| 91男同| 九九这里只有精品| 日本色色网站| 伊综合蕉| 亚洲精品字幕在线观看| 五月天婷婷网站888| 91啪级电影| 亚洲视频在线网| 色综合网址| 色五月综合网| www.婷婷网| 国产AV网页| 在线99热| w婷婷五月婷婷w| 激情五月丁香在线观看直播| 99热永久在线观看| 乱码操操| 婷婷久久五月天丁香| seav天堂| 丁香网站| 色欲久久综合| 久久人妻精品| 久久婷五月婷| 五月婷婷中文字幕| 国产激情在线| 综合网啪| 五月婷啪啪| 五月天婷婷青青草| 夜夜夜夜做天天天做无码视频| 182TV亚洲| 丁香五月瑟瑟| 99久久97| 婷婷综合九色伊人| 亚洲中文字幕AV在线| 五月丁香999| 裸体美女丁香五月天。| 五月婷婷婷婷网| 久久五月婷综合网| www天天干| 99视频在线| 99只有这里有精品在线视频| 天天操屄网| 天天人人天天爽| 婷婷色激情网| 无码九九| 五月婷婷激情色情网| 色,激情五月天| 色噜噜狠狠色综合成人99| 久久嘟嘟丁香| 在线观看亚洲视频影院| 欧美色宗和激情| 超碰国产AV| 丁香六月综合| 婷婷五月天网址| 久久人操-久草婷婷-成人AV| 日本在线观看aaa 99| 亚洲无AV在线中文字幕| 免费视频WWW在线观看网站| 天天日夜夜拍| www.婷婷| 国产片XXXXA片国语对白| 色99色| www色五月| 97人妻碰碰中文无码久热丝袜| 夜夜谢天天干| 国产成人高清| 国产亚洲在线| 另类激情综合| 俺去也五月| 91se视频| 色色影院黄大片| 99视频在线精品免费观看2| 五月丁香人人婷婷在线观看| 5月婷婷激情网| 俺去也在线视频| 激情五月综合网最新| dingxiangtingtingliuyue| 九月婷婷丁香| 婷婷丁香色五月| 亚洲激情综合免费| www.99精品在线| 欧美日韩999| 婷婷伊人| 乱乱av| 色伊人91在线视频| 九热视频精品| 色玖玖| 婷婷五月激情基地| 五月婷婷五月天激情网| 久久这里只有国产视频| 五月综合激情网| www.婷婷| 成人无码精品1区2区3区免费看| 中文字幕 码精品视频网站| 丁香五月五月婷婷欧美大香蕉| 国产精品久久久久久久久久| www.婷婷五月天,com| 久久五月天 91| 九九色天堂| www.91婷婷| 婷婷国产综合| 一级性爱视频| 激情综合五| 苗黎美女四级成人版一级二级毛片| 97久久综合网| 丁香五月天激情| 5月婷婷性视频| 欧美日韩aaaa| 丁香六月天| 99干日日干| 99精品综合在线| 五月天天综合| 五月花婷婷丁香| 免费观看的av| 欧美大片| 色五月综合激情| 99热国产这里只有| 九九Av| 亚洲乱码日产精品BD| 岛囯综合激情网| 玖玖婷婷五月| 亚洲五月六月婷婷| 99re在线观看| 亚洲综合在线播放| 色婷婷综合久久| 激情久久久久久久久| 五月天丁香六月综合| 五月香六月婷| 天天日天天舔| av在线中文| 婷婷美女精品视频| 色婷婷五月综合| 91VIP在线观看| 婷婷五月天成人五月天| 无码任你操| 无码一区二区三区四区五区91c| 狠狠搞五月天| 伊人玖玖精品| www.一起草av| VfJxEwPH| 色五月丁香91| 男人综合网| 超级碰碰碰97免费| 9久久久| 人人人操B超碰| 97久久视频| 欧美日韩精品一区二区三区钱| 婷婷五月天成人在线视频| 五月情色天| 欧美交换配乱吟粗大25P| 99热这里只有精品1025| 五月天综合色| 免费99色| 开心网五月色婷婷| 91女人18毛片水多国产| www一区二区三区| 中文字幕无码AV| 丁香婷婷五月天色综合| 99操视频| 99热99日…..| 日日操天天操| 五月丁香六月欧美综合| 99这里只有精品| 狠狠综合| 色婷久久| 人人爽天天爽| 就爱操www com| av九九| 婷婷免费无马| www.99久| 色播五月婷婷| 大香网伊人久久综合| 99热99精品| 五月激情在线| 91丨九色丨东北熟女| 欧美激情综合色综合啪啪五月| 午夜福利成人AV91| 五月婷婷激情久久| 国产欧美婷婷| 97操操网| 99色视频在线| 光棍影院日韩精品| 无码操B| 丁香五月1页| 婷婷天天色| 激情深爱婷婷网| 91日韩在线| 色五月婷婷久久大| 操逼六区| 大香蕉520| 五月婷婷五月天天| 婷婷亚州综合| 五月激情偷拍| 九九亚洲小视频| 九热网站| 超碰97人人操| 天天碰天天插天天操| OYIWbGcPu8H| 亚洲激情婷婷| 99精品久久| 丁香六月天| 夜夜天天久久婷婷| 99热这里有精品首页10| 97色在线| 99视频精品在线| av激情在线| 婷婷丁香社区网| 97操操网| 激情AV在线| 欧美激情五月天婷婷| 日产精品久久久久久久蜜臀| 色五月人妻| 婷婷爱在线观看| 啪啪综合网| 婷婷六月五月天综合| 色婷婷天堂| 另类小说五月天| 国产精品久久久海的味道| 热久久91| 99草在线免费观看视频| 欧美黄色AA片哗啦啦啦| 久草热视频在线观看| 色婷婷五月天中文字幕| 99re视频在线精品| 亚洲成人综合在线| 99免费在线视频| 婷婷中文字幕| 久99在线视频| 九九色中文| 大香蕉五月丁香| 蜜臀av无码久久久久久久久| 玖玖婷婷婷丁香五月| 国产精品久久欧美久久一区| 五月婷婷激情日本| 五月天玖玖狠狠色色| 亚洲综合在线播放| 天天日日| 羞羞嫩草视频| 99热这里是精品| 天天噜噜| 日本激情五月天‘| 亚洲精品小视频| 五月天天堂久久| 国产精品激情AV久久久青桔| 婷婷五月无码| 婷丁香五月天| 大香蕉婷婷丁香| 玩熟女五十AV一二三区| 天天肏夜夜肏| 亚洲AV综合在线观看| 五月丁香婷中文字幕| 六月99天天婷婷激情综合| 久久五月情| 亚洲午夜在线视频| 五月综合激情婷婷六月色窝| 丁香花色色网| 大香蕉伊人久久| 久热只有精品| 欧美丁香五月| 久久九九大香蕉电院| 激情桃色网 | 狠狠婷婷色综合| 99这里有精品视频| 五月婷婷导航| 色婷婷激情| 天天干天天叉| 99视频精品全部免费观看| 欧美va视频不用播放器的va视频网| 久久婷网| 狠狠爱婷婷爱| 91肏| 久久狠狠干| 女婷久久| 丁香九月婷| 欧美久久网| 秋霞丝袜啪啪啪| 99热69| 97日本在线| 婷婷新网址| 丁香五月 性爱| 婷婷中合| 任你操精品免费| 婷婷色五月天色| www狠狠com| 伊人九九综合| 欧美激情五月天婷婷| 99啪啪| 日韩人妻无码专区| 青柠影视免费高清电视剧| 五月综合视频| 丁香五月 性爱| 日韩久久日| 99热在线网站| 9久久婷婷国产综合精品性色| 久久九九综合| 色婷丁香五月| 天天影视色综合网| 五月天综合| 外国碰视频网站97| 熟妇人妻中文字幕无码老熟妇| 亚洲国产精品二二三三区| 乱精品一区字幕二区| 婷婷在线中文字幕| 久久婷婷五月丁香网| 婷婷久久五月天| 97丁香花五月天激情小说| 天天操天天操综合| 熟女激情五月天| 日本五月婷| 99精品在线| 久婷婷视平| 婷婷综合九月| 成人小说 五月天 婷婷| 五月丁香啪啪伦理电影| 九九九九毛片| 碰99在线| 3p久久| 六月婷婷狠狠| 五月综合久久| 日韩无码专区| 黄久久久| 五月丁香六月婷婷a v| 九九亚洲视频| 久久色情| 在线观看亚洲AV| 婷婷五月丁香高清无码| 五月天久久91| 香蕉久久av一区二区三区| 一级性感毛片| 色五月久久成人婷婷| 天天草天天爽| 草草色情综合网| 欧美婷婷日本| 亚洲色情在线| 色哟呦av| 99热国品免费| 五月丁香婷婷婷激情爱爱| 最近中文字幕大全免费版在线| 99热加勒比| 婷婷五日b| 亚洲免费99| 另类五月激情| 99秘 在线| 啊V视频在线观看| 九九久久色| 五月激情四射婷婷丁香| 六月婷婷激情| 伊人色综合久久久| 九九激情视频| 99ER热精品视频| 婷婷五月丁香av网站| 一本色道久久综合狠狠躁小说| 蜜桃成语时李时珍 免费| 色九亚洲| 丁香五月婷婷在线观看| www.超碰97| 久久婷婷五月综合97色一本| 黄色成人网站在线播放| 色吧五月| 天天成人综合| 激情婷婷五月天| 狠狠色噜噜狠狠狠狠综合| 草美女在线观看视频在线播放| 大香蕉九九| 超级碰碰碰久久网站| AV五月丁香| 激情综合网色播五月| 中文字幕,综合,91| 久久99热这里只有精品| 午夜福利8055| 伊人五月天| 91熟妇大香蕉| 丁香美女主播视频在线观看| 依人大香蕉在钱1| 丁香五月天殴美激情| 五月丁香六月激情欧美综合| 激情五月综合网最新| AV在线大香蕉| 亚洲第一成人无码A片| 五月天.com| 婷婷酒色网| 五月激情婷婷丁香| 五月丁香六月综合图| 99热久久最新地址| 激情5月婷婷| 亚洲国产色色| 婷婷五月在线| 色情五月综合婷婷| 人妻视频在线| 99精品视频在线观看| 成人天天爽| 久久人妻视频| 丁香五月综合色婷婷| 日日夜夜婷婷| 九九热只有精品6| 中文字幕日产A片在线看| 五月天激情国产综合AV| 五月天婷婷社区久久综合| 这里只有精品免费视频| 精品一区二区三区四区五区六区介绍 | 超碰熟女农村在线69| 日日夜夜天天爽| 91seAV| 色五月婷婷五月| 99九无网码| 第四色五月天| 五月丁香花开综合网| 色婷婷综合在线| 九九人人精品| 激情五月天综合网站网站网站| 少妇伦子伦精品无吗| 九九无码视屏| 人人操91| 丁香六月欧美| 五月婷亚洲精品| 色综合久久综合中文综合网| 一点色成人网| 免费啪啪亚州视频| 色亚洲中文| 丁香婷婷婷婷十二月在线观看视频| 五月婷婷五月天在线| www.粉嫩av.com| 久久久一级AAA| 激情综合五| 色丁香五月婷婷婷| 婷婷综合九月| 99re在线播放| 国产婷婷综合| 九九这里只有精品在线视频| 婷婷黄色五月| 人妻久久久| 激情五月丁香六月综合AVXXXX| 丁香五月精品视频| www.九九婷婷| 激情小说五月天| 丁香六月无码播放| 丁香激情合作五月| 99精品一二三四视频| 色婷婷成人做爰A片免费看网站 | 美女天天久久| 在线另类视频| 免费播放AV| 九九在线视频| 类似婷婷激情综合网站| www,av好吊操| 日韩狠狠色婷婷| 婷婷五月天视频亚洲| 亚色网站小视频| 国产肏屄大片| 欧美成综合在线观看| 色狠狠综合| 国产91视频| 国产26uuu| 色五月在线| 99热丁香| 91日综合欧美| 影音先锋 萱萱| 99re8在这里只有精品| 五月天丁香成人社| 天天插,天天射| 五月亭亭六月激情| 人妻AV在线观看| 久久一级免费黄色片| 欧美丰满熟妇BBB久久久| 人妻综合网| 久9久9热久热| 亚洲成人av在线| 人妻精品一区二区三区| 森林影视大全,最好看的2019年视频 | www.夜夜| 欧美在线视频99| 91碰视频| 天天爽人人综合免费7799| 啪啪黄页网| 久机视频这只有精品| 九九热这里只有精品31| 色婷婷五月天激情综合| 丁香社区婷婷五月| 五月天婷婷黄色| 伊人六月丁香婷婷| 97好吊操| 婷婷五月天激情在线| 丁香欧美| 狠狠干激情五月| 99热6这里只有精品6| 亚洲色9| 精品在线| 婷婷成人小说综合| 99re最新地址| 开心五月网 | 婷婷六月啪啪| 丁香六月在线| 开心五月婷婷| 亚洲精品又粗又大又爽A片 | 黄色五月婷| 亚洲成人九九九| 久久五月天网| www,五月天com| 欧美五月丁香在线| 夜夜夜夜操| 狠狠做婷婷| 日韩欧美成人片| 久热免费视频| 成人AV在线中文版| 久久日曰| 成人噜噜网| 色五月丁香一区在线| 天天操天天日天天爽| 久久a热| 97狠狠色| 国产精品99久久久久久久女警| 欧美婷婷综合| tingtingseav| www.久久爱.com| 五月婷婷综合网| 草婷婷在线| 五月天播播| 成人AV在线电影| 大伊香蕉精品视频在线| 日韩啪图| 激情小说五月天社区丁香| 丁香五月亚洲激情婷婷射| 婷婷五月丁香六月天亚洲综合| 狠狠搞狠狠操| 色综合五月天| 蜜臀99久久精品久久久久| 在线不卡视频| 日日操日日爽| 人人草人人舔| 婷婷五月六月丁香| VA婷婷| 亚洲人人操| 婷婷五月丁香五月| 色色色色色综合| 九九热在线亚洲免费视频| 五月色婷婷激情| 人妻激情综合| 不卡在线视频| 婷婷五月综合色中文字幕| 人人人操B超碰| 99爱爱| 久久aaaaa| 综合婷婷六月| 日日干日日| 国产av天天插天天操天天爽| 99热国产精品| 99在线精品视频免费观看20| A片试看120分钟做受视频红杏| 九九久久污| 五月天激情站| 99热在线精品观看| 五月婷婷黄色毛片| 色婷婷激情小说网| 五月丁香香蕉| 欧美在线视频免费播放| 欧美性爱特黄一级aaaassss| 九九無妻| 日韩精品一区二区亚洲AV观看| 五月天中文字幕在线婷婷| 成人丁香五月| 中文字幕欧美久久| 99re鈥哸鈥唙| 婷婷五月激情小说| www..com色爱| 婷婷五月天福利| 婷婷综合久久| 日本99在线| 99久高清视频| 欧洲日韩一区二区三区| 99免费| 五月婷网| 伊人青涩网| 九月婷婷丁香| 欧美性生交XXXXX无码小说| 激情婷婷五月久久| 久热一本| 亚洲成人影视在线观看| 超碰成人电影| 亚洲在线综合| 99免费热视频在线| 97碰碰在线看视频免费| 天天天天天天操| 婷婷五月激情小说| 橾逼网| 丁香花五月天婷婷成人社区| 99热日本| 婷婷情色五月| www.开心激情| 久久99激情五月天| 五月色亚洲| 婷婷五月天丁香久久| 丁香五月欧美激情| 亚洲热久| 99热热这里只精品996小说| 亚洲一级AV在线免费播放| 日韩aaaaa| 久久九精品| 一级二级色大片| 黄色三级日本| 中文AV网| 五月婷婷 六月丁香| 激情综合网激情五月丁香五月俺也去| 婷婷色五月天综合网| 久久婷婷五月综合| 五月丁香六月婷婷在线播放| 超PEN精品在线| 久久精品视频在这里有| 婷婷五月18永久免费网站| 色五月综合资源推荐| 成人在线网| 99热精品在这里| 久色视频首页| 婷婷五月丁香人妻无码高清| 亚洲综合另类| 精品婷婷| 春色激情| 狠狠爱婷婷丁香| 六月丁香久久| 激情人妻蜜夜系列区| 激情五月婷婷综合色播小说| www.久久久久久久久久.com| 97热在线精品| 高清无码.com| 99久久五月婷婷| 久9久成人精品视频| 色婷久久| 婷婷六月香| 色色五月婷婷久久| 亚洲日本激情| 色99无码| 色色色图| 丁香五月婷婷俺也要去| 91干| 激情98色婷婷五| 91人人网| 五月天婷婷伊人 | 黄色片区子| 开心五月深爱五月| 五月婷婷五月色| 99这里有精品视频3| 91re色综合视频| 色人久久| 色综合色色色色色| 久久女人天堂| 碰人人97| 免费黄色视频网址| 在线观看av网站| 日本熟妇人妻在线| 久99热在线观看| 婷婷婷婷婷婷婷婷婷婷丁香| 亚洲AV综合在线观看| 激情五月五月五月婷婷| 99精品久久| 亚洲成人av在线观看| 久操热| 日本天天色| 天天拍天天做视频| 99久re热视频精品98| 中文字幕操比影片| 欧美日韩一区二区三区四区| 一起草性爱不卡视频| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 婷婷欧美综合| 六月色丁香中文字幕| 五月天丁香网| 天堂成人久久| 婷婷六月激情综合| 亚州操人在线视频| AV性爱在线| 99久久综合网| 久草久青福利| www狠狠| 欧美亚洲成人在线| Av免费网站在线| 成人精品视频99在线观看免费| 五月激情婷婷在线| 婷婷五月天福利| 91呦呦呦| se色婷婷视频| 久热无码| 五月综合丁香婷婷| 色婷婷www| 伊人干练久| 成人小说 五月天 婷婷| 婷婷亚洲影院| 99久久玖玖| 久久精品综合色| 亚洲视频在线网| av不卡网站| 最新高清无码专区| 99热精品在线在线| 五月色亚洲| 国产日比| 婷婷色婷婷| 五月婷视频| 日韩成人AV在线| 91viP在线看| 婷婷99热| 天天综合色丁香| 色婷视频| 亚洲欧洲中文日韩久久AV乱码| 橾逼网| 久久综合人妻| 激情五月婷婷丁香| a久久| 五月丁香婷婷网在线在线| 色色色在线观看| 天天日 天天草| 99综合| 婷婷色丁香五月| 99欧州偷拍视频| 九九热最新| 激情综合五月| 少妇出轨做爰高潮A片| 五月天激情美女久久| 久久综合久色欧美综合狠狠| 五月丁香婷婷狠狠操| 日韩小视频在线99| 99热日本精品| 9色在线视频| av久热| 天天狠狠插| 色色婷婷综合网| 在线可以看的av网址| 色婷婷超碰| 九九视频这里只有精品| 日本熟妇乱妇熟色A片蜜桃| www.9操| 在线中文AV| 91美女啪啪| 久婷婷五月综合欧美| 91婷婷丁香五月天免费视频网站| 久婷婷五月丁香在线观看| 狠狠色噜噜狠狠狠888了| av五月天婷婷丁香| 热99在线精品| A片试看120分钟做受视频红杏 | 五月天婷婷狂暴白浆| 99久久五月丁香野外| 99久在线观看| 激情99热| 五月天社区| 伊人在线视频| 五月丁香综合网| 4399亚洲视频| 色色综合成人网| 99.色| 91视频综合网| AA片在线观看视频在线播放 | 牛牛色av| 色色婷婷五月天| 色婷婷丁香五月天| 99热青青草| 91免费啪视频| 激情综合五月天| 丁香六月 人妻| 香蕉婷婷色五月| BBWCUCKOLD精品熟妇| 丁香五月天狠狠操| 日本婷婷丁香五月| AV在线免费播放| 97色婷婷| 亚洲综合草草| 99小视频网站| 99热久| 97精品综合久久内射| 久久婷婷六月| 99操无码视频观看| 七月婷婷色香综合网| 99色视频在线观看最新| 2025天天操| 九月婷婷| 激情六月天婷婷| 婷婷五月天色网久| 九九99精品视频在线观看| www.夜夜爱.com| 五月丁香六月婷婷亚洲天堂网站| 丁香美女五月天婷婷| 图片区 小说区 区 亚洲五月| 大香蕉久久草| 五月婷婷激情综合视频| 久久在线视频免费观看| 国产五月天婷婷| 九九热视频免费| 国产成人精品一区二三区熟女在线| 日韩在线观看亚洲| 色色网站| 丁香婷婷九月在线| 精品网站99| 日韩啪啪网| 六月婷久久| 五月天婷婷在线观看| 1024人妻| 97碰碰在线看视频免费| 婷婷五月天激情诱惑| 久久免费少妇高潮99精品| 伊人五月天男人的天堂在线| AV九九| www.97碰碰com| 天天射影院| 久久玖玖99| 天天操天天草天天草天天| 97色在线| 天天做天天要天天爱| 亚洲精品99| 亚洲无码黄色| 狠狠狠狠狠狠| www.婷婷五月天,com| 激情五月色综合国产精品| 9久热| 热久久思思热思思| AV中文在线| 久久这里这里有精品免费视频| 玖玖爱综合网| 久久青青日本视频| 99热精品无码| 大香蕉娱乐| 丁香在线视频| 婷五月天六| 99人妻碰碰碰久久久久视| 久久久五月天网站| 偷偷操99| 五月丁香色婷婷久久| 97人人看| 色色婷| 欧美激情综合| 丁香五月日啪| 中文字幕1区2区。| 激情美女五月天激情在线| 99ri精品| 这里只有精品,日韩视频| 色色综合网站| 五月婷婷黄色视频| 天天干人人奸97| 色播播五月| 超碰高清在线| 中文字幕成人| 深爱婷婷基地| 久久久久久久11111111111| 思思热再线视频| 丁香六月成人网| 婷婷婷久久久| www.色婷婷.com| 99热这是里只有精品| 五月天婷婷青青草| 五月丁香免费看| 久草网大香视频| 91日日日| 99久热精品在线| 亚洲色频| 这里只有国产精品在线| 51XX嘿嘿午夜无码| 99色中文| 91啪级电影| 色色色五月| 欧美va在线| 天天插夜夜爽| 日韩无码人妻一区二区| 91啪啪视频| 狠狠狠狠狠操| 丁香五月天婷婷91| 激情五月综合网| 天天天天做夜夜夜夜做| 91精品婷婷国产综合| 中文字幕 中文字幕明步| 六月丁香激情婷婷| 久久一级片| 乱岳熟女50岁| www.操.com| 五月色婷婷综合色| 97人碰人操| 婷婷五月天激情四射| 5月婷婷激情6月| www.婷婷亚洲基地| 裸体做A爰片毛片A片免费| 国产精品美女| 综合逼五月激情婷婷| 欧美日韩成人在线网站| 婷婷五月丁香五月| 精品久热69| 五月婷婷久久激情 | 超碰超碰在线| 99精品丰满| 五月婷综合| 26UUU精品一区二区| 五月天天丁香婷婷在线中| 97人人看一| 天天日夜夜| 成人视频一区| 激情五月狠狠| 无码G高清天| www.97碰碰com| 色色综合网。| 337p大胆噜噜噜噜噜91Av| www.五月天婷婷| 99热这里只有精品1998| 综合狠狠伊人| 大香蕉九九操| 五月婷婷婷色| 大香蕉九九| VA色婷婷| 这里只有免费精品| 五月丁香激情综合网官网| 亚洲 视频 导航 一区| AV中文字幕夜夜操b天天摸bb | 丁香五月天av| 99精品在线观看| 123草逼网| 婷婷五月丁香四射| 国外亚洲成AV人片在线观看| 亚洲AV人人操| 无码动漫av| 激情久久综合网| 青草久久五月婷伊人| 99超碰在线免费| 中文字幕欧美精品久久| 99亚洲精品综合在线| 精品久久人妻| 这里只有精品免费视频| 天天插天天插| 激情第四色| 久久五月天色| 五月天综合婷婷| 我爱婷婷五月天综合88| 国产阿姨日皮艹逼内射视频| 五月综合色| 日韩成人精品中文字幕| 啪啪操超碰| 97色女人在线| 39视频第二区| 91啪啪啪啪| 五月婷中文娱乐综合| 激情综合另类| 无码AV免费精品一区二区三区| 五月开心久久| 五月丁香| 一起草av| 亚洲深喉AV| 亚洲成av人影院| 69超碰在线| 精品国产乱码久久久久久免费 | 激情六月五月婷婷综合网| 第2色五月婷| 97在线视频观看| 五月丁香婷婷综合在线| 99热这是里只有精品| 五月丁香日本片| 成人欧美一区二区三区在线观看| 人人爱干人人爱草| 五月色欧洲| 色丁香婷婷美女视频网站| 婷婷色av| 婷婷五月天在线观看免费 | 亚洲免费电影2| 九九色院| 91超碰在线观看| 六月亚洲婷婷6月中文字幕| 色五月之第四色| www.婷婷五月天啪啪| 欧美综合激情五月| 99免费热视频在线| 五月天婷婷五月| 天天拍天天操| 六月综合婷婷开心伊人| 天天操夜夜操| 激情人妻蜜夜系列区| 影音先锋AV资源男人站| 五月天激情网址| 另类专区在线| 色插综合网| 色欲五月天| 伊人婷婷五月天| 激情五月天网| 91 九色大美女| av无码电影| 日韩性视频| 西瓜美女a片| 深爱激情网婷婷| 亚洲精品国产精品乱码视99| 婷婷五月天激情四射| 国产成人精品亚洲线观看| 久草婷婷视频| 97干免费视频| 久久婷婷欧美| 综合色播| 婷婷97| 玖玖婷婷视频| www.狠狠| 五月天激情视频网站| 99久久www| www.色情五月天.com| 97丁香婷婷| 天天爽天天日人人爱 | 蜜臀A∨在线水帘洞| 久热网站| 九九热99视频| 影音 五月 婷婷 久久| 玖玖五月| 操操操操操电影网| 日韩欧美一级大黄网站| 日产精品一线二线三线芒果| 91超级碰在线视频| 五月婷高清视频| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 海外网站专业操老外| 五月天色婷伊人| WWW.99视频| 日韩成人无码| 久久五月丁香婷婷| 99热精国产这里只有精品| 97色婷| 国精产品一区一区三区免费视频| 日本在线视频看se99| 2023天天日夜夜爽| 六月婷婷色色色| 日本在线观看99| 99色婷婷| 婷婷在线视频| av首页在线| site:xiongshengzz.com| 播五月,色五月,开心五月播放器| 久久综合九九| 五月久熟女| 国色天香伊人狠狠色| 丁香五月欧美成人| 综合精品99| 日韩婷婷五月天| 亚洲婷婷五月天| AⅤ网站在线看| 激情五月天婷婷久久久久久久久久久| 五月激情网站| 丁香五月 性爱| 九九视频精品视频精品| 五月色婷| 在线视频激情网站| 五月激情网综合| 国产精品电影| 天天情天天狠天天透| 91婷婷五月天嫩女| 亚洲亚洲人成综合网络| 五月激情日本在线| 五月丁香婷婷婷激情爱爱| 久久香视频| 亚洲熟妇AV综合网五月丁香伊人 | 激情五月天综合婷婷网| 99九九精品视频推荐| 激情六月丁香综合| 99热这里只有精品66| 色射影院| 激情性爱五月| 激情綜合網址| 夜夜夜夜撸夜夜操| 2022久久婷婷| 午夜激情五月天| 新激情五月天| 激情丁香五月婷婷啪啪| 久九色| 99热这里只有精品3| 激情视频网址| 色射影院| 丁香六月开心| 国产激情久久| 激情丁香婷婷六月天| 五月婷婷激情网| 丁香午月AV中文字幕| 亚洲操操|