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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

5-Interrupt Management Framework

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5-Interrupt Management Framework 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引流關鍵詞: 中斷、同步異常、異步異常、irq、fiq、BL1,BL2,BL3,BL31,BL32,BL33,AP_BL1,AP_BL2,AP_BL3,AP_BL31,AP_BL32,AP_BL33,SCP_BL1,SCP_BL2,BL0,BL30, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、內存管理、頁表…

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈


[專欄目錄]-ATF/FF-A/specification學習

5.中斷管理框架

該框架負責管理路由到 EL3 的中斷。它還允許 EL3 軟件配置中斷路由行為。其主要目標是實現以下兩個要求。

(1) 當執行處于非安全狀態(正常世界)時,應該可以將打算由安全軟件(安全中斷)處理的中斷路由到 EL3。然后,框架應負責將中斷控制權交給 EL3 或 Secure-EL1 中的軟件,具體取決于軟件配置和 GIC 實現。此要求確保安全中斷在安全軟件的交付和處理方面處于安全軟件的控制之下,而不會受到非安全軟件的干預。

(2) 當執行在低于 EL3 的安全世界中執行時,應該可以將打算由非安全軟件(非安全中斷)處理的中斷路由到正常世界中最后執行的異常級別。這可以在有或沒有在 Secure-EL1/Secure-EL0 中執行的軟件知識的情況下完成。方法的選擇應由安全軟件控制。此要求確保非安全軟件能夠與安全軟件一起執行而不會覆蓋它。

5.1。概念

5.1.1。中斷類型

根據處理中斷的異常級別,框架將中斷分類為以下之一。

(1) 安全 EL1 中斷。根據當前執行上下文的安全狀態,這種類型的中斷可以路由到 EL3 或 Secure-EL1。它總是在 Secure-EL1 中處理。

(2) 非安全中斷。根據當前執行上下文的安全狀態,這種類型的中斷可以路由到 EL3、Secure-EL1、Non-secure EL1 或 EL2。它總是在非安全 EL1 或 EL2 中處理。

(3) EL3 中斷。根據當前執行上下文的安全狀態,這種類型的中斷可以路由到 EL3 或 Secure-EL1。它總是在 EL3 中處理。

以下常量定義了框架實現中的各種中斷類型。

#define INTR_TYPE_S_EL1 0 #define INTR_TYPE_EL3 1 #define INTR_TYPE_NS 2

5.1.2. 路由模型

一種類型的中斷可以生成為 FIQ 或 IRQ。中斷類型的目標異常級別通過 EL3 的安全配置寄存器中的 FIQ 和 IRQ 位(SCR_EL3.FIQ和SCR_EL3.IRQ 位)進行配置。當SCR_EL3.FIQ=1 時,FIQ 被路由到 EL3。否則,它們將被路由到能夠處理中斷的第一異常級別 (FEL)。當 SCR_EL3.IRQ=1 時,IRQ 被路由到 EL3。否則,它們將被路由到 FEL。在進入該安全狀態下的較低異常級別之前,該寄存器由 EL3 軟件為每個安全狀態獨立配置。

一種中斷類型(生成為 FIQ 或 IRQ)的路由模型被定義為每個安全狀態的目標異常級別。它由每個安全狀態的單個位表示。值0表示應將中斷路由到 FEL。值1表示中斷應該被路由到 EL3。路由模型僅適用于不在 EL3 中執行的情況。

中斷類型的默認路由模型是將其路由到處于任一安全狀態的 FEL。

5.1.3. 有效的路由模型

該框架認為每種中斷類型的某些路由模型是不正確的,因為它們與第 1 節中提到的要求相沖突。以下小節描述了所有可能的路由模型并指定哪些是有效的或無效的。EL3 中斷當前僅支持 GIC 版本 3.0 (Arm GICv3),僅支持 Secure-EL1 和非安全中斷類型用于 GIC 版本 2.0 (Arm GICv2)(請參閱中斷管理框架中的假設)。以下小節中使用的術語解釋如下。

(1) CSS : Current Security State。當前安全狀態。0何時安全,1何時不安全

(2) TEL3 : Target Exception Level 3。目標異常級別 3。0針對 FEL 時。1當針對 EL3 時。

5.1.3.1。安全 EL1 中斷
  • (1) CSS=0,電話 3=0。當執行處于安全狀態時,中斷被路由到 FEL。這是一個有效的路由模型,因為安全軟件控制著處理安全中斷。

  • (2) CSS=0,電話 3=1。當執行處于安全狀態時,中斷被路由到 EL3。這是一個有效的路由模型,因為 EL3 中的安全軟件可以將中斷移交給 Secure-EL1 進行處理。

  • (3) CSS=1,電話 3=0。當執行處于非安全狀態時,中斷被路由到 FEL。這是一個無效的路由模型,因為安全中斷對安全軟件不可見,這違反了 Arm 安全擴展背后的動機。

  • (4) CSS=1,電話 3=1。當執行處于非安全狀態時,中斷被路由到 EL3。這是一個有效的路由模型,因為 EL3 中的安全軟件可以將中斷移交給 Secure-EL1 進行處理。

5.1.3.2。非安全中斷
  • (1) CSS=0,電話 3=0。當執行處于安全狀態時,中斷被路由到 FEL。這允許安全軟件捕獲非安全中斷,執行其簿記并通過 EL3 將中斷交給非安全軟件。這是一個有效的路由模型,因為安全軟件控制其執行如何被非安全中斷搶占。

  • (2) CSS=0,電話 3=1。當執行處于安全狀態時,中斷被路由到 EL3。這是一個有效的路由模型,因為 EL3 中的安全軟件可以在將中斷交給非安全軟件之前保存 Secure-EL1/Secure-EL0 中的軟件狀態。該模型需要 Secure-EL1 和 EL3 軟件之間的額外協調,以確保前者的狀態被后者正確保存。

  • (3) CSS=1,電話 3=0。當執行處于非安全狀態時,中斷被路由到 FEL。這是一個有效的路由模型,因為非安全中斷由非安全軟件處理。

  • (4) CSS=1,電話 3=1。當執行處于非安全狀態時,中斷被路由到 EL3。這是一個無效的路由模型,因為沒有正當理由將中斷路由到 EL3 軟件,然后將其返回給非安全軟件進行處理。

5.1.3.3。EL3 中斷
  • (1) CSS=0,電話 3=0。在 Secure-EL1/Secure-EL0 中執行時,中斷被路由到 FEL。這是一個有效的路由模型,因為 Secure-EL1/Secure-EL0 中的安全軟件控制其執行如何被 EL3 中斷搶占,并且可以將中斷移交給 EL3 進行處理。
    但是,當EL3_EXCEPTION_HANDLING是時1,此路由模型無效,因為 EL3 中斷無條件路由到 EL3,并且 EL3 中斷將始終搶占 Secure EL1/EL0 執行。請參閱異常處理文檔。

  • (2) CSS=0,電話 3=1。在 Secure-EL1/Secure-EL0 中執行時,中斷被路由到 EL3。這是一個有效的路由模型,因為 EL3 中的安全軟件可以處理中斷。

  • (3) - (1) CSS=1,電話 3=0。當執行處于非安全狀態時,中斷被路由到 FEL。這是一個無效的路由模型,因為安全中斷對安全軟件不可見,這違反了 Arm 安全擴展背后的動機。

  • (4) CSS=1,電話 3=1。當執行處于非安全狀態時,中斷被路由到 EL3。這是一個有效的路由模型,因為 EL3 中的安全軟件可以處理中斷。

5.1.4。中斷類型到信號的映射

該框架旨在與平臺實現的任何中斷控制器一起使用。中斷控制器可以根據當前的安全狀態向 CPU 生成一種類型的中斷作為 FIQ 或 IRQ 信號。類型和信號之間的映射只有平臺知道。SCR_EL3框架使用此信息來確定在為某種中斷應用路由模型時是否應該編程 IRQ 或 FIQ 位。平臺通過 API 提供此信息 plat_interrupt_type_to_line()(在 移植指南中描述)。例如,在 FVP 端口上,當平臺使用 Arm GICv2 中斷控制器時,Secure-EL1 中斷通過 FIQ 信號發出,而非安全中斷通過 IRQ 信號發出。這適用于執行處于任一安全狀態時。

5.1.4.1。幾種中斷類型映射到一個信號的效果

需要注意的是,如果多個中斷類型映射到單個中斷信號,并且如果任何一種中斷類型為特定安全狀態設置TEL3=1 ,則在該安全狀態下,中斷信號將被路由到 EL3。這意味著使用相同中斷信號的所有其他中斷類型將被強制使用相同的路由模型。在為中斷類型選擇路由模型時應牢記這一點。

例如,在 Arm GICv3 中,當執行上下文為 Secure-EL1/Secure-EL0 時,EL3 和非安全中斷類型都映射到 FIQ 信號。因此,如果任一中斷類型設置路由模型使得TEL3=1當CSS=0時,FIQ 位SCR_EL3將被編程為在 Secure-EL1/Secure-EL0 中執行時將 FIQ 信號路由到 EL3,從而有效地路由其他中斷類型也到EL3。

5.2. 中斷管理框架中的假設

