首页 > 其他分享 >ARM64 vectors

ARM64 vectors

时间:2023-06-01 10:35:30浏览次数:39  
标签:el0 ventry 32 vectors invalid ARM64 EL0 bit

/*
 * Exception vectors.
 */
 .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    // 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    // FIQ 64-bit EL0
 ventry el0_error_invalid  // Error 64-bit EL0
#ifdef CONFIG_COMPAT
 ventry el0_sync_compat   // Synchronous 32-bit EL0
 ventry el0_irq_compat   // IRQ 32-bit EL0
 ventry el0_fiq_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)


 


最新形式:


.text
/*
 * Exception vectors.
 */
 .pushsection ".entry.text", "ax"
 .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
#ifdef CONFIG_COMPAT
 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)

标签:el0,ventry,32,vectors,invalid,ARM64,EL0,bit
From: https://blog.51cto.com/u_11860992/6392705

相关文章

  • ARM64 el1_irq 处理
     .align6el1_irq:kernel_entry1msrdaifclr,#1//enablefiqenable_dbg_if_not_steppingx0#ifdefCONFIG_TRACE_IRQFLAGSbltrace_hardirqs_off#endif#ifdefCONFIG_PREEMPTget_thread_infotskldrw24,[tsk,#TI_PREEMPT]//getpreemptcountad......
  • deepin-for-arm64支持
    arm64架构支持v23仓库已经支持arm64和amd64架构软件包,arm64架构的基础环境已经具备,现在就差镜像制作工具的支持了,镜像构建工具的目标是构建出标准pc镜像。为此我借来一台紫光飞腾D2000机器进行arm64的适配工作,这台机器有相对标准的UEFI固件,目前已经支持UEFI安装,镜像地址: https......
  • Windows 11 22H2 中文版、英文版 (x64、ARM64) 下载 (updated May 2023)
    Windows11,version22H2,2023年5月更新请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org全新推出Windows11全新Windows体验,让您与热爱的人和事物离得更近。获得全新视角Windows11提供一个让人平静而富......
  • ARM64启动汇编和内存初始化(上)
    文章代码分析基于linux-5.19.13,架构基于aarch64(ARM64)。涉及页表代码分析部分:(1)假设页表映射层级是4,即配置CONFIG_ARM64_PGTABLE_LEVELS=4;(2)虚拟地址宽度是48,即配置CONFIG_ARM64_VA_BITS=48;(3)物理地址宽度是48,即配置CONFIG_ARM64_PA_BITS=48;1.入口分析1.1链接脚本arch/a......
  • 在.net6 使用opencvsharp4 在ubuntu arm64环境下遇到的问题
    rk3399Pro嵌入式板子在.net6中使用opencvsharp开发时,在windows平台可以正常运行,在ubuntu20.6,arm64架构下运行报错:unhandledexception.system.typeinitializationexception:thetypeinitializerfor'opencvsharp.internal.nativemethods'threwanexception.%0d%0a......
  • 使用buildx在x86机器上面编译arm64架构的Docker镜像
    buildx多架构编译安装docker下载docker下载buildx安装架构支持dockerrun--privileged--rmtonistiigi/binfmt--installall创建一个自己的空间buildxcreate--use--namemybuilder检查支持的架构buildxinspectmybuilder--bootstrapNodes:Name:mybu......
  • 记录一次C#在arm64的Ubuntu下安装使用selenium的过程
    手头上有一台没用的安卓手机,想着安装Ubuntu当爬虫服务器用,安卓手机root后使用delopy安装启动Ubuntu系统这些前置过程就不谈了重点谈怎么在ssh下安装使用selenium的过程首先我们安装aptitude这个软件包管理库,这个库相对于apt功能,对软件的依赖处理更加优秀,且使用方式和apt一样su......
  • golang语言下,在x86的linux平台上编译arm64二进制
    转载自:https://www.annhe.net/article-4542.html================== 编译etcd测试工具benchmark:CGO_ENABLED=0GOOS=linuxGOARCH=arm64gobuild.  概述有很多开源软件并没有提供arm安装包或者二进制,或者能通过包管理工具安装但是版本比较旧(比如Pandoc)。如果想......
  • ARM64页表映射
    1.ARMv8-A架构基于ARMv8-A架构的处理器最大可以支持到48根地址线,也就是寻址2的48次方的虚拟地址空间,即虚拟地址空间范围为0x0000_0000_0000_0000~0x0000_FFFF_FFFF_FFFF,共256TB。一个是从0x0000_0000_0000_0000到0x0000_FFFF_FFFF_FFFF,另外一个是从0xFFFF_0000_0000_0000到0xFFFF......
  • unidac 在linux loongxarch64或arm64使用SQLite
    unidacSQLite默认使用静态连接方式,但UNIDAC官方SQLite未提供arm64或loongxarch64静态库,造成linuxfor龙芯或arm64无法使用SQLite,经跟踪unidac源码发现将souce/uniProviders/SQLite/LiteDac.inc添加{$DEFINENOSTATIC}然后安装liteprovider10.lpk就可以。//////////////////......