日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年06月04日(星期三)

正在發(fā)生

2020年06月04日 | 關(guān)于ARMv8另外幾個問題

發(fā)布者:溫馨時光 來源: elecfans關(guān)鍵字:ARMv8  編譯  linux內(nèi)核 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

問題1:支持ARMv8的Linux內(nèi)核異常向量地址在哪?

答:異常向量基地址在0xffffffc000081800。通過查看編譯后的linux內(nèi)核的System.map文件,能確定異常向量表的基地址。通過反匯編生成的支持armv8的linux內(nèi)核也可以證實。Armv8的異常向量表的定義在內(nèi)核的arch/arm/kernel/entry.S中,將其摘錄如下:


/*


 * Exception vectors.


 */


        .macro ventry  label


        .align 7


        b      label


        .endm


 


        .align 11


ENTRY(vectors)                                                                   


        ventry el1_sync_invalid                //Synchronous EL1t


        ventry el1_irq_invalid                 //IRQ EL1t


        ventry el1_fiq_invalid                 //FIQ EL1t


        ventry el1_error_invalid               //Error EL1t


 


        ventry el1_sync                        //Synchronous EL1h


        ventry el1_irq                         //IRQ EL1h


        ventry el1_fiq_invalid                 //FIQ EL1h


        ventry el1_error_invalid               //Error EL1h


 


        ventry el0_sync                        //Synchronous 64-bit EL0


        ventry el0_irq                         //IRQ 64-bit EL0


        ventry el0_fiq_invalid                 //FIQ 64-bit EL0


        ventry el0_error_invalid               //Error 64-bit EL0


 


#ifdefCONFIG_AARCH32_EMULATION


        ventry el0_sync_compat                 //Synchronous 32-bit EL0


        ventry el0_irq_compat                  //IRQ 32-bit EL0


        ventry el0_fiq_invalid_compat          //FIQ 32-bit EL0


        ventry el0_error_invalid_compat        //Error 32-bit EL0


#else


        ventry el0_sync_invalid                //Synchronous 32-bit EL0


        ventry el0_irq_invalid                 //IRQ 32-bit EL0


        ventry el0_fiq_invalid                 //FIQ 32-bit EL0


        ventry el0_error_invalid               //Error 32-bit EL0


#endif


END(vectors)


問題2:找出TLB中存放的ARMv8的頁表格式

答:只找到了頁表的格式。TLB中的格式?jīng)]找到。


ARMv8支持4KB頁大小的4級頁表轉(zhuǎn)換到64KB頁大小的3級頁表轉(zhuǎn)換。


以下是從內(nèi)核源碼的Documentation找到的信息。


AArch64 Linux memory layout:


 


Start                          End                    Size           Use


-----------------------------------------------------------------------


0000000000000000        0000007fffffffff      512GB            user


 


ffffff8000000000    ffffffbbfffeffff         ~240GB            vmalloc


 


ffffffbbffff0000       ffffffbcffffffff   64KB             [guardpage]


 


ffffffbc00000000    ffffffbdffffffff    8GB            vmemmap


 


ffffffbe00000000    ffffffbffbffffff   ~8GB            [guard,future vmmemap]


 


ffffffbffc000000     ffffffbfffffffff    64MB           modules


 


ffffffc000000000    ffffffffffffffff  256GB            memory


 


 


Translation table lookup with 4KB pages:


 


+--------+--------+--------+--------+--------+--------+--------+--------+


|63   56|55    48|47    40|39   32|31    24|23    16|15    8|7      0|


+--------+--------+--------+--------+--------+--------+--------+--------+


 |                 |         |         |         |         |


 |                 |         |         |         |         v


 |                 |         |         |         |  [11:0]  in-page offset


 |                 |         |         |         +-> [20:12] L3 index


 |                 |         |         +-----------> [29:21] L2 index


 |                 |         +---------------------> [38:30] L1index


 |                +------------------------------->[47:39] L0 index (not used)


 +------------------------------------------------->[63] TTBR0/1


 


 


Translation table lookup with 64KB pages:


 


+--------+--------+--------+--------+--------+--------+--------+--------+


|63   56|55    48|47    40|39   32|31    24|23    16|15    8|7      0|


+--------+--------+--------+--------+--------+--------+--------+--------+


 |                 |    |               |              |


 |                 |    |               |              v


 |                 |    |               |            [15:0]  in-page offset


 |                 |    |               +----------> [28:16] L3 index


 |                 |    +--------------------------> [41:29] L2index (only 38:29 used)


 |                +-------------------------------> [47:42] L1 index (not used)


 +------------------------------------------------->[63] TTBR0/1