該框架做出以下假設以簡化其實現。

  • (1) 盡管該框架支持 2 種類型的安全中斷(EL3 和 Secure-EL1 中斷),但只有 Arm GICv3 之類的中斷控制器架構才能以 Group 0 中斷的形式支持 EL3 中斷。在 Arm GICv2 中,假定所有安全中斷都在 Secure-EL1 中處理。它們可以通過 EL3 傳送到 Secure-EL1,但不能在 EL3 中處理。

  • (2) 在 EL3 執行期間,中斷異常(PSTATE.I和位)被屏蔽。F

  • (3) 中斷管理:以下部分描述了中斷處理框架如何管理中斷。這需要:
    提供一個接口以允許注冊處理程序和為一種中斷類型指定路由模型。
    在生成中斷時實現對中斷類型的手動控制到其注冊處理程序的支持。

中斷管理的兩個方面都涉及從 EL3 到 Secure-EL1 的安全軟件堆棧中的各種組件。這些組件在軟件組件一節中進行了描述。該框架將與每種類型的中斷相關的信息存儲在以下數據結構中。

typedef struct intr_type_desc {interrupt_type_handler_t handler;uint32_t flags;uint32_t scr_el3[2]; } intr_type_desc_t;

該flags字段將中斷類型的路由模型存儲在位[1:0] 中。Bit[0] 存儲執行處于安全狀態時的路由模型。當執行處于非安全狀態時,Bit[1] 存儲路由模型。如第Routing model部分所述,值0表示中斷應針對 FEL。值1意味著它應該針對 EL3。其余位為保留位和 SBZ。set_interrupt_rm_flag()應使用 輔助宏來設置flags參數中的位。

該scr_el3[2]字段還存儲路由模型,但作為該字段中的模型到每個安全狀態flags中相應位的映射。SCR_EL3

該框架還依賴于平臺端口來配置中斷控制器以區分安全中斷和非安全中斷。該平臺應了解系統中存在的安全設備及其相關的中斷號。它應該配置中斷控制器以啟用安全中斷,確保它們的優先級始終高于非安全中斷,并將它們定位到主 CPU。它還應該導出移植指南中描述的接口以啟用中斷處理。

在本文檔的其余部分,為簡單起見,考慮了 Arm GICv2 系統,并假設 FIQ 信號用于生成 Secure-EL1 中斷,而 IRQ 信號用于在任一安全狀態下生成非安全中斷. 不考慮 EL3 中斷。

5.3. 軟件組件

中斷管理的角色和職責細分為在 EL3 和 Secure-EL1 中運行的軟件的以下組件。下面簡要介紹每個組件。

  • (1) EL3 運行時固件。該組件對 TF-A 的所有端口都是通用的。

  • (2) 安全有效載荷調度 (SPD) 服務。該服務與在 Secure-EL1/Secure-EL0 中運行并負責在安全和非安全狀態之間切換執行的安全有效負載 (SP) 軟件接口。開關由安全監視器調用觸發,它使用上下文管理庫導出的 API 來實現此功能。在兩種安全狀態之間切換執行也是中斷管理的要求。這導致對 SPD 服務的嚴重依賴。TF-A 實現了一個示例測試安全有效負載調度程序 (TSPD) 服務。
    SPD 服務插入到 EL3 運行時固件中,并且可能對 TF-A 的某些端口通用。

  • (3) 安全有效載荷 (SP)。在生產系統上,安全有效負載對應于運行在 Secure-EL1/Secure-EL0 中的安全操作系統。它與 SPD 服務接口以管理與非安全軟件的通信。TF-A 實現了一個名為 Test Secure Payload (TSP) 的示例安全有效負載,它僅在 Secure-EL1 中運行。
    安全有效負載實現對于 TF-A 的某些端口可能是通用的,就像 SPD 服務一樣。

5.4. 中斷注冊

本節詳細描述了在 為中斷類型注冊處理程序期間每個軟件組件(請參閱軟件組件)的作用。

5.4.1。EL3 運行時固件

該組件為中斷類型的處理程序聲明了以下原型。

typedef uint64_t (*interrupt_type_handler_t)(uint32_t id,uint32_t flags,void *handle,void *cookie);

is 參數是保留的id,只有在存在確定 id 的萬無一失的方法時,才能在將來用于傳遞最高掛起中斷的中斷 id。目前它包含INTR_ID_UNAVAILABLE.

該flags參數包含如下雜項信息。

  • (1) 安全狀態,位 [0]。該位指示產生中斷時較低異常級別的安全狀態。值1表示它處于非安全狀態。值0表示它處于安全狀態。處理程序可以使用該位來確保根據注冊期間指定的路由模型生成和路由中斷。

  • (2) 保留,位 [31:1]。其余位保留供將來使用。

該handle參數指向參數中cpu_context指定的安全狀態的當前 CPU 的結構flags。

一旦處理程序例程完成,執行將返回到安全或非安全狀態。處理程序例程必須為目標安全狀態返回一個指向 cpu_context當前 CPU 結構的指針。在 AArch64 上,調用者當前忽略此返回值,因為cpu_context預期將由處理程序通過上下文管理庫 API 設置要使用的適當值??梢浦驳闹袛嗵幚沓绦驅崿F必須在返回指針指向的結構中以及通過上下文管理庫 API 設置目標上下文。處理程序應將所有錯誤條件視為嚴重錯誤,并在其實現中采取適當的措施,例如使用斷言失敗。

運行時固件提供以下 API,用于為特定類型的中斷注冊處理程序。Secure Payload Dispatcher 服務應使用此 API 為 Secure-EL1 注冊一個處理程序,并可選擇為非安全中斷注冊一個處理程序。此 API 還要求調用者指定中斷類型的路由模型。

int32_t register_interrupt_type_handler(uint32_t type,interrupt_type_handler handler,uint64_t flags);

該type參數可以是上面列出的三種中斷類型之一, INTR_TYPE_S_EL1即INTR_TYPE_NS& INTR_TYPE_EL3。該flags參數如第 2 節所述。

該函數將0在成功注冊后返回。-EALREADY如果已注冊中斷類型的處理程序,它將返回 。如果type無法識別或flags或handler無效,它將返回-EINVAL。

中斷路由由在SCR_EL3.FIQ/IRQ任一安全狀態下進入較低異常級別之前的位配置控制。上下文管理庫為每個 CPU 結構中的每個安全狀態維護SCR_EL3系統寄存器的副本。cpu_context它導出以下 API 以讓 EL3 運行時固件編程并檢索當前 CPU 的每個安全狀態的路由模型。函數使用SCR_EL3存儲在 中的值在從 EL3 異常級別返回之前對寄存器進行編程 。cpu_contextel3_exit()SCR_EL3

uint32_t cm_get_scr_el3(uint32_t security_state); void cm_write_scr_el3_bit(uint32_t security_state,uint32_t bit_pos,uint32_t value);

cm_get_scr_el3()返回SCR_EL3當前 CPU 的指定安全狀態的寄存器值。cm_write_scr_el3_bit()將0或寫入1 指定的位bit_pos。register_interrupt_type_handler()調用 API,該 API根據使用和API 的路由模型進行set_routing_model()編程。SCR_EL3cm_get_scr_el3()cm_write_scr_el3_bit()

值得注意的是,在當前框架的實現中,EL3 運行時固件負責對路由模型進行編程。SPD 負責確保在收到中斷時遵循路由模型。

5.4.2. 安全有效負載調度程序?

SPD 服務負責確定和維護自身支持的中斷路由模型和 Secure Payload。它還負責根據路由模型在安全和非安全軟件之間傳送中斷。它可以在構建時或運行時確定路由模型。它必須使用此信息使用register_interrupt_type_handler()EL3 運行時固件中的 API 為每種中斷類型注冊處理程序。

如果 SPD 服務在構建時不知道路由模型,則它必須由 SP 作為其初始化的結果提供。只有在 SP 初始化完成后,SPD 才應該對路由模型進行編程,例如在變量指向的 SPD 初始化函數中bl32_init。

SPD 應確定在接收到來自 EL3 運行時固件的中斷后將控制權傳遞給安全有效負載的機制。此信息可以在構建時提供給 SPD 服務,也可以由 SP 在運行時提供。

5.4.3. 測試安全有效負載調度程序行為?

注意: 在本文檔討論TSP_NS_INTR_ASYNC_PREEMPT的情況下 1,相同的結果也適用于當EL3_EXCEPTION_HANDLING是1。

TSPD 僅處理 Secure-EL1 中斷,并在構建時提供以下路由模型。

  • Secure-EL1 中斷在執行處于非安全狀態時路由到 EL3,并且在執行處于安全狀態時路由到 FEL,即CSS=0、TEL3=0和CSS=1、TEL3=1用于 Secure-EL1 中斷

  • 當構建標志TSP_NS_INTR_ASYNC_PREEMPT為零時,默認路由模型用于非安全中斷。它們以任一安全狀態(即CSS=0、TEL3=0和CSS=1、TEL3=0用于非安全中斷)被路由到 FEL。

  • 當構建標志TSP_NS_INTR_ASYNC_PREEMPT定義為 1 時,當執行處于安全狀態時,非安全中斷被路由到 EL3,即CSS=0,對于非安全中斷,TEL3=1。這有效地搶占了 Secure-EL1。默認路由模型用于非安全狀態下的非安全中斷。即CSS=1, TEL3=0。

