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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

10-Armv8-A memory model guide

發(fā)布時(shí)間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10-Armv8-A memory model guide 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

        • 1 簡(jiǎn)介
        • 2 內(nèi)存模型是什么,為什么需要它?
        • 3 頁(yè)表中的Describing
          • 3.1. 屬性的層次
          • 3.2. 關(guān)閉MMU
        • 4 內(nèi)存訪問(wèn)排序
        • 5 內(nèi)存類型
        • 6 Normal memory
          • 6.1. 訪問(wèn)排序
          • 6.2. 重新排序
        • 7 Device memory
        • 8 Describing the memory type
        • 9 Cacheability 和 shareability屬性
        • 10 權(quán)限屬性
          • 10.1. 對(duì)非特權(quán)數(shù)據(jù)的特權(quán)訪問(wèn)
          • 10.2. 執(zhí)行權(quán)限
        • 11 Access Flag :訪問(wèn)標(biāo)志
          • 11.1. 更新 AF 位
          • 11.2. Dirty狀態(tài)
        • 12 對(duì)?和大小端
          • 12.1. 對(duì)齊
          • 12.2. 大小端
        • 13 內(nèi)存別名和不匹配的內(nèi)存類型
        • 14 Stage 1 和 Stage 2 的屬性位的結(jié)合
          • 14.1 錯(cuò)誤處理

1 簡(jiǎn)介

本文介紹了 Armv8-A 中的內(nèi)存模型。 它首先解釋描述內(nèi)存的屬性來(lái)自哪里以及它們?nèi)绾畏峙浣o內(nèi)存區(qū)域。 然后介紹可用的不同屬性并解釋內(nèi)存排序的基礎(chǔ)知識(shí)。

此信息對(duì)于開(kāi)發(fā)低級(jí)代碼(如引導(dǎo)代碼或驅(qū)動(dòng)程序)的任何人都很有用。 它與編寫(xiě)代碼來(lái)設(shè)置或管理內(nèi)存管理單元 (MMU) 的任何人都特別相關(guān)。

2 內(nèi)存模型是什么,為什么需要它?

內(nèi)存模型是一種組織和定義記憶行為的方式。 它提供了一種結(jié)構(gòu)和一組規(guī)則,供您在配置如何在系統(tǒng)中訪問(wèn)和使用地址或地址區(qū)域時(shí)遵循。
內(nèi)存模型提供了可以應(yīng)用于地址的屬性,它定義了與內(nèi)存訪問(wèn)順序相關(guān)的規(guī)則。 考慮一個(gè)帶有地址空間的簡(jiǎn)單系統(tǒng),如下圖所示:

地址空間中內(nèi)存區(qū)域的排列稱為地址映射。 在這里,map包含:

  • 內(nèi)存和外圍設(shè)備
  • 內(nèi)存中的代碼和數(shù)據(jù)中
  • 屬于操作系統(tǒng)的資源和屬于用戶應(yīng)用程序的資源

您希望處理器與外設(shè)交互的方式與它應(yīng)該與內(nèi)存交互的方式不同。 您通常希望緩存內(nèi)存,但不想緩存外圍設(shè)備。 緩存是將信息的副本從內(nèi)存存儲(chǔ)到某個(gè)位置(稱為緩存)的行為。 緩存更靠近內(nèi)核,因此內(nèi)核訪問(wèn)速度更快。 同樣,您通常希望處理器阻止用戶訪問(wèn)內(nèi)核資源。 此圖顯示了具有一些您可能希望應(yīng)用于內(nèi)存區(qū)域的不同內(nèi)存屬性的地址映射:

您需要能夠向處理器描述這些不同的屬性,以便處理器適當(dāng)?shù)卦L問(wèn)每個(gè)位置。

3 頁(yè)表中的Describing

虛擬地址空間和物理地址空間之間的映射在一組轉(zhuǎn)換表中定義,有時(shí)也稱為頁(yè)表。 對(duì)于虛擬地址的每個(gè)塊或頁(yè)面,轉(zhuǎn)換表提供相應(yīng)的物理地址和訪問(wèn)該頁(yè)面的屬性。 每個(gè)轉(zhuǎn)換表?xiàng)l目稱為塊或頁(yè)描述符。 在大多數(shù)情況下,屬性來(lái)自這個(gè)描述符。 此圖顯示了一個(gè)示例塊描述符,以及其中的屬性字段:


重要的比特位:

  • SH - The shareable attribute
  • AP - The access permission
  • UXN and PXN – Execution permissions
3.1. 屬性的層次

某些內(nèi)存屬性可以在更高級(jí)別表的表描述符中指定。 這些是分層屬性。 這適用于訪問(wèn)權(quán)限、執(zhí)行權(quán)限和物理地址空間。

如果這些位被設(shè)置,那么它們將覆蓋較低級(jí)別的條目,如果這些位被清除,則較低級(jí)別的條目將不加修改地使用。 一個(gè)例子,使用PXNTable(執(zhí)行權(quán)限)

從 Armv8.1-A 開(kāi)始,您可以禁用對(duì)使用表描述符中的分層屬性設(shè)置訪問(wèn)權(quán)限和執(zhí)行權(quán)限的支持。 這是通過(guò)相關(guān)的 TCR_ELx 寄存器控制的。 禁用時(shí),以前用于分層控制的位可供軟件用于其他用途。

3.2. 關(guān)閉MMU

總而言之,地址的屬性來(lái)自轉(zhuǎn)換表。 轉(zhuǎn)換表位于內(nèi)存中,用于存儲(chǔ)虛擬地址和物理地址之間的映射。 這些表還包含物理內(nèi)存位置的屬性。
轉(zhuǎn)換表由內(nèi)存管理單元 (MMU) 訪問(wèn)。 如果 MMU 被禁用會(huì)發(fā)生什么? 在編寫(xiě)將在重置后立即運(yùn)行的代碼時(shí),這是一個(gè)需要解決的重要問(wèn)題。
當(dāng) Stage 1 MMU 被禁用時(shí):

  • 所有數(shù)據(jù)訪問(wèn)都是 Device_nGnRnE。 我們將在本指南的后面解釋這一點(diǎn)。
  • 所有指令提取都被視為可緩存的。
  • 所有地址都具有讀/寫(xiě)訪問(wèn)權(quán)限并且是可執(zhí)行的。

對(duì)于虛擬化涵蓋的異常級(jí)別,當(dāng)禁用第 2 階段時(shí),將使用未經(jīng)修改的第 1 階段屬性。

4 內(nèi)存訪問(wèn)排序

在我們的指南 Armv8-A 指令集架構(gòu)中,我們介紹了簡(jiǎn)單順序執(zhí)行 (SSE)。 SSE 是指令排序的概念模型。內(nèi)存訪問(wèn)順序和指令順序是兩個(gè)不同但相關(guān)的概念。了解它們之間的區(qū)別很重要。

SSE 描述了處理器執(zhí)行指令的順序??偠灾?#xff0c;現(xiàn)代處理器擁有長(zhǎng)而復(fù)雜的管道。這些流水線通常能夠重新排序指令或并行執(zhí)行多條指令,以幫助它們最大限度地提高性能。 SSE 意味著處理器必須像處理器一次執(zhí)行一條指令一樣,按照它們?cè)诔绦虼a中給出的順序。這意味著硬件對(duì)指令的任何重新排序或多次發(fā)布必須對(duì)軟件不可見(jiàn)。

內(nèi)存排序是關(guān)于內(nèi)存訪問(wèn)在內(nèi)存系統(tǒng)中出現(xiàn)的順序。由于寫(xiě)緩沖區(qū)和緩存等機(jī)制,即使指令按順序執(zhí)行,相關(guān)的內(nèi)存訪問(wèn)也可能不會(huì)按順序執(zhí)行。這就是為什么即使處理器遵循 SSE 模型來(lái)獲取指令,內(nèi)存排序也是一個(gè)需要考慮的重要事項(xiàng)。

5 內(nèi)存類型

系統(tǒng)中所有未被標(biāo)記為故障的地址都被分配了一個(gè)內(nèi)存類型。 內(nèi)存類型是處理器應(yīng)如何與地址區(qū)域交互的高級(jí)描述。 Armv8-A中有兩種內(nèi)存類型:Normal memory和device。
注意:Armv6 和 Armv7 包括第三種內(nèi)存類型:Strongly Ordered。 在 Armv8 中,這映射到 Device_nGnRnE。

6 Normal memory

普通內(nèi)存類型用于任何行為類似于內(nèi)存的東西,包括 RAM、閃存或 ROM。 代碼只能放置在標(biāo)記為 Normal 的位置。 Normal 通常是系統(tǒng)中最常見(jiàn)的內(nèi)存類型,如下圖所示:

6.1. 訪問(wèn)排序

傳統(tǒng)上,計(jì)算機(jī)處理器按照程序中指定的順序執(zhí)行指令。事情按照程序中指定的次數(shù)發(fā)生,并且一次只發(fā)生一次。這稱為簡(jiǎn)單順序執(zhí)行 (SSE) 模型。大多數(shù)現(xiàn)代處理器似乎都遵循此模型,但實(shí)際上,許多優(yōu)化都已應(yīng)用并可供您使用,以幫助提高性能。我們將在這里介紹其中的一些優(yōu)化。

標(biāo)記為 Normal 的位置在訪問(wèn)時(shí)沒(méi)有直接的副作用。這意味著讀取位置只是將數(shù)據(jù)返回給我們,但不會(huì)導(dǎo)致數(shù)據(jù)更改或直接觸發(fā)另一個(gè)進(jìn)程。因此,對(duì)于標(biāo)記為“正?!钡奈恢?#xff0c;處理器可能會(huì):
? 合并訪問(wèn)。代碼可以多次訪問(wèn)一個(gè)位置,或訪問(wèn)多個(gè)連續(xù)的位置。為了效率,允許處理器檢測(cè)這些訪問(wèn)并將這些訪問(wèn)合并為單個(gè)訪問(wèn)。例如,如果軟件多次寫(xiě)入一個(gè)變量,處理器可能只顯示最后一次寫(xiě)入內(nèi)存系統(tǒng)。
? 推測(cè)性地執(zhí)行訪問(wèn)。允許處理器讀取標(biāo)記為“正?!钡奈恢?#xff0c;而無(wú)需軟件特別請(qǐng)求。例如,處理器可能會(huì)根據(jù)先前訪問(wèn)的模式,在軟件請(qǐng)求數(shù)據(jù)之前使用模式識(shí)別來(lái)預(yù)取數(shù)據(jù)。該技術(shù)用于通過(guò)預(yù)測(cè)行為來(lái)加快訪問(wèn)速度。
? 重新排序訪問(wèn)。在內(nèi)存系統(tǒng)中看到的訪問(wèn)順序可能與軟件發(fā)出訪問(wèn)的順序不匹配。例如,處理器可能會(huì)重新排序兩次讀取以允許它生成更有效的總線訪問(wèn)。對(duì)同一位置的訪問(wèn)不能重新排序,但可能會(huì)合并。

想想這些優(yōu)化,比如允許處理器采用技術(shù)來(lái)加速性能和提高電源效率的自由。這意味著 Normal 內(nèi)存類型通常會(huì)提供最佳性能。
注意:允許處理器以這些方式進(jìn)行優(yōu)化,但這并不意味著它總是如此。給定處理器對(duì)這些自由的利用程度取決于其微架構(gòu)。從軟件的角度來(lái)看,您應(yīng)該假設(shè)處理器可能會(huì)執(zhí)行其中的任何一項(xiàng)或全部。

6.2. 重新排序

概括地說(shuō),對(duì)標(biāo)記為“正常”的位置的訪問(wèn)可以重新排序。 讓我們考慮這個(gè)示例代碼,其中包含三個(gè)內(nèi)存訪問(wèn)、兩個(gè)存儲(chǔ)和一個(gè)加載的序列:

如果處理器對(duì)這些訪問(wèn)進(jìn)行重新排序,這可能會(huì)導(dǎo)致內(nèi)存中出現(xiàn)錯(cuò)誤的值,這是不允許的。對(duì)于對(duì)相同字節(jié)的訪問(wèn),必須保持順序。處理器需要檢測(cè)危險(xiǎn)并確保為預(yù)期結(jié)果正確排序訪問(wèn)。
這并不意味著本示例沒(méi)有優(yōu)化的可能性。處理器可以將兩個(gè)存儲(chǔ)合并在一起,向內(nèi)存系統(tǒng)呈現(xiàn)一個(gè)合并的存儲(chǔ)。它還可以檢測(cè)到加載操作來(lái)自存儲(chǔ)指令寫(xiě)入的字節(jié),以便它可以返回新值而無(wú)需從內(nèi)存中重新讀取它。
注意:示例中給出的序列是故意設(shè)計(jì)來(lái)說(shuō)明這一點(diǎn)的。在實(shí)踐中,這些類型的危害往往更加微妙。
還有其他強(qiáng)制排序的情況,例如地址依賴關(guān)系。地址依賴是指加載或存儲(chǔ)使用先前加載的結(jié)果作為地址。在此代碼示例中,第二條指令取決于第一條指令的結(jié)果

LDR X0,[X1] STR X2,[X0] // The result of the previous load is the address in this store.

此示例還顯示了地址依賴關(guān)系,其中第二條指令依賴于第一條指令的結(jié)果:

LDR X0,[X1] STR X2,[X5, X0] // The result of the previous load is used to calculate the address.

在兩次內(nèi)存訪問(wèn)之間存在地址相關(guān)性的情況下,處理器必須保持順序。 此規(guī)則不適用于控制依賴項(xiàng)。 控制依賴是指使用先前加載的值來(lái)做出決定。 此代碼示例顯示了一個(gè)負(fù)載,然后是一個(gè)依賴于負(fù)載值的比較和零分支操作:

LDRX0, [X1] CBZ X0, <somewhere_else> STRX2, [X5][Symbol] // There is a control dependency on X0, this does not guarantee ordering.

在某些情況下,需要在訪問(wèn) Normal 內(nèi)存或訪問(wèn) Normal 和 Device 內(nèi)存之間強(qiáng)制執(zhí)行排序。 這可以使用屏障指令來(lái)實(shí)現(xiàn)

7 Device memory

設(shè)備內(nèi)存類型用于描述外設(shè)。 外設(shè)寄存器通常稱為內(nèi)存映射 I/O (MMIO)。 在這里,我們可以看到在我們的示例地址映射中通常標(biāo)記為設(shè)備的內(nèi)容:

回顧一下,Normal 內(nèi)存類型意味著訪問(wèn)沒(méi)有副作用。對(duì)于設(shè)備類型內(nèi)存,情況正好相反。設(shè)備內(nèi)存類型用于可能產(chǎn)生副作用的位置。

例如,對(duì) FIFO 的讀取通常會(huì)導(dǎo)致它前進(jìn)到下一個(gè)數(shù)據(jù)。這意味著對(duì) FIFO 的訪問(wèn)次數(shù)很重要,因此處理器必須遵守程序指定的內(nèi)容。設(shè)備區(qū)域永遠(yuǎn)不可緩存。這是因?yàn)槟惶赡芟M彺鎸?duì)外圍設(shè)備的訪問(wèn)。

不允許對(duì)標(biāo)記為設(shè)備的區(qū)域進(jìn)行推測(cè)數(shù)據(jù)訪問(wèn)。如果在架構(gòu)上訪問(wèn)該位置,則處理器只能訪問(wèn)該位置。這意味著已在架構(gòu)上執(zhí)行的指令已訪問(wèn)該位置。

說(shuō)明不應(yīng)放置在標(biāo)記為設(shè)備的區(qū)域中。我們建議始終將設(shè)備區(qū)域標(biāo)記為不可執(zhí)行。否則,處理器可能會(huì)推測(cè)性地從中獲取指令,這可能會(huì)導(dǎo)致讀取敏感設(shè)備(如 FIFO)出現(xiàn)問(wèn)題。

注意:這里有一個(gè)很容易被忽略的細(xì)微差別。將區(qū)域標(biāo)記為設(shè)備僅可防止推測(cè)性數(shù)據(jù)訪問(wèn)。將區(qū)域標(biāo)記為不可執(zhí)行可防止推測(cè)性指令訪問(wèn)。這意味著,為了防止任何推測(cè)性訪問(wèn),必須將區(qū)域標(biāo)記為設(shè)備和不可執(zhí)行。

以下對(duì)device memory的類型進(jìn)行總結(jié)

  • Device-nGnRnE : 處理器必須嚴(yán)格按照代碼中內(nèi)存訪問(wèn)來(lái)進(jìn)行、必須嚴(yán)格執(zhí)行program order(無(wú)需重排序)、寫(xiě)操作的ack必須來(lái)自最終的目的地
  • Device-nGnRE : 處理器必須嚴(yán)格按照代碼中內(nèi)存訪問(wèn)來(lái)進(jìn)行、必須嚴(yán)格執(zhí)行program order(無(wú)需重排序)、寫(xiě)操作的ack可以來(lái)自中間的write buffer
  • Device-nGRE : 處理器必須嚴(yán)格按照代碼中內(nèi)存訪問(wèn)來(lái)進(jìn)行、內(nèi)存訪問(wèn)指令可以進(jìn)行重排、寫(xiě)操作的ack可以來(lái)自中間的write buffer
  • Device-GRE : 處理器對(duì)多個(gè)memory的訪問(wèn)是否可以合并、內(nèi)存訪問(wèn)指令可以進(jìn)行重排、寫(xiě)操作的ack可以來(lái)自中間的write buffer


?Gathering和non Gathering(G or nG):表示對(duì)多個(gè)memory的訪問(wèn)是否可以合并,如果是nG,表示處理器必須嚴(yán)格按照代碼中內(nèi)存訪問(wèn)來(lái)進(jìn)行,不能把兩次訪問(wèn)合并成一次。例如:代碼中有2次對(duì)同樣的一個(gè)地址的讀訪問(wèn),那么處理器必須嚴(yán)格進(jìn)行兩次read transaction
?Reordering(R or nR):表示是否允許處理器對(duì)內(nèi)存訪問(wèn)指令進(jìn)行重排。nR表示必須嚴(yán)格執(zhí)行program order
?Early Write Acknowledgement(E or nE):PE訪問(wèn)memory是有問(wèn)有答的(更專業(yè)的術(shù)語(yǔ)叫做transaction),對(duì)于write而言,PE需要write ack操作以便確定完成一個(gè)write transaction。為了加快寫(xiě)的速度,系統(tǒng)的中間環(huán)節(jié)可能會(huì)設(shè)定一些write buffer。nE表示寫(xiě)操作的ack必須來(lái)自最終的目的地而不是中間的write buffer

8 Describing the memory type

9 Cacheability 和 shareability屬性

  • 如果將block的內(nèi)存屬性配置成Non-cacheable,那么數(shù)據(jù)就不會(huì)被緩存到cache,那么所有observer看到的內(nèi)存是一致的,也就說(shuō)此時(shí)也相當(dāng)于Outer Shareable。
    其實(shí)官方文檔,也有這一句的描述:
    在B2.7.2章節(jié) “Data accesses to memory locations are coherent for all observers in the system, and correspondingly are treated as being Outer Shareable”

  • 如果將block的內(nèi)存屬性配置成write-through cacheable 或 write-back cacheable,那么數(shù)據(jù)會(huì)被緩存cache中。write-through和write-back是緩存策略。

  • 如果將block的內(nèi)存屬性配置成 non-shareable, 那么core0訪問(wèn)該內(nèi)存時(shí),數(shù)據(jù)緩存的到Core0的L1 d-cache 和 cluster0的L2 cache,不會(huì)緩存到其它c(diǎn)ache中

  • 如果將block的內(nèi)存屬性配置成 inner-shareable, 那么core0訪問(wèn)該內(nèi)存時(shí),數(shù)據(jù)只會(huì)緩存到core 0和core 1的L1 d-cache中, 也會(huì)緩存到clustor0的L2 cache,不會(huì)緩存到clustor1中的任何cache里。

  • 如果將block的內(nèi)存屬性配置成 outer-shareable, 那么core0訪問(wèn)該內(nèi)存時(shí),數(shù)據(jù)會(huì)緩存到所有cache中

以下也總結(jié)了一下shareable、cacheable屬性對(duì)緩存策略的影響:

Non-cacheablewrite-back
cacheablewrite-through
cacheable
non-shareable數(shù)據(jù)不會(huì)緩存到cache
(對(duì)于觀察則而言,又相當(dāng)于outer-shareable)
core訪問(wèn)該內(nèi)存時(shí),數(shù)據(jù)只緩存的到Core的 cache 中,不會(huì)緩存到其它c(diǎn)ache中同左側(cè)
inner-shareable數(shù)據(jù)不會(huì)緩存到cache
(對(duì)于觀察則而言,又相當(dāng)于outer-shareable)
core訪問(wèn)該內(nèi)存時(shí),數(shù)據(jù)只會(huì)緩存到core的cache和 cluster的 cache中,該地址的TAG也不會(huì)存到snoop filter中,即不會(huì)被其它ACE Master snoop同左側(cè)
outer-shareable數(shù)據(jù)不會(huì)緩存到cache
(對(duì)于觀察則而言,又相當(dāng)于outer-shareable)
core訪問(wèn)該內(nèi)存時(shí),數(shù)據(jù)只會(huì)緩存到core的cache和 cluster的 cache中,該地址的TAG會(huì)存到snoop filter中,會(huì)被其它ACE Master snoop同左側(cè)

10 權(quán)限屬性

訪問(wèn)權(quán)限 (AP) 屬性控制是否可以讀取和寫(xiě)入位置,以及需要什么權(quán)限。下表顯示了 AP 位設(shè)置:

如果訪問(wèn)破壞了指定的權(quán)限,例如對(duì)只讀區(qū)域的寫(xiě)入,則會(huì)生成異常(標(biāo)記為權(quán)限錯(cuò)誤)。

10.1. 對(duì)非特權(quán)數(shù)據(jù)的特權(quán)訪問(wèn)

標(biāo)準(zhǔn)權(quán)限模型是特權(quán)較高的實(shí)體可以訪問(wèn)屬于特權(quán)較低的實(shí)體的任何內(nèi)容。換句話說(shuō),操作系統(tǒng) (OS) 可以看到分配給應(yīng)用程序的所有資源。例如,hypervisor可以查看分配給虛擬機(jī)的所有資源。這是因?yàn)樵诟叩漠惓<?jí)別執(zhí)行意味著特權(quán)級(jí)別也更高。

然而,這并不總是可取的。惡意應(yīng)用程序可能會(huì)試圖欺騙操作系統(tǒng)代表應(yīng)用程序訪問(wèn)數(shù)據(jù),而應(yīng)用程序不應(yīng)該看到這些數(shù)據(jù)。這需要操作系統(tǒng)檢查系統(tǒng)調(diào)用中的指針。
Arm 架構(gòu)提供了幾個(gè)控件來(lái)簡(jiǎn)化此操作。首先,有 PSTATE.PAN(從不特權(quán)訪問(wèn))位。
當(dāng)該位置位時(shí),從 EL1(或 E2H==1 時(shí)的 EL2)加載和存儲(chǔ)到非特權(quán)區(qū)域?qū)a(chǎn)生異常(Permission Fault),如下圖所示:

(注意是在 Armv8.1?A 中添加的PAN。)

PAN 允許對(duì)非特權(quán)數(shù)據(jù)的意外訪問(wèn)被捕獲。例如,操作系統(tǒng)執(zhí)行訪問(wèn)認(rèn)為目的地是特權(quán)的。事實(shí)上,目的地是沒(méi)有特權(quán)的。這意味著操作系統(tǒng)的期望(目的地是特權(quán))和現(xiàn)實(shí)(目的地是非特權(quán)的)之間存在不匹配。這可能是由于編程錯(cuò)誤,也可能是系統(tǒng)受到攻擊的結(jié)果。在任何一種情況下,PAN 都允許我們?cè)谠L問(wèn)發(fā)生之前對(duì)其進(jìn)行捕獲,從而確保安全操作。

有時(shí)操作系統(tǒng)確實(shí)需要訪問(wèn)非特權(quán)區(qū)域,例如,寫(xiě)入應(yīng)用程序擁有的緩沖區(qū)。為了支持這一點(diǎn),指令集提供了 LDTR 和 STTR 指令。

LDTR 和 STTR 是非特權(quán)加載和存儲(chǔ)。即使在 EL1 或 EL2 由操作系統(tǒng)執(zhí)行時(shí),它們也會(huì)根據(jù) EL0 權(quán)限檢查進(jìn)行檢查。因?yàn)檫@些是明確的非特權(quán)訪
問(wèn),所以它們不會(huì)被 PAN 阻止,如下圖所示:

這允許操作系統(tǒng)區(qū)分旨在訪問(wèn)特權(quán)數(shù)據(jù)的訪問(wèn)和預(yù)期訪問(wèn)非特權(quán)數(shù)據(jù)的訪問(wèn)。這也允許硬件使用該信息來(lái)檢查訪問(wèn)。

注意: LDTR 中的 T 代表翻譯。這是因?yàn)榈谝粋€(gè)支持虛擬到物理轉(zhuǎn)換的 Arm 處理器只針對(duì)用戶模式應(yīng)用程序,而不是操作系統(tǒng)。為了讓操作系統(tǒng)訪問(wèn)應(yīng)用程序數(shù)據(jù),它需要一個(gè)特殊的負(fù)載,一個(gè)帶有翻譯的負(fù)載。
當(dāng)然,今天所有軟件都可以看到虛擬地址,但名稱仍然存在。

10.2. 執(zhí)行權(quán)限

除了訪問(wèn)權(quán)限,還有執(zhí)行權(quán)限。這些屬性允許您指定不能從地址獲取指令:

  • UXN. User (EL0) Execute Never (Not used at EL3, or EL2 when HCR_EL2.E2H==0) :EL0不允許執(zhí)行
  • PXN. Privileged Execute Never (Called XN at EL3, and EL2 when HCR_EL2.E2H==0):特權(quán)程序不允許執(zhí)行

有單獨(dú)的 Privileged 和 Unprivileged 位,因?yàn)閼?yīng)用程序代碼需要在用戶空間 (EL0) 中可執(zhí)行,但絕不應(yīng)使用內(nèi)核權(quán)限 (EL1/EL2) 執(zhí)行,如下圖所示:

該架構(gòu)還在系統(tǒng)控制寄存器 (SCTLR_ELx) 中提供控制位,以使所有可寫(xiě)地址都不可執(zhí)行。
具有 EL0 寫(xiě)入權(quán)限的位置永遠(yuǎn)不能在 EL1 上執(zhí)行。注意:請(qǐng)記住,Arm 建議始終將設(shè)備區(qū)域標(biāo)記為從不執(zhí)行 (XN)。

11 Access Flag :訪問(wèn)標(biāo)志

您可以使用訪問(wèn)標(biāo)志 (AF) 位來(lái)跟蹤轉(zhuǎn)換表?xiàng)l目所覆蓋的區(qū)域是否已被訪問(wèn)。你可以設(shè)置AF 位:

  • AF=0. Region not accessed.
  • AF=1. Region accessed.

AF 位對(duì)操作系統(tǒng)很有用,因?yàn)槟梢允褂盟鼇?lái)識(shí)別哪些頁(yè)面當(dāng)前未被使用并且可以被調(diào)出(從 RAM 中刪除)。
注意:訪問(wèn)標(biāo)志通常不用于裸機(jī)環(huán)境,您可以使用預(yù)先設(shè)置的 AF 位生成表。

11.1. 更新 AF 位

當(dāng)使用 AF 位時(shí),會(huì)創(chuàng)建轉(zhuǎn)換表,且 AF 位最初是清零的。當(dāng)一個(gè)頁(yè)面被訪問(wèn)時(shí),它的 AF 位被置位。軟件可以解析表格去檢查 AF 位是設(shè)置還是清除。AF=0表示該頁(yè)面沒(méi)用被訪問(wèn),將其頁(yè)面換出去可能是更好選擇.

有兩種方法可以在訪問(wèn)時(shí)設(shè)置 AF 位:?

  • 軟件更新:訪問(wèn)頁(yè)面會(huì)導(dǎo)致同步異常(Access Flag fault)。在異常處理程序中,軟件負(fù)責(zé)設(shè)置相關(guān)轉(zhuǎn)換表?xiàng)l目中的AF位并返回。
  • 硬件更新:訪問(wèn)頁(yè)面會(huì)導(dǎo)致硬件自動(dòng)設(shè)置 AF 位,而無(wú)需生成異常,此行為需要啟用并已添加到 Armv8.1?A 中。
11.2. Dirty狀態(tài)

Armv8.1?A 引入了處理器管理塊或頁(yè)面的臟狀態(tài)的能力。Dirty狀態(tài)記錄塊或頁(yè)是否已被寫(xiě)入。這很有用,因?yàn)槿绻麎K或頁(yè)面被調(diào)出,Dirty狀態(tài)會(huì)告訴管理軟件是否需要將 RAM 的內(nèi)容寫(xiě)出到存儲(chǔ)中。

例如,讓我們考慮一個(gè)文本文件。該文件最初從磁盤(pán)(閃存或硬盤(pán)驅(qū)動(dòng)器)加載到 RAM 中。當(dāng)它稍后從內(nèi)存中刪除時(shí),操作系統(tǒng)需要知道 RAM 中的內(nèi)容是否比磁盤(pán)上的內(nèi)容更新。如果 RAM 中的內(nèi)容更新,則需要更新磁盤(pán)上的副本。如果不是,則可以刪除 RAM 中的副本。

當(dāng)啟用Dirty狀態(tài)管理時(shí),軟件最初創(chuàng)建轉(zhuǎn)換表?xiàng)l目,并將訪問(wèn)權(quán)限設(shè)置為只讀,并設(shè)置 DBM(Dirty位修飾符)位。如果該頁(yè)面被寫(xiě)入,硬件會(huì)自動(dòng)將訪問(wèn)權(quán)限更新為讀寫(xiě)。

將 DBM 位設(shè)置為 1 會(huì)更改訪問(wèn)權(quán)限位(AP[2] 和 S2AP[1])的功能,以便記錄Dirty狀態(tài)而不是記錄訪問(wèn)權(quán)限。這意味著當(dāng) DBM 位設(shè)置為 1 時(shí),訪問(wèn)權(quán)限位不會(huì)導(dǎo)致訪問(wèn)錯(cuò)誤。

注意:不使用硬件更新選項(xiàng)也可以獲得相同的結(jié)果。該頁(yè)面將被標(biāo)記為只讀,導(dǎo)致第一次寫(xiě)入時(shí)出現(xiàn)異常(權(quán)限錯(cuò)誤)。異常處理程序會(huì)手動(dòng)將頁(yè)面標(biāo)記為可讀寫(xiě),然后返回。如果軟件想要進(jìn)行寫(xiě)時(shí)復(fù)制,則可能仍會(huì)使用此方法。

12 對(duì)?和大小端

12.1. 對(duì)齊

如果地址是元素大小的倍數(shù),則訪問(wèn)被描述為對(duì)?。

對(duì)于 LDR 和 STR 指令,元素大小是訪問(wèn)的大小。例如,一條 LDRH 指令加載一個(gè) 16 位的值,并且必須來(lái)自一個(gè) 16 位的倍數(shù)的地址才能被視為對(duì)?。

LDP 和 STP 指令分別加載和存儲(chǔ)一對(duì)元素。要對(duì)?,地址必須是元素大小的倍數(shù),而不是兩個(gè)元素的組合大小。例如:LDP X0, X1, [X2] .
此示例加載兩個(gè) 64 位值,因此總共 128 位。 X2 中的地址需要是 64 位的倍數(shù)才能被視為對(duì)? . 同樣的原則也適用于向量加載和存儲(chǔ)。

當(dāng)?shù)刂凡皇窃卮笮〉谋稊?shù)時(shí),訪問(wèn)是不對(duì)?的。允許對(duì)標(biāo)記為正常的地址進(jìn)行未對(duì)?的訪問(wèn),但不允許對(duì)設(shè)備區(qū)域進(jìn)行非對(duì)?訪問(wèn)。對(duì)設(shè)備區(qū)域的未對(duì)?訪問(wèn)將觸發(fā)異常(對(duì)?錯(cuò)誤)。

通過(guò)設(shè)置 SCTLR_ELx.A 可以捕獲對(duì)標(biāo)記為 Normal 的區(qū)域的未對(duì)?訪問(wèn)。如果該位置位,對(duì)正常區(qū)域的未對(duì)?訪問(wèn)也會(huì)產(chǎn)生對(duì)?錯(cuò)誤。

12.2. 大小端

在 Armv8?A 中,指令提取始終被視為小端

對(duì)于數(shù)據(jù)訪問(wèn),是否支持 little?endian 和 big?endian 由實(shí)現(xiàn)定義。如果只支持一個(gè),則由實(shí)現(xiàn)定義支持哪一個(gè)。

對(duì)于同時(shí)支持大端和小端的處理器,字節(jié)序是按異常級(jí)別配置的。

注意:如果您不記得 IMPLEMENTATION DEFINED 的定義,請(qǐng)閱讀介紹 Arm 架構(gòu)。Arm Cortex?A 處理器同時(shí)支持大端和小端。

13 內(nèi)存別名和不匹配的內(nèi)存類型

當(dāng)物理地址空間中的給定位置有多個(gè)虛擬地址時(shí),這稱為別名。

屬性基于虛擬地址。這是因?yàn)閷傩詠?lái)自翻譯表。當(dāng)一個(gè)物理位置有多個(gè)別名時(shí),所有虛擬別名都必須具有兼容的屬性,這一點(diǎn)很重要。我們將兼容描述為:

  • Same memory type, and for Device the same sub-type
  • For Normal locations, the same cacheability and shareability

如果屬性不兼容,則內(nèi)存訪問(wèn)的行為可能與您預(yù)期的不同,這可能會(huì)影響性能。

此圖顯示了別名的兩個(gè)示例。位置 A 的兩個(gè)別名具有兼容的屬性。這是推薦的方法。位置 B 的兩個(gè)別名具有不兼容的屬性(Normal 和 Device),這會(huì)對(duì)一致性和性能產(chǎn)生負(fù)面影響:

Arm 強(qiáng)烈建議軟件不要將不兼容的屬性分配給同一位置的不同別名。

14 Stage 1 和 Stage 2 的屬性位的結(jié)合

使用虛擬化時(shí),虛擬地址要經(jīng)過(guò)兩個(gè)轉(zhuǎn)換階段。一個(gè)階段在操作系統(tǒng)的控制下,另一階段在管理程序的控制下。 Stage 1 和 Stage 2 表都包含屬性。這些是如何結(jié)合的?

下圖顯示了一個(gè)示例,其中階段 1 將位置標(biāo)記為device,但相應(yīng)的階段 2 轉(zhuǎn)換標(biāo)記為normal。結(jié)果類型應(yīng)該是什么?

在 Arm 架構(gòu)中,默認(rèn)是使用最嚴(yán)格的類型。在此示例中,Device 比 Normal 更嚴(yán)格。因此,生成的類型是 Device。

對(duì)于類型和可緩存性,附加控件 (HCR_EL2.FWB) 允許覆蓋此行為。設(shè)置 FWB 后,Stage 2 可以覆蓋 Stage 1 的類型和可緩存性設(shè)置,而不是組合行為。
(注意: HCR_EL2.FWB 是在 Armv8.4?A 中引入的。)

14.1 錯(cuò)誤處理

我們先看一下 下圖的兩個(gè)示例;

在這兩個(gè)示例中,結(jié)果屬性都是 RO(只讀)。如果軟件要寫(xiě)入位置,則會(huì)產(chǎn)生錯(cuò)誤(權(quán)限錯(cuò)誤)。但是,在第一種情況下,這是一個(gè)階段 1 故障,而在第二種情況下,這將是一個(gè)階段 2 故障。在該示例中,階段 1 故障將發(fā)送到 EL1 的操作系統(tǒng),而階段 2 故障將發(fā)送到 EL2 并由管理程序處理。

最后,我們來(lái)看一個(gè) Stage 1 和 Stage 2 屬性相同的例子:

在這里,結(jié)果屬性很簡(jiǎn)單。是 R0。但如果軟件寫(xiě)入該位置,是否會(huì)產(chǎn)生階段 1 或階段 2 故障?答案是第 1 階段。如果第 1 階段和第 2 階段會(huì)引發(fā)不同的故障類型,這也是正確的。階段 1 故障總是優(yōu)先于階段 2 故障。

總結(jié)