問題3:ARMv8中重要的控制寄存器的各位的意思是什么?

答:源碼中沒找到對ARMv8控制寄存器的詳細(xì)描述。


1.     關(guān)于SPSR,該寄存器是CPSR的副本,當(dāng)在不同模式間轉(zhuǎn)換時,該寄存器保存CPSR的內(nèi)容,用于狀態(tài)恢復(fù)。


在arch/arm64/include/asm/ptrace.h中找到AArch64的spsr寄存器某些位的定義,經(jīng)過與ARMv7的對比發(fā)現(xiàn),以下定義的位于ARMv7中定義的位意義相同。


/*AArch64 SPSR bits */


#definePSR_F_BIT  0x00000040


#definePSR_I_BIT   0x00000080


#definePSR_A_BIT  0x00000100


#definePSR_D_BIT  0x00000200


#definePSR_Q_BIT 0x08000000


#definePSR_V_BIT  0x10000000


#definePSR_C_BIT  0x20000000


#definePSR_Z_BIT  0x40000000


#define PSR_N_BIT 0x80000000


2.     ARMv8中的系統(tǒng)控制寄存器有多個,但與ARMv7不同的是:ARMv8中拋棄了“協(xié)處理器”的概念,進(jìn)而就沒了MCR,MRC類的指令,見參考資料[3],其系統(tǒng)控制都是通過MSR,MRS類指令進(jìn)行。通過閱讀Linux內(nèi)核源碼發(fā)現(xiàn),主要的控制寄存器有:


hcr_el2:el2中的hypervisor配置寄存器


cnthctl_el2:可配置通用時鐘


另外還有,vmpidr_el2;vpidr_el2;sctlr_el1:cptr_el2;hstr_el2;spsr_el2;vbar_el1;ttbr0_el1;ttbr1_el1;sctlr_el1


參考資料

[1] ARMv8的編譯器binutils,結(jié)構(gòu)體aarch64_opcode_table定義見line 1208


http://kernel.ubuntu.com/git?p=jk/arm64/binutils.git;a=blob;f=opcodes/aarch64-tbl.h;h=d360b1406718257da86050f5b3a760cd02196250;hb=aarch64


[2] 結(jié)構(gòu)體aarch64_opcode定義,line451


http://kernel.ubuntu.com/git?p=jk/arm64/binutils.git;a=blob;f=include/opcode/aarch64.h;h=98529954ea098349eb16572d4915f4edbd2e7b5d;hb=aarch64


[3] 《ARMv8 InstructionSet Overview 》page11

關(guān)鍵字:ARMv8  編譯  linux內(nèi)核 引用地址:關(guān)于ARMv8另外幾個問題

上一篇:arm平臺linux異常處理流程
下一篇:ARMv8(aarch64)頁表建立過程詳細(xì)分析

推薦閱讀