它在函數中執行以下操作tspd_init()來滿足前面提到的要求:

(1) 它將控制權傳遞給測試安全有效負載以執行其初始化。TSP 在 SP 中提供向量表的地址, tsp_vectors其中還包括sel1_intr_entry字段中 Secure-EL1 中斷的處理程序。當 TSPD 接收到 Secure-EL1 中斷時,它會將控制權傳遞給位于該地址的 TSP。

TSP 和 TSPD 之間的切換協議要求 TSPDPSTATE.DAIF在調用時屏蔽所有中斷(位) tsp_sel1_intr_entry()。TSP 必須保留被調用方保存的通用、SP_EL1/Secure-EL0、LR、VFP 和系統寄存器。它可以 x0-x18用來啟用其 C 運行時。

(2) TSPD 實現了 Secure-EL1 中斷的處理函數。該函數使用 API 注冊到 EL3 運行時固件 register_interrupt_type_handler(),如下所示

/* Forward declaration */ interrupt_type_handler tspd_secure_el1_interrupt_handler; int32_t rc, flags = 0; set_interrupt_rm_flag(flags, NON_SECURE); rc = register_interrupt_type_handler(INTR_TYPE_S_EL1,tspd_secure_el1_interrupt_handler,flags); if (rc)panic();

(3) 當構建標志TSP_NS_INTR_ASYNC_PREEMPT定義為 1 時,TSPD 為非安全中斷實現處理函數。該函數使用 API 注冊到 EL3 運行時固件 register_interrupt_type_handler(),如下所示

/* Forward declaration */ interrupt_type_handler tspd_ns_interrupt_handler; int32_t rc, flags = 0; set_interrupt_rm_flag(flags, SECURE); rc = register_interrupt_type_handler(INTR_TYPE_NS,tspd_ns_interrupt_handler,flags); if (rc)panic();

5.4.4。安全有效載荷

安全有效負載必須在 Secure-EL1 (Secure-EL1 IHF) 上實現中斷處理框架,以支持其選擇的中斷路由模型。安全有效負載執行將在以下情況之間交替。

  • (1) 在啟用了 IRQ、FIQ 或兩者的中斷的代碼中,如果一個中斷類型針對 FEL,那么它將被路由到 Secure-EL1 異常向量表。這被定義為處理中斷的異步模式。此模式適用于 Secure-EL1 和非安全中斷。

  • (2) 在兩個中斷都被禁用的代碼中,如果一個中斷類型以 FEL 為目標,那么執行最終將遷移到非安全狀態。任何非安全中斷都將按照CSS=1 和 TEL3=0的路由模型中的描述進行處理。Secure-EL1 中斷將被路由到 EL3(根據CSS=1 和 TEL3=1的路由模型),SPD 服務會將它們交給 SP。這被定義為處理中斷的同步模式。

SP 實現的中斷處理框架應支持這些中斷處理模型中的一種或兩種,具體取決于所選的路由模型。

以下列表簡要描述了有效路由模型的選擇(請參閱有效路由模型)如何影響 Secure-EL1 IHF 的實現。如果在編譯時 SPD 服務不知道中斷路由模型的選擇,那么 SP 應該在運行時在其初始化階段將此信息傳遞給 SPD 服務。

如前所述,考慮了一個 Arm GICv2 系統,并假設 FIQ 信號用于生成 Secure-EL1 中斷,而 IRQ 信號用于在任一安全狀態下生成非安全中斷。

5.4.4.1。安全有效載荷 IHF 設計 wrt 安全 EL1 中斷?
  • (1) CSS=0,電話 3=0。如果PSTATE.F=0,Secure-EL1 中斷將在 Secure-EL1 FIQ 異常向量之一處觸發。Secure-EL1 IHF 應該支持異步處理 FIQ 中斷。
    如果PSTATE.F=1那么 Secure-EL1 中斷將按照同步中斷處理模型進行處理。SP 可以通過在注冊階段將 Secure-EL1 中斷的單獨入口點導出到 SPD 服務來實現此場景。SPD 服務還需要知道系統的狀態、通用目的以及PSTATE它應該安排將執行返回給 SP 的寄存器。如果 SPD 服務在構建時不知道該信息,則 SP 應在注冊階段以實現定義的方式提供此信息。

  • (2) CSS=1,電話 3=1。當執行處于非安全狀態時,中斷被路由到 EL3。它們應該通過上面 1. 中描述的同步中斷處理模型來處理。

  • (3) CSS=0,電話 3=1。當執行處于安全狀態時,Secure-EL1 中斷被路由到 EL3。SP 將看不到它們。Secure-EL1/Secure-EL0 中的PSTATE.F位不會屏蔽 FIQ。EL3 運行時固件將調用 SPD 服務為 Secure-EL1 中斷注冊的處理程序。然后,Secure-EL1 IHF 應該通過上面 1. 中描述的同步中斷處理模型來處理所有 Secure-EL1 中斷。

5.4.4.2。安全有效載荷 IHF 設計 wrt 非安全中斷
  • (1) CSS=0,電話 3=0。如果PSTATE.I=0,將在 Secure-EL1 IRQ 異常向量之一處觸發非安全中斷。Secure-EL1 IHF 應與 SPD 服務協調以將執行轉移到應處理中斷的非安全狀態,例如,SP 可以分配一個功能標識符以向 SPD 服務發出 SMC64 或 SMC32,這表明SP 執行已被非安全中斷搶占。如果 SPD 服務在編譯時不知道這個函數標識符,那么 SP 可以在注冊階段提供它。
    如果PSTATE.I=1然后非安全中斷將掛起,直到在非安全狀態下恢復執行。

  • (2) CSS=0,電話 3=1。非安全中斷被路由到 EL3。SP 將看不到它們。Secure-EL1/Secure-EL0 中的PSTATE.I位無效。SPD 服務應注冊一個非安全中斷處理程序,該處理程序應正確保存 SP 狀態并在將處理中斷的非安全狀態下恢復執行。Secure-EL1 IHF 不需要采取任何行動。

  • (3) CSS=1,電話 3=0。非安全中斷在非安全狀態 (EL1/EL2) 的 FEL 中處理,并且對 SP 不可見。此路由模型不影響 SP 行為。

Secure Payload 還必須確保所有 Secure-EL1 中斷都通過 EL3 運行時固件的平臺端口在中斷控制器上正確配置。它應該配置 EL3 運行時固件通過其平臺端口不知道的任何其他 Secure-EL1 中斷。

5.4.5。測試安全有效負載行為

TSP 選擇的 Secure-EL1 和非安全中斷的路由模型在部分Secure Payload Dispatcher中進行了描述。它在構建時為 TSPD 服務所知。

tsp_sel1_intr_entry()TSP實現了一個入口點(它將對該入口點的引用傳遞 tsp_vectors給 TSPD 服務。

TSP 還將通過變量引用的默認異常向量表替換為 early_exceptions能夠處理在相同 (Secure-EL1) 異常級別采取的 FIQ 和 IRQ 異常的向量表。該表通過tsp_exceptions變量引用并編程到 VBAR_EL1。它迎合異步處理模型。

TSP 還對 Arm Generic Timer 塊中的安全物理定時器進行編程,以引發周期性中斷(每半秒一次),以測試軟件組件中列出的所有軟件組件的中斷管理。

5.5. 中斷處理?

本節詳細描述了每個軟件組件(請參閱軟件組件一節)在處理特定類型的中斷中的作用。

5.5.1。EL3 運行時固件?

EL3 運行時固件填充變量引用的 IRQ 和 FIQ 異常向量runtime_exceptions,如下所示。

  • (1) 從當前異常級別獲取的 IRQ 和 FIQ 異常具有 SP_EL0或被SP_EL3報告為不可恢復的錯誤條件。如前所述,EL3 運行時固件總是在 設置PSTATE.I和PSTATE.F位的情況下執行。

  • (2) 以下文本描述了如何處理使用 AArch64 或 AArch32 從較低異常級別獲取的 IRQ 和 FIQ 異常。

產生中斷時,每種中斷類型的向量負責:

  • (1) 進入異常后立即保存整個通用寄存器上下文 (x0-x30)。寄存器保存在寄存器cpu_context 引用的 per-cpu 數據結構中SP_EL3。

  • (2) ELR_EL3將,SP_EL0和system 寄存器保存在寄存器引用SPSR_EL3的 per-cpu數據結構中。cpu_contextSP_EL3

  • (3) CTX_RUNTIME_SP通過從 per-cpucpu_context數據結構中恢復值SP_EL0并執行指令來切換到 C 運行時堆棧。msr spsel, #0

  • (4) 確定中斷的類型。Secure-EL1 中斷將在 FIQ 向量處發出信號。非安全中斷將在 IRQ 向量處發出信號。平臺應實現以下 API 來確定掛起中斷的類型。

uint32_t plat_ic_get_interrupt_type(void);

它應該返回INTR_TYPE_S_EL1或INTR_TYPE_NS。

  • (5) 確定已生成中斷類型的處理程序。為此目的添加了以下 API。
interrupt_type_handler get_interrupt_type_handler(uint32_t interrupt_type);

它返回對該中斷類型的已注冊處理程序的引用。從第2 節中描述handler的結構中檢索。如果沒有為這種類型的中斷注冊處理程序,則返回。這種情況被報告為不可恢復的錯誤情況。intr_type_desc_tNULL

  • (6) 為生成的中斷類型調用注冊的處理函數。該id參數設置為INTR_ID_UNAVAILABLE當前。id 連同當前安全狀態和對當前安全狀態cpu_context_t 結構的引用作為參數傳遞給處理函數。

處理函數返回cpu_context_t 對目標安全狀態的 per-cpu 結構的引用。

  • (7) 調用el3_exit()以從 EL3 返回到由處理程序例程確定的安全狀態中的較低異常級別。該el3_exit() 函數負責從 cpu_context_t目標安全狀態的數據結構中恢復寄存器上下文。

5.5.2. 安全有效負載調度程序

5.5.2.1。中斷入口

當 EL3 運行時固件為該類型的中斷調用處理函數時,SPD 服務開始處理該中斷。SPD 服務負責以下工作:

  • (1) 驗證中斷。這涉及確保根據注冊期間 SPD 服務指定的中斷路由模型生成中斷。flags它應該使用中斷被從中獲取的異常級別的安全狀態(在處理程序的參數中傳遞)來確定這一點。如果中斷未被識別,則處理程序應將其視為不可恢復的錯誤條件。

SPD 服務可以為 Secure-EL1 和/或非安全中斷注冊處理程序。非安全中斷不應該從非安全狀態路由到 EL3。此外,如果選擇了在執行處于安全狀態時將 Secure-EL1 中斷路由到 S-EL1 的路由模型,則永遠不應將 S-EL1 中斷從安全狀態路由到 EL3。處理程序可以使用安全狀態標志來檢查這一點。

  • (2) 確定是否需要上下文切換。這取決于路由模型和中斷類型。對于非安全和 S-EL1 中斷,如果產生中斷的執行上下文的安全狀態與處理中斷所需的安全狀態不同,則需要進行上下文切換。以下 2 種情況需要從安全到非安全的上下文切換,反之亦然:
    – 從非安全狀態獲取的 Secure-EL1 中斷應路由到安全有效負載。
    – 從安全狀態獲取的非安全中斷應路由到最后一個已知的非安全異常級別。

SPD 服務必須保存當前安全狀態的系統寄存器上下文。然后它必須恢復目標安全狀態的系統寄存器上下文。它應該使用cm_set_next_eret_context()API 來確保下一個cpu_context要恢復的是目標安全狀態。

如果目標狀態是安全的,則應根據其實現的同步中斷處理模型將執行交給 SP。在 SP 中執行時,可以將 Secure-EL1 中斷路由到 EL3。這意味著在處理另一個更高優先級的 Secure-EL1 中斷或 EL3 中斷的中斷時,可以搶占 SP 執行。在將控制權交給 SP 之前,SPD 服務應該能夠處理這種搶占或管理安全中斷優先級。

  • (3) cpu_context如果中斷已成功驗證并準備好在較低的異常級別處理,則將處理程序的返回值設置為 per-cpu 。

路由模型允許非安全中斷在安全狀態下中斷 Secure-EL1(如果已配置為這樣做)。SPD 服務和 SP 應該實現一種機制,將這些中斷路由到非安全狀態下的最后一個已知異常級別。前者要保存SP上下文,恢復非安全上下文,安排進入非安全狀態,以便處理中斷。

5.5.2.2。中斷出口?

當 Secure Payload 處理完 Secure-EL1 中斷后,它可以通過 SMC32 或 SMC64 將控制權返回給 SPD 服務。SPD 服務應處理此安全監視器調用,以便在異常級別和最初獲取 Secure-EL1 中斷的安全狀態中恢復執行。

5.5.2.3。測試安全有效負載調度程序 Secure-EL1 中斷處理?

示例 TSPD 服務為從非安全狀態獲取的 Secure-EL1 中斷注冊處理程序。在 S-EL1 中執行期間,TSPD 期望 Secure-EL1 中斷由 TSP 在 S-EL1 中處理。它的處理程序 tspd_secure_el1_interrupt_handler()只希望為源自非安全狀態的 Secure-EL1 調用。它在被調用時執行以下操作。

  • (1) 它使用flags參數中提供的安全狀態來確保安全中斷源自非安全狀態。它斷言如果不是這種情況。

  • (2) 它通過調用保存非安全狀態的系統寄存器上下文 cm_el1_sysregs_context_save(NON_SECURE);。

  • (3) 它將ELR_EL3系統寄存器設置為tsp_sel1_intr_entry并設置 SPSR_EL3.DAIF安全 CPU 上下文中的位。它設置x0為 TSP_HANDLE_SEL1_INTR_AND_RETURN。如果 TSP 在 SMC 處理期間被非安全中斷提前搶占yielding,請保存將被丟棄的寄存器,即ELR_EL3和SPSR_EL3,以便能夠重新進入 TSP 以進行 Secure-EL1 中斷處理。它不需要保存任何其他安全上下文,因為預計 TSP 會保留它(請參閱測試安全有效負載調度程序行為部分)。

  • (4) 它通過調用來恢復安全狀態的系統寄存器上下文 cm_el1_sysregs_context_restore(SECURE);。

  • (5) 它確保安全的 CPU 上下文用于通過調用cm_set_next_eret_context(SECURE);.

  • (6) 它返回 per-cpucpu_context以指示中斷現在可以由 SP 處理。x1寫入elr_el3 非安全狀態的寄存器值。SP 使用此信息進行調試。

下圖描述了在執行處于非安全狀態時產生 Secure-EL1 中斷時 TSPD 如何實現中斷處理。

TSP 發出一個帶有TSP_HANDLED_S_EL1_INTR函數標識符的 SMC,以表示中斷處理的完成。

tspd_smc_handler()TSPD 服務在接收到具有TSP_HANDLED_S_EL1_INTR作為功能標識符的 SMC 時在功能中采取以下操作:

  • (1) 它確保調用源自安全狀態,否則執行返回到SMC_UNKin的非安全狀態x0。

  • (2) 如果 TSP 早先被非安全中斷搶占,它將保存的ELR_EL3和系統寄存器恢復到安全 CPU 上下文(參見上面的步驟 3)。SPSR_EL3

  • (3) 它通過調用恢復非安全狀態的系統寄存器上下文cm_el1_sysregs_context_restore(NON_SECURE)。

  • (4) 它確保使用非安全 CPU 上下文通過調用cm_set_next_eret_context(NON_SECURE).

  • (5) tspd_smc_handler()返回對非安全的引用cpu_context 作為返回值。

5.5.2.4。測試安全有效負載調度程序非安全中斷處理

Secure-EL1 中的 TSP 可以在 SMC 處理期間被非安全中斷搶占, yielding或者在 Secure-EL1 中斷處理期間被更高優先級的 EL3 中斷搶占。當EL3_EXCEPTION_HANDLING是時0,只有非安全中斷會導致 TSP 搶占,因為系統中沒有 EL3 中斷。EL3_EXCEPTION_HANDLING=1然而,任何 EL3 中斷都可能搶占安全執行。

應該注意的是,當 TSP 被搶占時,TSPD 僅允許進入 TSP 以進行 Secure-EL1 中斷處理或恢復被搶占的 yieldingSMC 以響應TSP_FID_RESUME來自正常世界的 SMC。(請參閱搶占 SMC 對非安全軟件的影響一節)。

在 SMC 處理期間在 Secure-EL1 中觸發的非安全中斷yielding可以路由到 EL3 或 Secure-EL1,并由構建選項控制TSP_NS_INTR_ASYNC_PREEMPT(請參閱測試安全負載調度程序行為一節)。如果設置了構建選項,TSPD 將為非安全中斷設置路由模型,使其從安全狀態(即TEL3=1,CSS=0)路由到 EL3,并注冊tspd_ns_interrupt_handler()為非安全中斷處理程序。被調用的tspd_ns_interrupt_handler()on 確保中斷源自安全狀態,并禁用非安全中斷從安全狀態到 EL3 的路由。這是為了防止在重新進入 TSP 以處理在正常環境中執行時觸發的 Secure-EL1 中斷時進一步搶占(通過非安全中斷)。這tspd_ns_interrupt_handler()然后調用 tspd_handle_sp_preemption()以進行進一步處理。

如果TSP_NS_INTR_ASYNC_PREEMPT構建選項為零(默認),則安全狀態下非安全中斷的默認路由模型生效,即TEL3=0, CSS=0。在yieldingSMC 處理期間,IRQ 異常未被屏蔽PSTATE.I=0,即在 Secure-EL1 IRQ 異常向量處將觸發非安全中斷。TSP 保存通用寄存器上下文并發出一個 SMCTSP_PREEMPTED作為功能標識符,以表示 TSP 的搶占。TSPD SMC 處理程序 tspd_smc_handler()確保 SMC 調用源自安全狀態,否則執行返回到非安全狀態 SMC_UNKin x0。然后它調用tspd_handle_sp_preemption()以進行進一步處理。

tspd_handle_sp_preemption()被調用時會執行以下操作:

  • (1) 它通過調用來保存安全狀態的系統寄存器上下文 cm_el1_sysregs_context_save(SECURE)。

  • (2) 它通過調用恢復非安全狀態的系統寄存器上下文cm_el1_sysregs_context_restore(NON_SECURE)。

  • (3) 它確保使用非安全 CPU 上下文通過調用cm_set_next_eret_context(NON_SECURE).

  • (4) SMC_PREEMPTED設置為 x0 并在恢復非安全上下文后返回非安全狀態。

yieldingNormal World 有望在SMC 搶占后通過發布一個 SMCTSP_FID_RESUME作為功能標識符來恢復 TSP (請參閱搶占 SMC 對非安全軟件的影響一節)。tspd_smc_handler()TSPD 服務在收到此 SMC 后在功能上采取以下行動:

  • (1) 它確保呼叫源自非安全狀態。否則會引發斷言。

  • (2) 檢查 TSP 是否需要恢復,即檢查它是否被搶占。然后它通過調用保存非安全狀態的系統寄存器上下文 cm_el1_sysregs_context_save(NON_SECURE)。

  • (3) 通過調用恢復安全上下文 cm_el1_sysregs_context_restore(SECURE)

  • (4) 它確保安全的 CPU 上下文用于通過調用cm_set_next_eret_context(SECURE).

  • (5) tspd_smc_handler()返回對安全的引用cpu_context作為返回值。

下圖描述了當構建標志為 0時在 TSP with PSTATE.I= 0 中執行期間生成的非安全中斷時,TSP/TSPD 如何處理該中斷。TSP_NS_INTR_ASYNC_PREEMPT

5.5.3. 安全有效負載中斷處理

SP 應該實現同步和異步中斷處理模型中的一種或兩種,具體取決于它選擇的中斷路由模型(如安全有效負載部分所述)。

在同步模型中,它應該在從構建時間或注冊階段商定的入口點接收來自 SPD 服務的控制后開始處理 Secure-EL1 中斷。在處理中斷之前,SP 應該保存任何 Secure-EL1 系統寄存器上下文,以便稍后在 SP 中恢復正常執行,SPSR_EL1例如ELR_EL1. 處理完中斷后,SP 可以將控制權返回到最初獲取中斷的異常級別和安全狀態。SP 應使用 SMC32 或 SMC64 請求 SPD 服務執行此操作。

PSTATE.I在異步模型中,當和位為 0時,Secure Payload 負責在其異常向量表中的 IRQ 和 FIQ 向量處處理非安全和 Secure-EL1 中斷。PSTATE.F如前所述,當生成非安全中斷時, SP 應與 SPD 服務協調,以將控制權傳遞回最后一個已知異常級別的非安全狀態。這將允許在非安全狀態下處理非安全中斷。

5.5.3.1。測試安全有效負載行為?

TSPD 將 Secure-EL1 中斷的控制權交給 TSP 在 tsp_sel1_intr_entry(). TSP 處理中斷,同時確保保持部分測試安全負載調度程序行為中描述的切換協議。它通過調用來更新一些統計信息 tsp_update_sync_sel1_intr_stats()。然后它調用 tsp_common_int_handler()which。

  • (1) 檢查中斷是否為安全物理定時器中斷。它使用平臺 APIplat_ic_get_pending_interrupt_id()來獲取中斷號。如果它不是安全物理定時器中斷,則意味著更高優先級的中斷已經搶占了它。通過發出具有作為功能標識符的 SMC 來調用 tsp_handle_preemption()將控制權移交回 EL3 。TSP_PREEMPTED

  • (2) 通過使用平臺 API 確認安全定時器中斷中斷 plat_ic_acknowledge_interrupt()、調用 tsp_generic_timer_handler()以重新編程安全物理通用定時器并調用plat_ic_end_of_interrupt()平臺 API 以發出中斷處理結束的信號來處理安全定時器中斷中斷。

TSP 通過發出 SMC64 TSP_HANDLED_S_EL1_INTR作為功能標識符將控制權交還給 TSPD。

TSP 處理異步模型下的中斷如下。

  • (1) Secure-EL1 中斷通過調用該tsp_common_int_handler() 函數來處理。該功能已在上面進行了描述。

  • (2) 通過調用函數來處理非安全中斷,該tsp_common_int_handler() 函數最終調用tsp_handle_preemption()并發出 SMC64TSP_PREEMPTED作為函數標識符。當 TSPD 將控制權交給 TSP 以響應具有TSP_FID_RESUME非安全狀態的功能標識符的 SMC 時,執行在此 SMC 指令之后的指令處恢復執行(請參閱測試安全有效載荷調度程序非安全中斷處理部分)。

5.6. 其他注意事項

5.6.1。搶占 SMC 對非安全軟件的影響

對安全有效負載的yieldingSMC 調用可以被非安全中斷搶占,并且執行可以返回到非安全世界以處理中斷(有關yieldingSMC 的詳細信息,請參閱SMC 調用約定)。在這種情況下,SMC 調用尚未完成其執行,執行必須返回到安全有效負載以恢復被搶占的 SMC 調用。這可以通過發出指示恢復被搶占的 SMC 的 SMC 調用來實現。

fastSMC 不能被搶占,因此這種情況不會發生在快速 SMC 調用中。

在 Test Secure Payload 實現中,TSP_FID_RESUME被指定為恢復 SMC FID。重要的是要注意這TSP_FID_RESUME是一個 yieldingSMC,這意味著它也可以被搶占。發布yieldingSMC 的典型非安全軟件序列如下所示,假設P.STATE.I=0處于非安全狀態:

int rc; rc = smc(TSP_YIELD_SMC_FID, ...); /* Issue a Yielding SMC call */ /* The pending non-secure interrupt is handled by the interrupt handlerand returns back here. */ while (rc == SMC_PREEMPTED) { /* Check if the SMC call is preempted */rc = smc(TSP_FID_RESUME); /* Issue resume SMC call */ }

是TSP_YIELD_SMC_FID任何yieldingSMC 函數標識符,并且 smc() 函數調用帶有所需參數的 SMC 調用。掛起的非安全中斷導致 IRQ 異常,注冊在異常向量中的 IRQ 處理程序處理非安全中斷并返回。測試來自 SMC 調用的返回值SMC_PREEMPTED以檢查它是否被搶占。如果是,則TSP_FID_RESUME發出恢復 SMC 調用。再次測試 SMC 調用的返回值,檢查是否被搶占。這是在循環中完成的,直到 SMC 調用成功或失敗。如果yielding SMC 被搶占,在使用 SMC 恢復并完成之前,當前 TSPD 通過返回錯誤TSP_FID_RESUME來防止任何其他 SMC 調用重新進入 TSP

總結

以上是生活随笔為你收集整理的5-Interrupt Management Framework的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久成人综合 | 国产a精品| 成人av观看 | 国产成人精品网站 | 久久久久久伊人 | 丝袜av网站 | 青青草国产精品 | 亚洲成熟女人毛片在线 | 夜夜干夜夜 | 黄色国产高清 | 久久99精品久久久久久清纯直播 | 在线视频第一页 | 久久艹艹| 亚洲成人家庭影院 | 欧美三级免费 | 日本中文字幕在线观看 | 日韩激情第一页 | 网站你懂的| 亚洲欧美在线综合 | 久草电影免费在线观看 | 亚洲激情一区二区三区 | 国产精品视屏 | 久久综合桃花 | 国产不卡精品视频 | 在线一区av| 欧美一区免费观看 | www.黄色在线 | 天天操天天干天天操天天干 | 日韩在线视频观看 | 亚洲精品成人网 | 日韩在线观看影院 | 日本精品久久久久影院 | 国产成人久久av免费高清密臂 | 一级全黄毛片 | 国产精品第一视频 | 噜噜色官网 | 午夜国产福利在线观看 | 亚洲2019精品| 人人爱人人做人人爽 | 久久性生活片 | 国产日韩欧美精品在线观看 | 中文字幕一二三区 | 久久久高清视频 | 日韩美精品视频 | 96av在线| 91插插视频 | 日韩二区三区在线 | 亚洲女裸体 | 日韩av电影手机在线观看 | 性色av一区二区三区在线观看 | 久久久国产精品一区二区中文 | 高清国产午夜精品久久久久久 | 久久精品女人毛片国产 | 中文av网站 | 玖玖国产精品视频 | 国产99精品 | 天堂v中文 | 国产男女免费完整视频 | 久久婷婷网 | 成人99免费视频 | 国产精品视频不卡 | 99久久精品无码一区二区毛片 | 91免费视频国产 | 久久久私人影院 | 日韩欧美视频在线免费观看 | 欧美日韩伦理一区 | 九九热在线免费观看 | 91亚洲精品久久久久图片蜜桃 | 国产在线一线 | 中文字幕视频网 | 婷婷六月综合亚洲 | 中文字幕在线网址 | 一区二区三区在线免费观看视频 | 激情久久综合网 | 日韩色高清| 国产在线观看a | 91精品久久久久久综合五月天 | 亚洲闷骚少妇在线观看网站 | 久热av在线| 精品国产一区二区三区四区vr | 夜色.com | 香蕉在线影院 | 成人免费网站在线观看 | 国产精品免费看久久久8精臀av | 国产黄色在线网站 | 在线亚洲精品 | 国产精品爽爽久久久久久蜜臀 | 欧美日韩午夜 | 成年人在线免费看视频 | 中文字幕a∨在线乱码免费看 | 狠狠干狠狠色 | 免费色视频网址 | 特级黄色片免费看 | 在线观看爱爱视频 | 日本不卡123| 又爽又黄又刺激的视频 | www.色就是色 | 久久国产精品一区二区 | 久久超碰97 | 久久精品国产美女 | 国产精品久久久久9999吃药 | 天天夜操 | 亚洲极色 | 一区二区不卡视频在线观看 | 久国产在线播放 | 99r国产精品 | 日日夜夜狠狠干 | av综合网址 | 99免费看片| 免费在线观看a v | 久久精品一二三区白丝高潮 | 国产精品久久久久久久久免费看 | 999久久久久久久久 69av视频在线观看 | 最近中文字幕高清字幕在线视频 | 中文字幕在线免费观看 | 成人高清av在线 | 亚洲少妇激情 | 973理论片235影院9 | 蜜臀aⅴ国产精品久久久国产 | 亚洲婷婷伊人 | 免费裸体视频网 | 国产黄色片免费观看 | 国产精品99久久久久人中文网介绍 | 亚洲精品在线免费 | 在线免费观看黄色小说 | 亚洲伊人婷婷 | 久久精品网址 | 久久国产电影 | 91丨九色丨国产女 | 国产在线专区 | 91九色在线视频 | 视频一区二区精品 | 香蕉免费在线 | 91高清视频在线 | 免费精品视频在线观看 | 免费一级特黄录像 | 免费观看视频黄 | 欧美一区中文字幕 | 少妇按摩av| 天天干天天插伊人网 | 丁香花中文字幕 | 亚洲天堂精品 | 亚洲伦理电影在线 | 伊人伊成久久人综合网小说 | 亚洲视频免费 | 91麻豆精品国产91久久久使用方法 | 欧美色图88 | 天天躁日日躁狠狠躁 | 欧美成人精品欧美一级乱 | 国产最新视频在线观看 | 中文字幕一区二区三区四区视频 | 亚洲特级毛片 | 国产视频一 | av在线短片 | 国产人成看黄久久久久久久久 | 久久久久国产精品一区 | 久久成人资源 | 九九在线精品视频 | 日韩一区二区三区在线看 | 五月婷婷视频在线 | 精品在线视频一区二区三区 | 亚洲aⅴ乱码精品成人区 | 91精彩视频| 午夜精品福利一区二区三区蜜桃 | 99情趣网视频 | 国产做aⅴ在线视频播放 | av片在线观看| 久久久久久久久久久影视 | 色开心 | 久久精品老司机 | 婷婷在线色 | 久久夜色网 | 天天操婷婷 | 成人欧美一区二区三区在线观看 | 久久国产系列 | 国产精选在线 | 日韩视频在线不卡 | 日韩免费在线播放 | 日韩亚洲在线观看 | 日韩高清在线一区二区三区 | 欧美午夜a | 国产主播99| 国产一级淫片在线观看 | 国产视频精选 | 九九欧美视频 | 欧美另类老妇 | 色婷婷导航 | 亚洲天天综合网 | 99热超碰在线 | 国产精品亚洲成人 | 国产精品女教师 | 日韩免费电影一区二区 | 91av成人| 99久久精品国产一区二区三区 | 中文字幕一区在线观看视频 | 视频一区二区视频 | 999热视频| 天天翘av | 日本论理电影 | 啪啪精品| 91在线产啪 | 99久久精品午夜一区二区小说 | 97超级碰 | 欧美在线观看视频一区二区 | 国产亚洲在线 | 精品视频免费播放 | 精品亚洲欧美一区 | 国产乱码精品一区二区蜜臀 | 国产亚洲一区二区在线观看 | 午夜电影中文字幕 | 国产精品成人久久 | 中文不卡视频在线 | 在线视频久久 | 久热这里有精品 | 97在线免费观看视频 | 久久久国产在线视频 | 中文字幕一区二区三区四区久久 | 欧美另类xxxx | 久久久久国产一区二区三区四区 | 99久久精品免费看国产一区二区三区 | 狂野欧美激情性xxxx欧美 | 成人av日韩 | 在线看黄色的网站 | 天天色影院| 日韩在线电影一区 | 经典三级一区 | 亚洲精品视频在 | 91精彩视频 | 国产字幕在线播放 | 在线观看第一页 | 中文字幕精品久久 | 久久96国产精品久久99漫画 | 国产精品理论片 | 99精品黄色| 午夜 久久 tv | av大片免费看 | www.人人干| 国内免费久久久久久久久久久 | 中文字幕在线观看网 | 91高清完整版在线观看 | 欧美日韩高清一区二区三区 | 欧美一区二区三区在线看 | 国产精品成人久久久 | 久久综合中文字幕 | 中文字幕乱码亚洲精品一区 | 在线看一区二区 | 麻豆视频免费在线播放 | 国产综合片 | 国产高清绿奴videos | 国产69精品久久久久久久久久 | 国产精品美女久久久久久久久久久 | 欧美成人aa| 天天操天天曰 | 国产精品久久9 | 在线观看国产www | 欧美在线一级片 | 色综合天天狠天天透天天伊人 | 91大神免费在线观看 | 一区二区中文字幕在线播放 | 亚洲精品乱码久久久久久按摩 | 在线观看日韩精品视频 | 成人一级片免费看 | 国产精品久久一区二区无卡 | 最新色视频 | 国产精品久久久免费 | 黄色大片日本 | 成年人免费电影在线观看 | 日韩一区二区三区在线看 | 成人免费观看网站 | 97色在线| 中文字幕日本电影 | 日精品在线观看 | 在线观看久草 | 免费在线观看毛片网站 | 亚洲精品午夜久久久 | 久热色超碰 | 欧美日韩国产在线 | 九九精品毛片 | 午夜的福利 | 91综合视频在线观看 | 精品欧美乱码久久久久久 | 四虎国产 | 香蕉久草在线 | 99色国产 | 碰超在线| 四虎在线观看视频 | 久久麻豆视频 | 97电影院在线观看 | 91久久精品一区二区二区 | 欧美日韩裸体免费视频 | 在线香蕉视频 | 黄色日本片 | 日日干夜夜爱 | 欧美精品久 | 国内精品久久久精品电影院 | 久久美女免费视频 | 国产精品久久久久一区二区国产 | a级片在线播放 | 91私密保健 | 91看片在线播放 | 久久精品毛片 | 日韩电影在线观看一区二区三区 | 91一区啪爱嗯打偷拍欧美 | 91亚洲欧美激情 | 最新av网址大全 | 欧美大片在线观看一区 | 欧美成人h版| 毛片网站免费在线观看 | 九九精品视频在线观看 | 麻豆免费在线视频 | 麻豆视频国产在线观看 | 免费视频97 | 性色xxxxhd| 中文资源在线观看 | 玖玖国产精品视频 | 亚洲精品国偷拍自产在线观看蜜桃 | aav在线| 伊人午夜 | 国产美女永久免费 | 国产成人精品一区二区三区在线 | 久久婷婷久久 | 99热手机在线观看 | 亚洲精品99| 久久艹国产视频 | 爱av在线网 | 亚洲久草视频 | 免费日韩 精品中文字幕视频在线 | 81精品国产乱码久久久久久 | 综合色站 | 国产精品资源 | 日本黄色片一区二区 | 国产日韩欧美在线影视 | 天天干,天天射,天天操,天天摸 | 日韩美在线 | 亚洲精欧美一区二区精品 | 日韩午夜网站 | 中文字幕 国产视频 | 欧美日韩三级 | www.av在线.com | 久久久久在线观看 | 免费久久99精品国产 | 久久久久久久国产精品影院 | 成av人电影| 国产精品手机在线观看 | 黄色av影院 | 国产亚洲片 | 成人av在线直播 | 久久综合中文字幕 | 摸bbb搡bbb搡bbbb | 黄色视屏av | 2023天天干| 久久久久久伊人 | www一起操| 91麻豆精品国产91久久久无限制版 | 草久在线播放 | 国产97色在线| 激情av一区二区 | 国产精品网红福利 | 亚洲2019精品 | 亚洲视频h | 伊人久久精品久久亚洲一区 | 国产欧美精品一区二区三区四区 | 激情图片qvod | 亚洲午夜精品一区二区三区电影院 | 国产亚洲精品福利 | 免费视频91蜜桃 | 青青草在久久免费久久免费 | 在线观看爱爱视频 | 在线精品亚洲 | 久久99精品国产麻豆宅宅 | 天天插天天| 国产一级黄大片 | 蜜臀aⅴ国产精品久久久国产 | 四虎天堂 | 国产精品久久网 | av丁香花 | 97成人在线视频 | 黄色小视频在线观看免费 | 国产aa精品 | 久久国产高清视频 | 日韩中文字幕在线不卡 | 午夜视频欧美 | 四虎www| 国产成人精品一区二区三区福利 | 亚洲精品免费视频 | 91片在线观看 | av综合在线观看 | 精品国产1区 | 操高跟美女| 国产网站色 | 成人av在线影视 | 成人va视频 | 中文字幕乱偷在线 | 国产二级视频 | 日韩在线观看第一页 | 天天操天天爽天天干 | 在线观看视频h | 婷婷在线综合 | 日韩电影在线一区二区 | 日韩在线视频免费播放 | 亚洲综合欧美日韩狠狠色 | www.com.日本一级 | 亚洲片在线资源 | 日韩视频免费在线 | 美女网站一区 | 国产免费久久 | 亚洲伦理电影在线 | 国产精品黄色在线观看 | 精品在线观看一区二区 | 9久久精品| 丁香婷婷激情国产高清秒播 | 91天天操| 欧美午夜寂寞影院 | 日狠狠| 91中文在线观看 | 午夜av一区 | 亚洲国产精品久久久久 | 久久天 | 超碰99人人 | 久久精品99国产国产 | 免费观看成年人视频 | 欧美一区二区视频97 | 在线看污网站 | 人人干天天干 | 在线a人片免费观看视频 | 成人午夜电影在线观看 | a视频在线看 | 日韩肉感妇bbwbbwbbw | 国产精品二区在线观看 | 91精品一区二区三区蜜桃 | 黄色av免费 | 一本之道乱码区 | 日韩丝袜在线观看 | 人人插超碰 | 日韩免费在线观看 | 亚洲成人av在线电影 | 国产特级毛片aaaaaaa高清 | 婷婷色吧 | 91av视屏 | 国产一级片播放 | 国产.精品.日韩.另类.中文.在线.播放 | 日日夜夜天天久久 | 99婷婷狠狠成为人免费视频 | 免费合欢视频成人app | 99视频99 | 青春草视频| 久久乐九色婷婷综合色狠狠182 | 69国产成人综合久久精品欧美 | av电影在线不卡 | 久久伦理影院 | 黄色特一级片 | 在线免费观看黄网站 | 欧美在线视频一区二区 | 国产精品视频免费 | zzijzzij亚洲成熟少妇 | 中文字幕一区二区在线播放 | 丁香激情综合久久伊人久久 | 91xav| 人人玩人人弄 | 国产精品久久一区二区三区不卡 | 久久欧美综合 | 久久精品视频在线观看免费 | 欧美日韩不卡一区 | 婷婷丁香狠狠爱 | 女人18片毛片90分钟 | 在线不卡视频 | 69国产成人综合久久精品欧美 | 久草视频在线免费播放 | 丁香视频全集免费观看 | 久草视频视频在线播放 | av理论电影 | 久久女同性恋中文字幕 | 91精品国产综合久久婷婷香蕉 | 全黄网站 | 欧美日韩亚洲在线观看 | 久久人人爽人人爽人人 | 精品久久久久久久久亚洲 | 国产在线传媒 | 福利片视频区 | 欧美少妇xx | 六月丁香综合 | 亚洲日本韩国一区二区 | 成人黄大片视频在线观看 | 97人人超碰在线 | 很黄很黄的网站免费的 | 国产精品久久在线 | 九色琪琪久久综合网天天 | 蜜臀av性久久久久蜜臀av | 99精品区 | 99在线国产 | 97碰碰视频 | 日狠狠| 欧美a级片免费看 | 久久综合九九 | 国产视频一区在线播放 | 久久免费视频观看 | 一级黄色片在线免费看 | 国产黄色片一级 | 免费看毛片网站 | 久久欧美综合 | 亚洲高清视频在线观看免费 | 亚洲精品456在线播放乱码 | 婷婷国产一区二区三区 | 中文字幕视频在线播放 | 91视频麻豆 | 99爱视频| 狂野欧美激情性xxxx | 精品国产一区二区三区不卡 | 五月婷婷丁香六月 | 天天操操操操操 | 亚洲精品国产精品乱码在线观看 | 韩国精品福利一区二区三区 | 精品福利在线 | 欧美日韩中文在线视频 | 操操色| 久久美女视频 | 国产精品久久久久久超碰 | 日韩免费在线看 | 91一区二区三区久久久久国产乱 | 国内精品久久久久久久久 | 天天插天天干天天操 | 福利av影院| 91在线观看黄 | 黄色福利网 | 婷婷丁香五 | 欧美激情视频三区 | 91天堂影院 | 国产不卡在线观看 | 在线观看资源 | 五月婷婷激情综合网 | 91av原创| 国产精品v a免费视频 | 中文字幕av在线 | 国产亚洲精品成人av久久ww | 丁香一区二区 | 在线国产小视频 | 最近中文字幕国语免费高清6 | 91精品一区二区在线观看 | 激情亚洲综合在线 | 欧美成人精品三级在线观看播放 | 欧美激情视频在线免费观看 | 日韩av快播电影网 | 91欧美日韩国产 | 日韩欧美高清视频在线观看 | 激情网综合 | 免费观看成人av | 超碰97网站 | 一级免费观看 | 91在线小视频 | 久久成电影 | 香蕉视频在线视频 | 国产理论一区二区三区 | 国产日韩一区在线 | 毛片精品免费在线观看 | 久久国产成人午夜av影院潦草 | 日韩成人在线免费观看 | 一级黄色片在线观看 | 免费看片网页 | 97视频免费观看 | 91秒拍国产福利一区 | 亚洲国内精品在线 | 九九天堂 | 日韩三级中文字幕 | 天天舔夜夜操 | 99免费看片 | 五月激情丁香婷婷 | 久久这里只有精品1 | 中文免费| 国产黄在线看 | 国产精品18久久久久久不卡孕妇 | 在线日韩 | 五月天婷婷狠狠 | 免费在线中文字幕 | 亚洲精品视频在线免费播放 | 亚洲成人精品影院 | 日本69hd | 日韩av中文字幕在线免费观看 | 日韩在线观看视频网站 | 国产日韩欧美精品在线观看 | 免费h视频 | 国产精品成人免费精品自在线观看 | 美腿丝袜av | 美女在线观看av | 五月综合| 奇米影视四色8888 | 久久久久国产精品视频 | 一区二区三区中文字幕在线观看 | 国产91国语对白在线 | 美女一区网站 | 日本中文字幕在线视频 | 免费av福利 | 国产高清不卡一区二区三区 | 综合在线色 | 久久综合99| 特级毛片网站 | av性在线| 国产电影一区二区三区四区 | 亚洲精品99久久久久久 | 久久a v电影 | 日韩成人在线免费观看 | 国产视频一区二区在线观看 | 最近中文字幕免费视频 | 国产精品系列在线播放 | 精品女同一区二区三区在线观看 | 久久久精品久久日韩一区综合 | 中日韩在线 | 久久精品国产亚洲aⅴ | 在线精品国产 | 国产精品美女久久久久久久网站 | 国产成人精品久久二区二区 | 免费a v视频 | 国产99久久精品一区二区300 | 国产精品久久久久一区二区国产 | 国产高h视频 | 中文字幕视频一区 | 色婷婷激情五月 | 波多野结衣在线中文字幕 | 狠狠色狠狠色综合系列 | 天堂av在线免费 | 91精品婷婷国产综合久久蝌蚪 | 在线视频 亚洲 | 97天天干| 免费看三级网站 | 一区二区视频在线播放 | 天天操天天干天天爽 | 亚洲毛片视频 | 国产精品免费一区二区三区在线观看 | 国内精品99 | 最新av免费| 国产高清一区二区 | 欧美日韩中文国产一区发布 | 一级性生活片 | 国产精品久久久久久久久大全 | 超碰最新网址 | 色婷婷激情电影 | av线上免费看 | 99精品视频在线观看播放 | 黄色资源在线 | 国产精品美女免费 | 天天激情站 | 欧美老人xxxx18 | 97精品国自产拍在线观看 | 国产一区在线视频 | 精品国产伦一区二区三区观看方式 | 在线激情av电影 | 亚洲国产中文字幕在线视频综合 | 永久黄网站色视频免费观看w | 91精品日韩 | 日韩精品一区二区三区三炮视频 | 日韩精品免费在线播放 | 九九视频免费在线观看 | 欧美日韩一区二区三区免费视频 | 四虎成人精品永久免费av | 精品一区二区三区四区在线 | 免费a网址 | 久久久久久久久久免费 | 婷婷在线免费观看 | 日本aaaa级毛片在线看 | 最新国产精品拍自在线播放 | 狠狠狠狠狠狠狠干 | av7777777| 成年人在线视频观看 | 69久久99精品久久久久婷婷 | 日韩深夜在线观看 | 国产精品一区二区三区视频免费 | 国产视频资源在线观看 | 国产成人一区二区三区电影 | 欧美极品少妇xbxb性爽爽视频 | 成人av电影网址 | 免费人成在线观看 | av成人在线电影 | 色网av| 91麻豆精品国产91久久久使用方法 | 天天爽夜夜爽人人爽一区二区 | 91日韩在线视频 | 午夜视频日本 | 久久久国产一区二区三区四区小说 | 中文字幕 欧美性 | 国产中文字幕一区 | 久久国产精品久久久久 | 日韩视频一区二区 | 一区在线观看 | a天堂一码二码专区 | 亚洲精品高清视频在线观看 | 日韩免费一区二区三区 | 免费在线观看av网址 | 久久精品欧美 | 2021国产在线视频 | 91精品欧美一区二区三区 | 日日夜夜精品 | 亚洲精品视频在线免费播放 | www.色五月.com | 91精品系列 | 91成人免费观看视频 | 午夜精品久久久久99热app | 免费在线观看黄 | 日韩一区二区免费视频 | 日韩欧美国产免费播放 | 在线观看国产亚洲 | 国产久草在线观看 | 草久中文字幕 | 日韩特黄一级欧美毛片特黄 | 91亚洲欧美激情 | 日韩av资源在线观看 | 久青草影院 | 国产夫妻性生活自拍 | 狠狠色伊人亚洲综合网站色 | 日韩有码第一页 | 免费国产亚洲视频 | 九九色在线观看 | 99久久精 | 久久久免费精品 | 国产一区二区精品 | 美女视频久久 | 中文字幕人成乱码在线观看 | 久久精品成人欧美大片古装 | 国产精品久久久久久爽爽爽 | 97超碰在线久草超碰在线观看 | 日本黄色免费网站 | 久久精品第一页 | 永久免费的av电影 | 亚洲国产精品第一区二区 | 色网站在线免费 | 久久精品之 | 91av片| 日日夜夜免费精品 | 中文字幕一区二区三区乱码在线 | 久99久精品 | 国产剧情av在线播放 | 国产精品久久久久aaaa九色 | 国产午夜在线 | 中文字幕一区二 | a色网站| 一区国产精品 | 不卡电影一区二区三区 | 天天摸天天操天天舔 | 国产黄色精品在线 | 久久免费在线视频 | 国产精品美女久久久久久久 | 国产精品一区二区吃奶在线观看 | japanesefreesex中国少妇 | 超碰97av在线 | 国产成人久久久久 | 国产精品18久久久久久不卡孕妇 | 天天操综合 | 亚洲精品美女在线观看 | 久久国产一二区 | 天天综合亚洲 | 久久免费在线 | 99色在线播放 | 久久女同性恋中文字幕 | 国产中文字幕视频在线 | 久99久精品视频免费观看 | 国产日产高清dvd碟片 | 蜜桃麻豆www久久囤产精品 | 色婷婷久久 | 亚洲国产中文字幕在线视频综合 | 狠狠干美女 | av在线播放快速免费阴 | 久久精选 | 毛片视频电影 | 不卡的av中文字幕 | 亚洲精品国产区 | 久久亚洲欧美日韩精品专区 | 日本黄色大片免费看 | 久久久久久久久久久久久国产精品 | 国产在线观看免费观看 | 高清中文字幕 | 丁香六月激情婷婷 | 国产a精品 | 日韩91在线 | 天天干天天拍天天操天天拍 | av综合在线观看 | 日韩资源在线观看 | 免费看高清毛片 | 免费成人黄色 | 欧美日韩大片在线观看 | 久久久久久久久久久影视 | www.少妇| 国产福利久久 | 伊人网综合在线观看 | 久久久国产视频 | 成年人天堂com | 久久在线观看 | 欧美,日韩 | .国产精品成人自产拍在线观看6 | 在线国产福利 | 久久精品麻豆 | 蜜臀久久99精品久久久无需会员 | 天堂av免费 | 911免费视频 | 黄色资源在线 | 国产一区二区高清视频 | 天天干夜夜夜操天 | 六月丁香伊人 | 日本公妇色中文字幕 | 日韩av电影免费在线观看 | 国产精品美乳一区二区免费 | 日韩av网站在线播放 | 中文字幕在线观看第三页 | 韩国三级av在线 | 成人91免费视频 | 在线成人一区 | 特级西西444www大精品视频免费看 | 天天干亚洲 | 国产aaa免费视频 | 成人黄色大片网站 | 一级黄色片在线免费观看 | 国产成人一区二区三区久久精品 | 国产精品 999| 国产精品免费在线播放 | 91av在线播放视频 | 国产高清网站 | 最近日本中文字幕a | 亚洲第一色 | 91| 在线高清一区 | 精品国产一区二区三区久久久久久 | 黄色成人av网址 | 9色在线视频 | 欧美天天射 | 亚洲资源在线网 | 国产无区一区二区三麻豆 | 日韩三级久久 | 久久久久久久久久久综合 | 久久久久国产精品免费免费搜索 | 色综合天天色 | 国产精品入口久久 | 久久99精品久久久久久三级 | 在线看国产一区 | 亚洲综合欧美日韩狠狠色 | 91九色蝌蚪视频在线 | 国产在线视频一区二区 | 亚洲天堂网视频 | 久久天天躁夜夜躁狠狠躁2022 | 国产精品密入口果冻 | 91人人澡人人爽人人精品 | 亚洲日本成人 | 精品国产电影一区 | 99热这里是精品 | 999成人精品| 波多野结衣网址 | 国产精品理论片在线播放 | 日韩欧美在线免费观看 | 国产精品久久一区二区三区不卡 | 色吊丝在线永久观看最新版本 | 91视频三区| 精品a在线 | 久久99电影 | 91精品啪啪| 久久久精品久久 | 天天色视频| 97人人视频 | 精品久久久久免费极品大片 | 视频在线观看99 | 国产综合小视频 | 久久精品资源 | 在线观看视频黄 | 日韩av一区二区在线影视 | 国产一区观看 | 五月情婷婷 | 欧美成人a在线 | 国产精品专区h在线观看 | 福利视频第一页 | 国产在线精品一区二区三区 | 日韩v欧美v日本v亚洲v国产v | 中文字幕五区 | 夜夜爽夜夜操 | 中文字幕区| av电影免费观看 | 特级西西444www大胆高清无视频 | 狠狠狠色丁香婷婷综合久久88 | 视频一区在线播放 | 在线观看国产一区二区 | 国产在线高清视频 | 久久久国产精品成人免费 | 日韩在线资源 | 中文字幕国内精品 | 久久国产精彩视频 | 久久国产精品免费看 | 99高清视频有精品视频 | 精品国产一区二区三区av性色 | 一色av| 水蜜桃亚洲一二三四在线 | 美女在线免费视频 | 天天射天天搞 | 亚洲精品乱码久久久久久久久久 | 亚洲色五月| 一区二区三区高清在线观看 | 久久狠狠婷婷 | 婷婷激情综合五月天 | 亚洲第一区在线播放 | 福利一区二区三区四区 | 中文字幕在线中文 | 精品福利在线 | 9幺看片 | 成人久久久久久久久久 | 国产精品高清一区二区三区 | 在线视频a | 午夜精品久久 | 91丨porny丨九色 | 国产亚洲精品久久久久秋 | 国产无遮挡又黄又爽馒头漫画 | 久久免费视频8 | 国产精品久久久久久五月尺 | 中文字幕乱码一区二区 | 亚洲蜜桃av | 日韩乱色精品一区二区 | 成人动漫视频在线 | 久草影视在线观看 | 特级西西444www高清大视频 | 亚洲激情六月 | 亚洲精品福利在线 | 亚洲美女精品视频 | 激情视频免费在线 | 日韩高清三区 | 黄色毛片一级片 | bbb搡bbb爽爽爽| 91成人国产| 国产九九精品视频 | 亚洲精品资源在线观看 | 99高清视频有精品视频 | 中文字幕 成人 | 亚洲精品小区久久久久久 | 中文字幕 91 | 午夜的福利 | 欧美爽爽爽 | 久久久久久久国产精品影院 | 久久久久国产成人免费精品免费 | 久久中国精品 | 天天色天天干天天色 | 国产91对白在线 | 国产精品日韩在线播放 | 欧美 激情 国产 91 在线 | 免费黄色网址大全 | 亚洲日日日 | 99视频一区 | 人人爽人人看 | 五月天婷婷在线播放 | 天天综合区 | 69国产精品视频 | 亚洲午夜精品福利 | 亚洲国产精品va在线 | 欧美日本国产在线观看 | 丝袜av一区 | 国产麻豆精品在线观看 | 亚洲精品毛片一级91精品 | 国产精品午夜免费福利视频 | 91精品国自产在线观看欧美 | 国产精品久久久久永久免费 | 久久精品一二三 | 国产亚洲婷婷免费 | 播五月综合 | 久久久精品欧美一区二区免费 | a级免费观看 | 久久久久久97三级 | 色av男人的天堂免费在线 | 日日干激情五月 | 婷婷久久一区二区三区 | 日韩在线免费视频观看 | 日本黄色大片免费 | 五月天免费网站 | 麻豆国产网站入口 | 久久久久久综合网天天 | 国产96av | 2023国产精品自产拍在线观看 | 日韩免费观看一区二区三区 | 一区二区高清在线 | 亚洲高清色综合 | www看片网站 | 99麻豆久久久国产精品免费 | 91麻豆精品 | 亚洲成人免费观看 | 久久久久免费网 | 日日操日日操 | 91网站免费观看 | 91在线超碰 | 99视频在线观看免费 | 久久福利小视频 | 亚洲va欧洲va国产va不卡 | 天天操天天摸天天爽 | 国产第一福利 | www国产亚洲精品久久麻豆 | 国产三级午夜理伦三级 | 日韩欧美中文 | 日日夜夜草 | 亚洲精品视频免费在线 | 国产精品久久久久一区二区三区共 | av在线免费观看不卡 | 九九在线高清精品视频 | 麻豆视频国产精品 | 99热在线这里只有精品 | 国产精品久久久久久久午夜 | 国产最新视频在线观看 | 九九在线精品视频 | 在线亚洲激情 | 国产91大片 | 九九九九色|