以上是生活随笔為你收集整理的10-Armv8-A memory model guide的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲乱码精品久久久久 | 97视频免费观看2区 亚洲视屏 | 中文字幕在线观看1 | 在线免费观看国产视频 | 天天看天天干 | 99久久精品国产毛片 | 亚洲精品91天天久久人人 | 国产欧美最新羞羞视频在线观看 | 亚洲五月婷婷 | 91精品老司机久久一区啪 | 日本 在线 视频 中文 有码 | 成年人免费av网站 | 日日夜精品 | 欧洲精品在线视频 | 欧美一级性生活视频 | 亚洲精品麻豆 | 亚洲精品资源 | 久久99视频 | 国产一区二区三区免费在线观看 | 中文字幕免费国产精品 | 人人澡澡人人 | 一级黄色网址 | 国产亚洲va综合人人澡精品 | 国产一区欧美日韩 | 欧美精品二区 | av网站在线免费观看 | 91热视频 | 国产毛片久久 | 黄色片网站av | 国产精品免费一区二区三区 | 激情婷婷综合网 | 在线看黄色的网站 | 狠狠操精品 | 一区二区高清在线 | 国产高清中文字幕 | 久久精品国亚洲 | 91精品国产电影 | 国产精品久久毛片 | 免费看国产黄色 | 天天天射 | 玖玖玖在线 | 国产精品入口a级 | 在线观看成人福利 | 91亚洲影院 | 天天色天天色天天色 | 色婷婷在线观看视频 | 久久精精品 | 香蕉在线播放 | 一区二区三区日韩精品 | 999久久 | 69久久久 | 欧美性大战| 久久国内免费视频 | 国产精品久久久久久久午夜 | 999国产精品视频 | 精品国产一区二区三区噜噜噜 | 国产精品男女视频 | 超级碰视频 | 国产资源中文字幕 | 九九一级片 | 欧美日韩国产色综合一二三四 | 精品国产一区二区三区久久久 | 亚洲天堂社区 | 国产一级免费播放 | 欧美特一级片 | 啪嗒啪嗒免费观看完整版 | 黄色毛片视频 | 国产精品欧美日韩 | 免费黄色网止 | 久久精品网站免费观看 | www.色婷婷| 色多多视频在线观看 | 亚洲精品欧美成人 | 久久久久亚洲精品国产 | 天天色视频 | 午夜久久久精品 | 国产精品毛片一区二区 | 久久久久久久毛片 | 99精品久久99久久久久 | 午夜精品久久久久久99热明星 | 精品一区av | 久久精品99国产精品亚洲最刺激 | 中文字幕在线有码 | 免费精品 | 91一区啪爱嗯打偷拍欧美 | 亚洲精品乱码久久久久久久久久 | 黄色网免费 | 一区二区三区三区在线 | 日韩精品在线播放 | 91精品国产福利在线观看 | www.亚洲精品视频 | 激情黄色av | 亚洲精品三级 | 欧美 日韩 久久 | 日韩欧美一区二区三区在线 | 国产精品乱码久久久久 | 亚洲婷久久 | 日韩精品播放 | 免费视频国产 | 国产亚洲精品久久久久久电影 | 成人免费观看电影 | 成年美女黄网站色大片免费看 | 欧洲色吧| 美女精品国产 | 一区二区影院 | www天天操| 在线观看爱爱视频 | 亚洲国产黄色片 | 久久久久久久久久久精 | 欧美在线1 | 毛片永久免费 | 色综合www| 午夜资源站 | 不卡电影一区二区三区 | 久章草在线观看 | 欧美一二在线 | 欧美日韩电影在线播放 | 在线观看免费成人av | 国产午夜精品久久久久久久久久 | 日韩精品一区二区三区高清免费 | 激情五月开心 | 中文字幕在线网址 | 亚洲美女视频网 | 久久综合亚洲鲁鲁五月久久 | 久久婷婷五月综合色丁香 | 色婷婷国产精品一区在线观看 | 国产一区欧美日韩 | 久久av在线 | 日韩在线字幕 | 亚洲视屏 | 日韩精品欧美精品 | 麻豆视频网址 | 色播五月激情五月 | 免费在线国产精品 | 久久国产精品区 | 国产黄色片在线免费观看 | 欧洲精品码一区二区三区免费看 | 色在线视频| 性色av一区二区 | 国产精品一区专区欧美日韩 | 久久精品综合 | 免费黄色a网站 | 国产精品自产拍在线观看网站 | 亚洲视频 在线观看 | 国产偷v国产偷∨精品视频 在线草 | 日韩精品一二三 | 精品99999| 色一级片 | 中文字幕乱码电影 | 国产黄视频在线观看 | 国产精品一区二区吃奶在线观看 | 97视频久久久| 国产视频精品网 | 久久久久久激情 | 久久国产美女 | 久久99免费观看 | h视频日本| 最近中文字幕高清字幕免费mv | 探花视频在线版播放免费观看 | 日韩免费网址 | 日本久久片 | 午夜丁香网| 涩涩伊人 | 久久久99精品免费观看乱色 | 日韩电影久久久 | 久久66热这里只有精品 | 久久伊人色综合 | 亚洲第一av在线 | 免费观看福利视频 | 91女神的呻吟细腰翘臀美女 | 欧洲黄色片 | 99热国产精品 | 青青河边草免费视频 | 精品人人人人 | 久久久久久黄色 | 久久婷亚洲五月一区天天躁 | 六月丁香久久 | 国产一级片网站 | 一区二区伦理电影 | 日韩区欠美精品av视频 | 在线视频观看你懂的 | 国色综合| 国产成人综合精品 | 亚洲免费专区 | 久久精品国产一区 | 亚洲黄色免费在线看 | 岛国片在线| 日韩综合色| www.夜夜骑.com| 国产污视频在线观看 | 久久久久国产精品午夜一区 | 综合久久久久 | 欧美日韩国产一区二区三区在线观看 | 国产一性一爱一乱一交 | 亚洲成人家庭影院 | 免费一级片视频 | 国产精品99久久久久久有的能看 | 亚洲成人精品av | 国产精品国内免费一区二区三区 | 日本夜夜草视频网站 | 国产乱对白刺激视频不卡 | 欧美另类成人 | 一区二区三区中文字幕在线 | 人人要人人澡人人爽人人dvd | 玖玖视频在线 | 九九热免费视频在线观看 | 亚洲国产99| 欧美日本国产在线观看 | 国产人免费人成免费视频 | 国产一级黄色av | 四虎成人精品在永久免费 | 亚洲国产黄色片 | 国产精品网红直播 | 色网站在线观看 | 日韩小视频网站 | 日韩午夜一级片 | av中文字幕日韩 | 亚洲精品在线一区二区 | 日韩在线观看中文 | 欧美性精品 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产精品不卡在线观看 | 国产麻豆精品久久 | 国产精品久久久久久久久免费 | 亚洲国产精品第一区二区 | 国产一区二区在线播放视频 | 久久9999久久免费精品国产 | 欧美极品在线播放 | 国产精品99久久免费观看 | 五月婷婷丁香色 | 欧美黑吊大战白妞欧美 | 天天综合操 | 97超碰人 | 欧美在线视频一区二区三区 | 婷婷激情综合 | 福利视频一区二区 | 激情电影在线观看 | 久久亚洲欧美日韩精品专区 | 又黄又爽又刺激 | 久久综合九色九九 | 亚洲伊人av | 国产精品久久久久久久午夜片 | 九九视频精品免费 | 国产精品自在线 | 99视频国产精品免费观看 | 精品女同一区二区三区在线观看 | 91中文字幕永久在线 | 亚洲日韩欧美一区二区在线 | 亚洲激情在线观看 | 日韩免费福利 | 中文字幕色婷婷在线视频 | 精品久久视频 | 国产乱视频 | 97成人在线观看视频 | 一级特黄aaa大片在线观看 | 国产区精品视频 | 国产91aaa | 五月天六月婷 | 欧美日韩国产伦理 | 亚洲激情综合 | 成人动漫一区二区三区 | 中文字幕精品视频 | 日韩激情一二三区 | 97视频在线观看免费 | 在线免费观看视频一区二区三区 | 91日韩免费 | 日本在线观看一区二区 | 91自拍视频在线观看 | 国产性xxxx| 国产98色在线 | 日韩 | www.久草.com | 色婷婷狠狠 | 在线看成人 | 日日夜av| 免费色婷婷 | 欧美日韩不卡在线观看 | 欧美精品久久99 | 96av在线| 在线观看国产福利片 | 最近更新中文字幕 | 天天干天天干天天 | 国产亚洲一区 | 懂色av一区二区三区蜜臀 | 在线免费观看黄色大片 | 国产成人一区二区啪在线观看 | 狠狠久久伊人 | 精品乱码一区二区三四区 | 中文字幕文字幕一区二区 | 天天干天天操天天搞 | 国产精品毛片一区视频播 | 日韩电影一区二区在线观看 | 亚洲爽爽网 | 99爱视频 | 人人澡人人模 | 日韩视频免费在线观看 | 在线电影 一区 | 久草电影网 | 亚洲精品视频大全 | 天天摸天天干天天操天天射 | 五月天堂网 | 天天操天天拍 | 日本中文不卡 | 亚洲午夜精品一区二区三区电影院 | 亚洲综合精品视频 | 超碰人人乐 | 麻豆国产精品永久免费视频 | 在线黄色免费 | 中文字幕电影网 | 玖玖视频国产 | 国模精品一区二区三区 | 久久免费播放 | 最近在线中文字幕 | 国产精品久久久久一区二区三区 | 69亚洲乱| 久久天天躁狠狠躁亚洲综合公司 | 国产小视频网站 | 国产日产精品一区二区三区四区的观看方式 | 国产成人精品久久亚洲高清不卡 | 精品国产一区二区三区四区vr | 97在线观看免费视频 | 婷婷日| 国产视频在线观看一区 | 欧美一级性 | 免费看污片 | 毛片一区二区 | 日韩精品视 | 成人一级片在线观看 | 精品久久在线 | 97视频在线免费 | 婷婷中文字幕在线观看 | 在线观看中文字幕 | 人人澡超碰碰 | 日韩欧美视频免费看 | 久草在线久 | 亚洲一区二区高潮无套美女 | 婷婷色伊人 | 激情视频免费在线观看 | 五月婷亚洲 | 黄色网大全 | 亚洲精品中文字幕在线观看 | 欧美国产亚洲精品久久久8v | 成人午夜片av在线看 | 天天爱天天射 | 丁香六月激情 | 中文字幕在线观看一区二区 | 五月婷综合网 | 97在线精品视频 | 天堂va在线高清一区 | 精品国产乱码一区二 | 国产黄色片久久 | 色网免费观看 | 亚洲成人资源在线观看 | 国产午夜精品视频 | 伊人热| 97精品国产97久久久久久久久久久久 | 国产精品久久久久av | 高潮久久久久久 | 久久久久9999亚洲精品 | 久久久国产一区二区 | 97色婷婷人人爽人人 | 免费大片黄在线 | 成人黄色大片在线免费观看 | 国产高清在线a视频大全 | 国产成人精品亚洲精品 | 欧美一区二区在线看 | 亚洲国产精品500在线观看 | 欧美国产日韩中文 | 亚洲经典视频 | av在线免费不卡 | 国内三级在线观看 | 一区二区三区精品在线视频 | 久久久久久麻豆 | 在线观看理论 | 人人爽人人爽人人爽学生一级 | 黄色av网站在线观看免费 | 成人免费网站在线观看 | 91麻豆精品久久久久久 | 成人久久精品视频 | av无限看 | 婷婷网址 | 久久免费大片 | 国产资源免费在线观看 | 日日碰狠狠躁久久躁综合网 | 日韩视频免费观看高清完整版在线 | 在线观看v片 | 久久这里只精品 | 国产一区二区三区视频在线 | 91大神精品视频在线观看 | 日韩精品一区二区免费视频 | 日日狠狠 | 97超碰在线免费观看 | 狠狠色丁香婷婷综合基地 | 久久精品日产第一区二区三区乱码 | 国产精品毛片一区 | 激情视频免费观看 | 欧美日韩三级在线观看 | 99国产精品免费网站 | 免费看的黄色录像 | 国产高清视频在线播放一区 | 精品久久1 | 高清av中文字幕 | 天天爱天天射天天干天天 | 操天天操 | 久久精品欧美一区二区三区麻豆 | 国产一区视频免费在线观看 | 久久成人一区 | 国产婷婷色 | av在线不卡观看 | 亚洲电影影音先锋 | 在线久草视频 | 久草免费色站 | 免费看国产曰批40分钟 | 99精品一区二区 | 欧美性久久久久久 | 欧美片一区二区三区 | 精品美女在线观看 | 亚洲乱码精品 | 久久av福利 | 一级黄色片毛片 | 深爱激情婷婷网 | 国产剧情一区二区在线观看 | 91视频午夜 | 精品资源在线 | 国产黄色精品在线 | 久久人人做 | 欧美少妇xxxxxx| 精品久久久久国产免费第一页 | 国产成人av电影在线观看 | www.一区二区三区 | 五月婷婷一区 | 97热视频 | 国产一区成人 | 久久99视频免费 | 国产尤物一区二区三区 | 欧美成人精品三级在线观看播放 | 欧美激情精品久久久久久免费 | 九九免费在线看完整版 | 五月婷婷一区 | 四虎影视精品 | 欧美韩国在线 | 国产免费视频在线 | 久久视频在线免费观看 | 免费网站看v片在线a | 在线看国产日韩 | 国产精品成人久久久久 | 在线免费观看视频你懂的 | 97成人精品区在线播放 | 国产一区免费观看 | 人人澡人人模 | 国产99久久 | 国产视频在线播放 | 在线观看免费高清视频大全追剧 | 国产在线国偷精品产拍 | 91福利小视频 | 久久国产精品免费观看 | 色综合久久综合网 | 中文字幕免费高 | 亚洲激情综合 | 中文字幕丝袜一区二区 | 97av超碰 | 日本最新中文字幕 | 亚洲精品大片www | 国产精品国产毛片 | 看全黄大色黄大片 | 伊人婷婷色 | 欧美日韩国产在线一区 | 婷婷丁香花五月天 | 国产探花视频在线播放 | 亚洲中字幕 | 国产高清在线观看av | 国产免费av一区二区三区 | 麻豆va一区二区三区久久浪 | 国产精品久久婷婷六月丁香 | 又黄又爽免费视频 | 探花国产在线 | 中文字幕在线观看第一页 | 久久久久久久久久电影 | 午夜av色| 亚洲专区中文字幕 | 天天伊人网 | 国产高清区| 久久不卡电影 | 久久久久国产成人精品亚洲午夜 | 久久狠狠一本精品综合网 | 91最新中文字幕 | 五月天国产 | 亚洲日本中文字幕在线观看 | 最近最新中文字幕视频 | 视频在线91 | av免费黄色 | 欧美一级淫片videoshd | 91激情视频在线 | av高清在线观看 | 色偷偷88888欧美精品久久久 | 天天玩天天操天天射 | 精品国产中文字幕 | 免费观看版| 国产精品私人影院 | 一区二区三区四区久久 | 日韩精品视频久久 | 日本在线观看一区二区三区 | 久久资源在线 | 玖玖视频精品 | a久久久久久| 亚洲欧美视频一区二区三区 | 成人免费观看大片 | 伊人va| 一级a性色生活片久久毛片波多野 | 五月婷婷色丁香 | 人人舔人人爽 | 男女激情片在线观看 | 亚洲欧洲一区二区在线观看 | 亚洲国产精品成人av | 国产福利午夜 | 欧美在线观看小视频 | 日韩精品视频久久 | 成人理论在线观看 | 美女黄久久 | www.色午夜.com | 免费在线观看成人av | 国产精品久久久久久久99 | 国产理论免费 | 最近中文字幕久久 | 亚洲香蕉在线观看 | 丁香婷婷射 | 免费色网| 久久综合九色 | 毛片在线播放网址 | 国产麻豆电影 | 国产在线播放不卡 | www.99在线观看 | 中文字幕你懂的 | 超碰电影在线观看 | 久久免费黄色大片 | 日韩精品一区二区在线视频 | av丝袜美腿 | 免费在线国产精品 | 69久久夜色精品国产69 | 久草在线资源免费 | 欧美日韩中文在线视频 | 激情综合啪啪 | 91精品在线视频观看 | 国产精品18久久久久久久久久久久 | 狠狠色丁香婷婷综合久久片 | 久久99久久99精品免费看小说 | 高清不卡一区二区在线 | 婷婷六月在线 | 欧美精品中文在线免费观看 | 亚洲精品在线观看免费 | www.夜夜草| 久久精品精品电影网 | 国产成视频在线观看 | 日韩欧美精品在线观看视频 | 午夜久久久精品 | 国产福利在线不卡 | 男女全黄一级一级高潮免费看 | 黄污在线看 | 亚洲男女精品 | 国产特级毛片aaaaaa毛片 | 欧美小视频在线观看 | 精品一区二区三区久久 | 夜夜爽天天爽 | 久久看片网站 | 伊人亚洲综合网 | 久久99久久99精品免费看小说 | 91精品久久久久久综合乱菊 | 久久精品视频在线观看免费 | 欧美a视频| a级片久久久| 麻豆传媒电影在线观看 | 欧美日本三级 | 亚洲视频第一页 | 麻豆系列在线观看 | 亚洲精品自在在线观看 | 亚洲精品久久久久中文字幕二区 | 久久a级片 | 久香蕉 | 精品uu | 黄网站www | 99久久久久国产精品免费 | 亚洲精品乱码久久久久久久久久 | 亚洲乱码国产乱码精品天美传媒 | 久久综合色影院 | 在线91色| 久久免视频 | 亚洲国产精品视频 | 四虎影视精品 | 精品无人国产偷自产在线 | 四虎在线永久免费观看 | 在线影视 一区 二区 三区 | 九九天堂 | 视频二区在线 | 在线观看国产麻豆 | 最新中文在线视频 | 摸阴视频 | 欧美在线18 | 久久久免费 | 日韩av中文在线 | 91九色国产在线 | 欧美激情精品久久久久久免费印度 | 在线观看av的网站 | 毛片网站在线观看 | 日日操网站 | 国产一级淫片在线观看 | 91人人射| 久久免费视频网 | 日韩视频一区二区三区 | 韩国精品视频在线观看 | 成人精品影视 | 久久成人国产精品入口 | 九九久久精品视频 | 亚洲人成免费网站 | 中文字幕中文字幕在线中文字幕三区 | 精品国产诱惑 | 天天拍夜夜拍 | 91精品国自产在线偷拍蜜桃 | 精品久久久久久久久久久久久久久久久久 | 国产一级片不卡 | 日韩有码专区 | 日本精品在线视频 | 黄网站色欧美视频 | 日韩精品欧美视频 | 久草在线观看资源 | 日韩激情第一页 | 女人久久久久 | 免费在线观看视频一区 | 免费看黄色小说的网站 | 日本高清久久久 | 欧美色综合天天久久综合精品 | 99久久婷婷国产一区二区三区 | 91福利区一区二区三区 | 国产一级做a爱片久久毛片a | av成人动漫在线观看 | av三区在线 | 天堂久久电影网 | 91精品在线麻豆 | 成年人电影免费在线观看 | av大全免费在线观看 | 99久热在线精品视频观看 | 国产精品9999 | 96久久 | 日本在线观看黄色 | 美女很黄免费网站 | 亚洲欧美在线综合 | 深夜激情影院 | 9999在线视频 | 日韩激情av在线 | 日韩动漫免费观看高清完整版在线观看 | 久久伊人免费视频 | 国产成人精品一区二区在线 | 97色在线观看免费视频 | 天天摸天天操天天舔 | 久草在线视频在线 | 免费日韩 精品中文字幕视频在线 | 久久久久久综合网天天 | 精品国产乱码久久久久久久 | 天天综合在线观看 | 一区二区三区在线影院 | 久久大片 | 粉嫩av一区二区三区四区 | 久久夜av| 日韩xxx视频 | 国内久久精品 | 国产亚洲精品精品精品 | 色婷婷激情电影 | 亚洲精品男人天堂 | 激情在线五月天 | 欧美a在线看 | 97在线播放| 久久久综合电影 | 日韩欧美在线不卡 | av视屏在线播放 | 久久婷婷精品 | 国产伦理一区 | 操处女逼 | 精精国产xxxx视频在线播放 | 97色视频在线 | 日韩美在线 | 99久久精品午夜一区二区小说 | 成人av网页 | 久久毛片高清国产 | 国产色拍拍拍拍在线精品 | 超碰99在线 | 美女一区网站 | 久久久久国产成人免费精品免费 | 视频在线99re | 91免费观看国产 | 尤物97国产精品久久精品国产 | 热久久电影 | 亚洲男人天堂a | 久久精品视频网站 | 狠狠干婷婷色 | 久久视影| 91av视频 | 午夜av电影| 在线观看视频免费播放 | 伊人久久电影网 | 亚洲在线成人精品 | 91色网址 | 人人添人人澡人人澡人人人爽 | 中文字幕在线影院 | 天天综合网 天天 | 精品影院一区二区久久久 | 成人一区二区三区在线 | 99免费在线观看视频 | 国产色女 | 婷婷丁香激情 | 狠狠躁夜夜躁人人爽视频 | 狠狠干天天 | 久草香蕉在线 | 色橹橹欧美在线观看视频高清 | 欧美精品久久久久久久久老牛影院 | 高清中文字幕av | 国产在线中文 | 国际av在线 | 青春草视频 | 午夜123| 91一区二区三区久久久久国产乱 | 99久久精品无码一区二区毛片 | 99热这里是精品 | 国产精品免费不卡 | 久久超碰网 | 99热在| 久久久99精品免费观看 | 日韩精品视频免费专区在线播放 | 天堂av免费观看 | 韩国av免费观看 | 久久久私人影院 | 国产手机精品视频 | 日韩电影在线观看一区二区三区 | 国产高清亚洲 | 一区二区三区日韩在线观看 | 免费看三级黄色片 | 国产精品久久久久久电影 | 欧美一区二区三区在线观看 | 精品国模一区二区 | 久久成人毛片 | 亚洲免费高清视频 | 97成人精品视频在线播放 | 久久黄色网 | 97av视频在线观看 | www.人人草| 97在线播放 | 高清不卡免费视频 | 国产精品理论片在线播放 | 香蕉影院在线 | 人人草人| 色五月色开心色婷婷色丁香 | 成人av免费在线 | 亚洲国产免费看 | 日本视频不卡 | 91mv.cool在线观看 | 欧美黑人猛交 | 99在线免费视频 | 99色在线播放 | 91在线视频免费观看 | 久久dvd | av免费观看网址 | 久久久久久久久毛片 | 中文字幕在线观看亚洲 | 99久e精品热线免费 99国产精品久久久久久久久久 | 成人免费视频视频在线观看 免费 | 中文字幕在线观看亚洲 | 九九九在线观看 | 人人爱人人舔 | 亚洲欧美视屏 | 欧美黄色高清 | 国产精品18久久久久vr手机版特色 | 国产淫片 | 丝袜制服综合网 | 蜜臀av性久久久久av蜜臀妖精 | 国产精品成人品 | 国产精品区二区三区日本 | 狠狠黄 | 欧美精品在线观看 | 激情婷婷在线 | 黄色免费在线视频 | 国产青春久久久国产毛片 | 俺要去色综合狠狠 | 9在线观看免费高清完整版 玖玖爱免费视频 | 中文乱幕日产无线码1区 | 久久免费国产 | 久久8| 中文字幕在线观看一区二区三区 | 日日操日日插 | 成人影片在线免费观看 | 狠狠色丁香婷婷综合最新地址 | 精品在线观看一区二区三区 | 亚洲精品动漫在线 | 黄色av电影在线 | 国产精品18videosex性欧美 | 中文字幕综合在线 | 精品国产乱码一区二区三区在线 | 久久久婷 | av国产网站 | 国产精品免费久久久久 | 欧美精品久久人人躁人人爽 | 欧美成人基地 | 亚洲日日日 | 黄色影院在线免费观看 | 波多野结衣在线观看视频 | 91麻豆精品国产 | av在线免费网 | 99 视频 高清 | 亚洲视频分类 | 欧美一区二区三区免费看 | 国产精品成人av久久 | 国产99久久 | 最新国产福利 | 天天操天天干天天操天天干 | 五月av在线 | 亚洲免费公开视频 | 午夜丁香网 | 美女视频一区二区 | 国产黄色片久久久 | av不卡中文字幕 | 99在线免费观看视频 | 一本一道久久a久久精品蜜桃 | 午夜精品一区二区三区在线视频 | 在线观看视频三级 | 一级一级一片免费 | 99久久久久久 | 精品国产中文字幕 | 在线视频99 | 亚洲国内在线 | 欧美视频99| 一区二区三区精品在线视频 | 国产成人精品999 | 日日婷婷夜日日天干 | 中文字幕第一 | 国产日产欧美在线观看 | 99tvdz@gmail.com | 国产麻豆剧果冻传媒视频播放量 | 天天天天天天天操 | 免费观看黄 | 中文在线中文a | 精品美女久久 | 一二三精品视频 | 激情久久伊人 | 欧美日韩有码 | 涩涩成人在线 | 久久久一本精品99久久精品66 | 欧美一区三区四区 | 日本精品一区二区三区在线观看 | 五月综合婷 | 久久综合九色99 | 韩日色视频| 狠狠狠色丁香婷婷综合激情 | 久久国产精品一二三区 | 中文字幕在线乱 | 国产99久久 | av在线播放快速免费阴 | 999超碰| 在线免费高清视频 | 高清一区二区 | 久久综合色一综合色88 | 少妇bbr搡bbb搡bbb | 在线观看视频免费播放 | 天天干天天草 | 国产精品成人在线观看 | 日韩欧美一区二区三区视频 | 国产精品一区二区三区视频免费 | 狠狠躁夜夜躁人人爽超碰91 | 天天射,天天干 | 91爱爱免费观看 | 亚洲欧洲成人精品av97 | 日韩高清国产精品 | 99视频在线精品国自产拍免费观看 | 久久成人一区 | 国产精彩视频一区二区 | 岛国大片免费视频 | 亚洲欧美在线视频免费 | 欧美精品天堂 | 美女国内精品自产拍在线播放 | 日韩精品无| 日韩av一区二区在线播放 | 国产精品久久久久久久婷婷 | 新av在线| 亚洲精品在线资源 | 日韩欧美一区二区三区免费观看 | 久久er99热精品一区二区三区 | 丝袜美腿在线播放 | 婷婷亚洲五月 | 韩国三级在线一区 | 日韩久久精品一区二区 | 国产精品99久久久久久武松影视 | 日韩精品一区二区三区水蜜桃 | 精品99999| 亚洲国产免费看 | 欧美日韩在线播放一区 | 免费观看v片在线观看 | 国产成人精品免高潮在线观看 | 午夜av不卡| 免费看片成人 | 国产在线理论片 | 亚洲天天摸日日摸天天欢 | 99国内精品 | 国产精品一区二区精品视频免费看 | 女人18片| 欧美日韩在线免费观看视频 | 久久精品国产成人精品 | 中文字幕在线观看你懂的 | 最近中文字幕mv | 少妇做爰k8经典 | 国产美女精品视频 | 91免费黄视频 | 国产精品成人aaaaa网站 | 欧美日韩高清一区 | 成人一区二区三区在线观看 | 夜夜躁日日躁 | 在线国产精品视频 | 超碰人人在线观看 | 一区二区免费不卡在线 | 欧美巨乳网 | av在线8 | 欧美a级成人淫片免费看 | 国产婷婷色 | 日韩av一区在线观看 | 国产 字幕 制服 中文 在线 | 国产免费久久av | 欧美天天干 | 亚洲综合国产精品 | 免费看的国产视频网站 | 国产在线第三页 | 99一区二区三区 | 91完整版 | 99在线热播精品免费99热 | 九九av | 欧美日韩免费观看一区=区三区 | 国产中文字幕视频在线观看 | 中文在线免费观看 | 天天色天天操综合网 | 日本亚洲国产 | 超碰人人av | 国产美女免费观看 | 在线亚洲成人 | 国产成人精品福利 | 日日夜操| 天天操综 | 国产一区在线视频 | 国内精品视频在线 | 日韩在线三级 | 视频一区二区国产 | 欧美一级久久久久 | 国产 欧美 日本 | 国产精品久久久久久av | 国产精品igao视频网入口 | 亚洲精品456在线播放第一页 | 天天操天天摸天天爽 | 国产 欧美 日韩 | 天天插日日插 | 久久国产精品久久久 | 视频一区二区视频 | 国产亚洲欧美日韩高清 | 色婷婷狠狠五月综合天色拍 | 久久亚洲二区 | 久久国产91 | 亚洲视频www | 日韩高清免费在线 | 久久久久久久亚洲精品 | 欧美 日韩精品 | 就要干b| 免费av高清| 久久人人爽人人片 | 久久香蕉电影 | 黄在线免费看 | 色婷婷免费 | 亚洲精品日韩一区二区电影 | 久草精品网 | 中文有码在线视频 | 韩国在线视频一区 | 亚洲小视频在线观看 | 91在线麻豆 | 婷婷精品进入 | 成人毛片在线观看视频 | 不卡视频一区二区三区 | 又黄又爽又色无遮挡免费 | 日韩中文字幕免费电影 | 国产偷在线 | 亚洲综合婷婷 | 国产精华国产精品 | 日本久久久久久科技有限公司 | 国产精品一区二区久久精品 | 久久久久国产精品一区 | 精品久久电影 | 夜添久久精品亚洲国产精品 | 精品福利片| 99久久精品久久久久久清纯 | 狠狠操精品 | 亚洲成人精品在线 | 五月导航 | 精品一区二区在线观看 | 麻豆国产视频 | 四虎海外影库www4hu | 国产99久久久国产精品成人免费 | 精品福利片 | 视频91在线 | 99久久日韩精品免费热麻豆美女 |