汽車越來越聰明,就像是裝了 4 個輪子的電腦,對半導(dǎo)體需求不斷提高。韓國兩大存儲器業(yè)者競相卡位,搶占市場先機(jī)。韓國時報報導(dǎo),三星電子推出 10 納米制程的車用 16Gb LPDDR4X DRAM,號稱具備高效能和低功耗的優(yōu)點,耐熱程度也大為提升。汽車需要在極端環(huán)境下運(yùn)作,20 納米制程的 DRAM 可以承受攝氏 -40度至 105 度的溫差。三星宣稱,新品的...
2019中國(成都)電子信息博覽會,將于2019年7月11日-13日在成都世紀(jì)城新國際會展中心隆重舉辦,該博覽會是一個展示西部電子信息市場發(fā)展成果,助力電子信息產(chǎn)業(yè)知名企業(yè)走進(jìn)西部的優(yōu)質(zhì)展覽展示及交流平臺,其影響力已經(jīng)覆蓋四川以及西部地區(qū)。在此誠摯邀請廣大新老企業(yè)積極參與本次盛會,相聚成都,共享西部無限商機(jī)! 展會名稱:2019中國(成都)電子信...
如果把物聯(lián)網(wǎng)比作人的“身體”,人工智能就是“大腦”,二者相結(jié)合,能夠讓世界變得更加智能。我們即將步入萬物互聯(lián)的數(shù)字經(jīng)濟(jì)時代,人工智能大有可為。AI精英 技術(shù)立企在中國人工智能發(fā)展歷程中,曠視值得關(guān)注。曠視三位創(chuàng)始人印奇、唐文斌和楊沐都畢業(yè)于清華大學(xué)“姚班”(即清華學(xué)堂計算機(jī)科學(xué)實驗班,由世界著名計算機(jī)科學(xué)家、圖靈獎獲得者姚期智院士...
北京時間6月4日上午消息,據(jù)報道,法國外貿(mào)銀行(Natixis)亞太地區(qū)首席經(jīng)濟(jì)學(xué)家表示,全球芯片短缺正困擾著多個行業(yè),并且未顯露出緩解跡象。但與此同時,各類芯片的價格也不太可能會大幅上漲。  雖然芯片短缺對汽車制造商的沖擊最大,但實際上這場危機(jī)已經(jīng)波及從游戲主機(jī)到電視機(jī)的各行各業(yè)。  不過,各個行業(yè)或產(chǎn)品受到的影響不一樣罷了。事實上,...

史海拾趣

問答坊 | AI 解惑

關(guān)于evc下運(yùn)行控制臺程序

在evc中將一個入口為int main (int argc, const char *argv [])的C程序新建一個WCE PocketPC 2003 Application并做成exe 然后在另一個程序的按鈕消息中利用ShellExecuteEx函數(shù)調(diào)用它,可是一運(yùn)行卻總警告First-chance exception in xxx.exe:0xC000 ...…

查看全部問答∨

有關(guān)簡繁字體的顯示

最近用PlatForm Builder訂制了一個系統(tǒng).是一個中英臺語的系統(tǒng).同時加了SimSum&SimSum2_60 MingLis&MingLis2_80兩種字體.默認(rèn)開機(jī)語言是臺語.在機(jī)器上只能顯示繁體,簡體只能顯示與繁體有交集地字符.我要怎么讓它同時都能顯示簡體和繁體兩種字體.…

查看全部問答∨

光電計數(shù)電路圖

如圖所示電路,當(dāng)光敏三極管VT1接收到紅外發(fā)光二極管射來的紅外光線時,VT1導(dǎo)通,比較器IC2-B的反相輸入端6腳為低電平,7腳輸出高電平,加到比較器IC2-A的反相輸入端,使1腳輸出低電平,則光電耦合器4N35內(nèi)的發(fā)光管點亮,對應(yīng)的光敏管導(dǎo)通,三極管V ...…

查看全部問答∨

怎么用zigbee給鄰居節(jié)點發(fā)送信息啊

zigbee好像哪里有鄰居節(jié)點信息,怎么和所有鄰居節(jié)點通信,取得他們的信息呢…

查看全部問答∨

Altera公司與TSMC采用CoWoS生產(chǎn)技術(shù)

Altera公司與TSMC宣布,采用TSMC CoWoS生產(chǎn)技術(shù)共同開發(fā)全球首顆能夠整合多元芯片技術(shù)的三維集成電路(Heterogeneous  3DIC ) 測試芯片 ,此項創(chuàng)新技術(shù)系將模擬、邏輯及內(nèi)存等各種不同芯片技術(shù)堆棧于單一芯片上組合而成,可協(xié)助半 ...…

查看全部問答∨

咨詢問題

論壇里有沒有搞OMAP_L138的,我最近在研究這個板子,遇到了一些問題,就是我程序也下進(jìn)板子了,也可以編譯,運(yùn)行,最后下到板子里也可以把程序跑完了,可是當(dāng)我用View觀察圖形時,就出不來了,誰人知道是什么原因嗎?麻煩知道的給解決一下,不勝感 ...…

查看全部問答∨

關(guān)于I2C的問

這兩天做個I2C方面的東西,可以Master讀取數(shù)據(jù)的時候總是卡住,用示波器看了下,發(fā)現(xiàn)少個CLOCK,有誰知道啥原因嗎?…

查看全部問答∨

易電源心得體會

易電源 TI為我們這些開發(fā)項目的提供了很多不錯的電源解決方案和電源管理芯片,易電源更是簡單我們的電源電路和需用開發(fā)流程中的時間減少了很多 論壇活動真多,要多多學(xué)習(xí)啊   游戲也。。是難玩我的60分。。。。圖案會亂跑。。方左它 ...…

查看全部問答∨

提問+IAR環(huán)境下軟件調(diào)試

C語言中的“printf”,在軟件調(diào)時的時候可以很方便的顯示所要觀察的變量 不知道在IAR的環(huán)境中軟件仿真時是否可以實現(xiàn)類似的功能(直接觀察寄存器就算了...),另外有沒有專有的庫文件,在硬件運(yùn)行時能很方便的輸出各種類型的數(shù)據(jù)呢 …

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved