0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PMP配置和訪問(wèn)場(chǎng)景

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux充電站 ? 作者: Vincent ? 2023-10-07 17:42 ? 次閱讀

PMP 配置

PMP 寄存器只能在機(jī)器模式下編程。pmpaddrX 寄存器應(yīng)首先用受保護(hù)區(qū)域的基地址編程,右移兩位。然后,應(yīng)該使用正確配置的 64 位值對(duì)pmpcfgY 寄存器進(jìn)行編程,其中包含每個(gè)正確對(duì)齊的 8 位 pmpXcfg 字段。未使用的字段可以簡(jiǎn)單地寫(xiě)入 0,標(biāo)記它們未使用。

PMP 配置例子

以下示例顯示了僅機(jī)器模式的配置,其中 PMP 權(quán)限應(yīng)用于三個(gè)感興趣的區(qū)域,第四個(gè)區(qū)域覆蓋剩余的內(nèi)存映射?;叵胍幌?,較低編號(hào)的 pmpXcfg 和pmpaddrX 寄存器優(yōu)先于較高編號(hào)的區(qū)域。該規(guī)則允許更高編號(hào)的 PMP寄存器全面覆蓋整個(gè)內(nèi)存映射,同時(shí)允許編號(hào)較低的區(qū)域?qū)?quán)限應(yīng)用于特定的感興趣區(qū)域。以下示例顯示基地址 0x0 處的 64 KB 閃存區(qū)域、基地址0x2000_0000 處的 32 KB RAM 區(qū)域以及基地址 base 0x3000_0000 處的 4 KB外設(shè)區(qū)域。內(nèi)存映射的其余部分是保留空間。

圖片

PMP 訪問(wèn)場(chǎng)景

L、R、W 和 X 位僅在訪問(wèn)的所有字節(jié)都被該 PMP 條目覆蓋時(shí)確定訪問(wèn)是否成功。例如,如果 PMP 條目配置為匹配四字節(jié)范圍0xC–0xF,那么對(duì) 0x8–0xF 范圍的 8 字節(jié)訪問(wèn)將失敗,假設(shè) PMP 條目是與這些地址匹配的最高優(yōu)先級(jí)條目。

在鎖定位清零 (L=0) 的機(jī)器模式下運(yùn)行時(shí),如果 PMP 條目與訪問(wèn)的所有字節(jié)匹配,則訪問(wèn)成功。如果在機(jī)器模式下設(shè)置了鎖定位(L=1),則訪問(wèn)取決于為該區(qū)域設(shè)置的權(quán)限。同樣,在管理員模式或用戶模式下,訪問(wèn)權(quán)限取決于為該區(qū)域設(shè)置的權(quán)限。

失敗的讀取或?qū)懭朐L問(wèn)會(huì)生成加載或存儲(chǔ)訪問(wèn)異常,并且指令訪問(wèn)錯(cuò)誤會(huì)在失敗的指令獲取時(shí)發(fā)生。當(dāng)嘗試從沒(méi)有執(zhí)行權(quán)限的區(qū)域執(zhí)行時(shí)發(fā)生異常時(shí),錯(cuò)誤發(fā)生在獲取而不是分支上,因此mepc CSR 將反映目標(biāo)保護(hù)區(qū)的值,而不是分支的地址。

一條指令可能產(chǎn)生多個(gè)訪問(wèn),這可能不是相互原子的。如果一條指令產(chǎn)生的至少一次訪問(wèn)失敗,則將發(fā)生異常。一條指令的其他訪問(wèn)可能會(huì)成功,但會(huì)產(chǎn)生明顯的副作用。例如,對(duì)虛擬內(nèi)存的引用可以分解為多個(gè)訪問(wèn)。

在某些實(shí)現(xiàn)中,未對(duì)齊的加載、存儲(chǔ)和指令提取也可能被分解為多個(gè)訪問(wèn),其中一些可能在訪問(wèn)異常發(fā)生之前成功。特別是,通過(guò) PMP檢查的未對(duì)齊存儲(chǔ)的一部分可能變得可見(jiàn),即使另一部分未通過(guò) PMP 檢查。對(duì)于比 XLEN 位寬的浮點(diǎn)存儲(chǔ)(例如,RV32D 中的 FSD指令),即使存儲(chǔ)地址自然對(duì)齊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1361

    瀏覽量

    40185
  • PMP
    PMP
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    18131
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    461

    瀏覽量

    83637
  • 配置
    +關(guān)注

    關(guān)注

    1

    文章

    187

    瀏覽量

    18341
  • sifive
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    9450
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎么使用不帶PMWR和PMRD的PMP數(shù)據(jù)引腳?

    嗨,我想知道我能不能用PMP來(lái)驅(qū)動(dòng)一個(gè)圖形控制器,用普通的gpio來(lái)驅(qū)動(dòng)(CS,WR,RD,RS)信號(hào),而不是用pmp模塊控制信號(hào)?如果可以,PMP和諧模塊的配置是什么?謝謝
    發(fā)表于 04-01 09:45

    16-MAC訪問(wèn)列表配置命令

    MAC訪問(wèn)列表配置命令
    發(fā)表于 12-17 10:44 ?5次下載

    17-物理端口IP訪問(wèn)列表配置命令

    物理端口IP訪問(wèn)列表配置命令
    發(fā)表于 12-17 11:06 ?9次下載

    18-VLAN訪問(wèn)列表配置命令

    VLAN訪問(wèn)列表配置命令
    發(fā)表于 12-17 11:06 ?7次下載

    工業(yè)交換機(jī)VLAN訪問(wèn)列表配置

    19-VLAN訪問(wèn)列表配置
    發(fā)表于 12-25 00:02 ?0次下載

    物理端口IP訪問(wèn)列表配置

    18-物理端口IP訪問(wèn)列表配置
    發(fā)表于 12-20 17:06 ?0次下載

    工業(yè)交換機(jī)MAC訪問(wèn)列表配置

    17-MAC訪問(wèn)列表配置
    發(fā)表于 12-25 00:03 ?0次下載

    交換機(jī)MAC訪問(wèn)列表配置

    交換機(jī)MAC訪問(wèn)列表配置
    發(fā)表于 12-27 16:44 ?0次下載

    交換機(jī)物理端口IP訪問(wèn)列表配置

    交換機(jī)物理端口IP訪問(wèn)列表配置
    發(fā)表于 12-27 16:43 ?0次下載

    配置Nginx訪問(wèn)日志

    每當(dāng)處理客戶請(qǐng)求時(shí),Nginx都會(huì)在訪問(wèn)日志中生成一個(gè)新記錄。每個(gè)事件記錄都包含一個(gè)時(shí)間戳,并包含有關(guān)客戶端和所請(qǐng)求資源的各種信息。訪問(wèn)日志可以顯示訪問(wèn)者的位置,訪問(wèn)者的
    的頭像 發(fā)表于 05-24 09:59 ?2270次閱讀

    InfiniBand和遠(yuǎn)程直接訪問(wèn)是什么,如何進(jìn)行配置

    本文簡(jiǎn)單描述了InfiniBand 和遠(yuǎn)程直接訪問(wèn)(RDMA)是什么,以及在實(shí)踐中如何配置InfiniBand網(wǎng)絡(luò)硬件。另外,本文檔解釋了如何配置與 InfiniBand 相關(guān)的服務(wù)。
    的頭像 發(fā)表于 11-25 14:26 ?1611次閱讀

    OpenHarmony上配置雙網(wǎng)卡案例

    在某些特殊場(chǎng)景下,我們可能有這樣的網(wǎng)絡(luò)配置訴求,即:訪問(wèn)內(nèi)網(wǎng)同時(shí)也需要訪問(wèn)外網(wǎng)。
    的頭像 發(fā)表于 02-20 10:13 ?683次閱讀

    PMP是什么 PMP功能描述

    PMP 可以授予對(duì)設(shè)備內(nèi)存映射的特定區(qū)域的權(quán)限,但它也可以在機(jī)器模式下撤銷權(quán)限。 當(dāng)進(jìn)行相應(yīng)編程時(shí),PMP 將在 hart 以管理員或用戶模式運(yùn)行時(shí)檢查每次訪問(wèn)。對(duì)于機(jī)器模式,除非在特定區(qū)域的 pmpcfgY CSR 中設(shè)置鎖
    的頭像 發(fā)表于 10-07 17:32 ?848次閱讀

    PMP物理內(nèi)存保護(hù)介紹

    PMP 和 Paging 物理內(nèi)存保護(hù)機(jī)制旨在與 RISC?V 指令集手冊(cè),第二卷:特權(quán)架構(gòu),版本 1.10 中描述的基于頁(yè)面的虛擬內(nèi)存系統(tǒng)組合。啟用分頁(yè)后,訪問(wèn)虛擬內(nèi)存的指令可能會(huì)導(dǎo)致多次物理內(nèi)存
    的頭像 發(fā)表于 10-07 17:49 ?958次閱讀

    什么是ACL訪問(wèn)控制列表

    通過(guò)之前的文章簡(jiǎn)單介紹了華為交換機(jī)如何配置SSH遠(yuǎn)程登錄,在一些工作場(chǎng)景,需要特定的IP地址段能夠SSH遠(yuǎn)程訪問(wèn)和管理網(wǎng)絡(luò)設(shè)備,這樣又需要怎么配置呢?下面通過(guò)一個(gè)簡(jiǎn)單的案例帶著大家去了
    的頭像 發(fā)表于 10-10 14:35 ?196次閱讀
    什么是ACL<b class='flag-5'>訪問(wèn)</b>控制列表