国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)絡(luò)營銷推廣方案pdf站長工具seo綜合查詢

網(wǎng)絡(luò)營銷推廣方案pdf,站長工具seo綜合查詢,飾品網(wǎng)站建設(shè),一個(gè)服務(wù)器可以做兩個(gè)網(wǎng)站Xen-Trap xen的虛擬化實(shí)現(xiàn)有一個(gè)很重要的機(jī)制就是tarp,中文可以暫且叫做陷入。在ARMv8中,trap就是異常等級的一個(gè)切換。 當(dāng)發(fā)生trap的時(shí)候,就會進(jìn)入設(shè)定好的異常向量表中,硬件自動(dòng)判斷屬于哪種類型的異常。 一、異常處理 ARM…

Xen-Trap

xen的虛擬化實(shí)現(xiàn)有一個(gè)很重要的機(jī)制就是tarp,中文可以暫且叫做陷入。在ARMv8中,trap就是異常等級的一個(gè)切換。

當(dāng)發(fā)生trap的時(shí)候,就會進(jìn)入設(shè)定好的異常向量表中,硬件自動(dòng)判斷屬于哪種類型的異常。
在這里插入圖片描述

一、異常處理

ARM v8有4個(gè)異常級別,每一個(gè)異常級別對應(yīng)一個(gè) VBAR(Vector Base Address Register) 寄存器,用來指向異常向量表的基地址,每一個(gè)異常向量表的大小為128個(gè)字節(jié),也即可以存放32條指令(ARM v8指令集里一條指令的位寬是32bit的,而不是64bit);同時(shí)每一個(gè)異常向量表會分為4組,每一組包含4 種異常,如圖所示:

在這里插入圖片描述

這里的圖對應(yīng)上面的hyp_traps_vector

整理了一下,xen對于發(fā)生的異常,最后會調(diào)用如下函數(shù)進(jìn)行處理:

functionaction
do_trap_hyp_syncbrk指令處理、當(dāng)前異常等級產(chǎn)生的數(shù)據(jù)abort(用于由數(shù)據(jù)訪問產(chǎn)生的 MMU 故障、由堆棧指針未對齊引起的對齊故障以及同步外部中止,包括同步奇偶校驗(yàn)或 ECC 錯(cuò)誤)、當(dāng)前異常等級產(chǎn)生的指令abort(用于指令訪問和同步外部中止生成的 MMU 故障)
do_trap_hyp_serror在EL2,發(fā)生了Serror是不安全的,直接輸出panic信息
do_trap_guest_syncWFI/WFE指令、cp15/cp14/cp10協(xié)處理訪問、SVE相關(guān)指令、SMC指令、HVC指令、訪問系統(tǒng)寄存器、從低異常等級產(chǎn)生的數(shù)據(jù)&指令abort
do_trap_guest_serror通過置位HCR_EL2的VSE(bit 8)來產(chǎn)生Virtual SError interrupt,由EL1的異常向量表做進(jìn)一步處理
do_trap_irq處理中斷

二、trap處理的事情(挑重點(diǎn))

1. guest os的同步異常 — do_trap_guest_sync(關(guān)注點(diǎn))

①SMC調(diào)用

functionaction
do_trap_smc:處理來自EL1的SMC指令(由于xen修改了dom的dts,所以os的開核方式不是使用smc)
monitor_smc
vsmccc_handle_call(handle SMC/HVC call according to ARM SMCCC)handle_existing_apis —> do_vpsci_0_1_call
handle_sssc —> do_vpsci_0_2_call

②HVC調(diào)用

functionaction
do_trap_hvc_smccc:執(zhí)行vsmccc_handle_call(handle SMC/HVC call according to ARM SMCCC),xen修改了dts,讓每個(gè)dom的psci開核方法為hvc:method = “hvc”;
handle_existing_apisdo_vpsci_0_1_call
handle_arch
handle_hypervisor
handle_ssscdo_vpsci_0_2_call:PSCI_0_2_FN64_CPU_ON
platform_smc
do_trap_hypercall:
do_memory_opXENMEM_increase_reservation對應(yīng)balloon的放氣,增加guest的內(nèi)存
XENMEM_decrease_reservation對應(yīng)balloon的吹氣,減少guest的內(nèi)存
XENMEM_populate_physmap,給page分配mfn
XENMEM_exchange,內(nèi)存交換
XENMEM_maximum_ram_page,獲取最大的頁數(shù)
XENMEM_current_reservation,獲取當(dāng)前預(yù)留內(nèi)存總頁數(shù)
XENMEM_maximum_reservation,獲取預(yù)留內(nèi)存最大總頁數(shù)
XENMEM_maximum_gpfn,獲取最大guest pfn數(shù)
XENMEM_add_to_physmap,增加頁面映射
XENMEM_add_to_physmap_batch,增加頁面映射,不支持iommu?
XENMEM_remove_from_physmap,刪除頁面映射
XENMEM_access_op,內(nèi)存訪問權(quán)限設(shè)置&獲取
XENMEM_claim_pages,檢查頁的權(quán)限等信息
XENMEM_get_vnumainfo,獲取vNUMA的拓?fù)湫畔?/td>
XENMEM_reserved_device_memory_map,獲取外設(shè)預(yù)留的內(nèi)存情況?看代碼arm并沒有實(shí)現(xiàn)相關(guān)的函數(shù)
XENMEM_acquire_resource,獲取內(nèi)存資源情況
do_domctlXEN_DOMCTL_setvcpucontext,設(shè)置vcpu的上下文
XEN_DOMCTL_pausedomain,暫停domain,調(diào)用domain_pause
XEN_DOMCTL_unpausedomain,取消暫停domain,調(diào)用domain_unpause
XEN_DOMCTL_resumedomain,恢復(fù)domain,也會調(diào)用domain_pause和domain_unpause,涉及vcpu的操作
XEN_DOMCTL_createdomain,創(chuàng)建domain
XEN_DOMCTL_max_vcpus,設(shè)置vcpu數(shù)量為max_vcpus
XEN_DOMCTL_soft_reset,domain軟復(fù)位
XEN_DOMCTL_destroydomain,銷毀domain
XEN_DOMCTL_setnodeaffinity,設(shè)置與guest具有親和力的 NUMA 節(jié)點(diǎn)
XEN_DOMCTL_getnodeaffinity,獲取與guest具有親和力的 NUMA 節(jié)點(diǎn)
XEN_DOMCTL_setvcpuaffinity,設(shè)置vpu的親和度
XEN_DOMCTL_getvcpuaffinity,獲取vcpu的親和度
XEN_DOMCTL_scheduler_op,調(diào)整domain的調(diào)度參數(shù)
XEN_DOMCTL_getdomaininfo,獲取domain的相關(guān)信息
XEN_DOMCTL_getvcpucontext,獲取vcpu的上下文信息
XEN_DOMCTL_getvcpuinfo,獲取vcpu的信息
XEN_DOMCTL_max_mem,設(shè)置max_pages最大內(nèi)存數(shù)
XEN_DOMCTL_setdomainhandle,設(shè)置domain操作句柄
XEN_DOMCTL_setdebugging,設(shè)置debugger_attached標(biāo)志位,判斷guest是否被dom0調(diào)試中
XEN_DOMCTL_irq_permission,設(shè)置domain對于給定irq的訪問權(quán)限
XEN_DOMCTL_iomem_permission,設(shè)置domain對應(yīng)給定io內(nèi)存的訪問權(quán)限
XEN_DOMCTL_memory_mapping,映射memory
XEN_DOMCTL_settimeoffset,設(shè)置domain的timeoffset(CNTVOFF_EL2?)
XEN_DOMCTL_set_target,設(shè)置該guest對給定guest的特權(quán)
XEN_DOMCTL_subscribe,設(shè)置suspend_evtchn
XEN_DOMCTL_set_access_required,設(shè)置p2m表的訪問權(quán)限
XEN_DOMCTL_set_virq_handler,設(shè)置虛擬中斷的中斷服務(wù)函數(shù)
XEN_DOMCTL_setvnumainfo,設(shè)置vNUMA的拓?fù)湫畔?/td>
XEN_DOMCTL_monitor_op,啟用/禁用監(jiān)視各種 VM 事件
do_sched_op調(diào)度相關(guān)的操作(yeiled、shutdown等操作),這里不一一列舉了,直接看代碼
do_console_ioCONSOLEIO_write,guest對于console的寫操作
CONSOLEIO_read,guest對于console的讀操作
do_xen_version獲取xen版本
do_xsm_opxen的Xen Security Modules(安全模塊)相關(guān)操作,是個(gè)鉤子
do_event_channel_opxen事件通道的相關(guān)操作
do_physdev_op這是是對于一些物理外設(shè)的具體操作,目前只實(shí)現(xiàn)了pci_physdev_op:pci_device_add、pci_device_remove
do_sysctlXEN_SYSCTL_readconsole,讀取console
XEN_SYSCTL_tbuf_op,trace buffers上的 sysctl 操作
XEN_SYSCTL_sched_id,獲取當(dāng)前調(diào)度程序的 ID
XEN_SYSCTL_getdomaininfolist,獲取所有domain的信息
XEN_SYSCTL_debug_keys,設(shè)置debug_key,模擬在xen按下按鍵,產(chǎn)生對應(yīng)的調(diào)試信息
XEN_SYSCTL_getcpuinfo,獲取cpu信息
XEN_SYSCTL_availheap,獲取可用的heap內(nèi)存信息
XEN_SYSCTL_page_offline_op,設(shè)置page的狀態(tài),online或者offline
XEN_SYSCTL_cpupool_op,做 cpupool 相關(guān)的 sysctl 操作
XEN_SYSCTL_scheduler_op,調(diào)度相關(guān)的sysctl操作
XEN_SYSCTL_physinfo,獲取當(dāng)前的一些物理信息:cpu數(shù)量、內(nèi)存node數(shù)量、總頁數(shù)等等
XEN_SYSCTL_numainfo,獲取numa的相關(guān)信息
XEN_SYSCTL_cputopoinfo,獲取xen_sysctl_cputopo結(jié)構(gòu)體信息
XEN_SYSCTL_coverage_op,@TODO,沒看懂
XEN_SYSCTL_livepatch_op,@TODO,沒看懂
XEN_SYSCTL_overlay,在給定的設(shè)備樹目標(biāo)節(jié)點(diǎn)做add或者remove節(jié)點(diǎn)操作
do_hvm_opHVMOP_set_param,設(shè)置xen_hvm_param結(jié)構(gòu)體參數(shù)
HVMOP_get_param,獲取xen_hvm_param結(jié)構(gòu)體參數(shù)
do_grant_table_op (Xen通過提供grant_table_op一系列hypercall以供DomU使用來實(shí)現(xiàn)內(nèi)存共享)GNTTABOP_map_grant_ref,映射一個(gè)gref
GNTTABOP_unmap_grant_ref,取消gref的映射
GNTTABOP_unmap_and_replace,撤銷對gref的映射,并替換為其他的映射
GNTTABOP_setup_table,建立grant table
GNTTABOP_transfer,移交一個(gè)頁
GNTTABOP_copy,拷貝一些頁/gref對應(yīng)的頁
GNTTABOP_query_size,查詢grant table的當(dāng)前/最大大小
GNTTABOP_set_version,設(shè)置grant table的版本
GNTTABOP_get_status_frames,獲取用于存儲dom授權(quán)狀態(tài)的幀列表
GNTTABOP_get_version,獲取grant table的版本
GNTTABOP_swap_grant_ref,交換gref
GNTTABOP_cache_flush,刷cache(gref對應(yīng)的mfn)
do_multicall調(diào)用arch_do_multicall_call來執(zhí)行多次hypcall
do_platform_op目前只實(shí)現(xiàn)了XENPF_settime64,設(shè)置墻上時(shí)鐘(wall clock)
do_vcpu_opVCPUOP_initialise,初始化vcpu
VCPUOP_up,上線vcpu
VCPUOP_down,下線vpcu
VCPUOP_is_up,判斷vpcu是否上線
VCPUOP_get_runstate_info,獲取vcpu的運(yùn)行狀態(tài)信息
VCPUOP_set_periodic_timer,設(shè)置周期定時(shí)器
VCPUOP_stop_periodic_timer,停止周期定時(shí)器
VCPUOP_set_singleshot_timer,設(shè)置單次定時(shí)器
VCPUOP_stop_singleshot_timer,停止單次定時(shí)器
VCPUOP_register_vcpu_info,在客戶地址空間中為vcpu_info結(jié)構(gòu)注冊一個(gè)內(nèi)存位置
VCPUOP_register_runstate_memory_area,注冊一個(gè)共享內(nèi)存區(qū)域

③訪問系統(tǒng)寄存器

functionaction
do_sysregHSR_SYSREG_ACTLR_EL1:EL1階段訪問ACTLR_EL1寄存器
HSR_SYSREG_DCISW:EL1階段訪問DCISW、DCCSW、DCCISW寄存器(三個(gè)都是和cache相關(guān)的)
EL1階段訪問SCTLR_EL1、TTBR0_EL1、TTBR1_EL1、TCR_EL1、ESR_EL1、FAR_EL1、AFSR0_EL1、AFSR1_EL1、MAIR_EL1、AMAIR_EL1、CONTEXTIDR_EL1寄存器
HSR_SYSREG_MDRAR_EL1:EL1階段訪問MDRAR_EL1寄存器:Monitor Debug ROM Address Register
HSR_SYSREG_OSLAR_EL1:EL1階段訪問OSLAR_EL1寄存器:OS Lock Access Register
HSR_SYSREG_OSDLR_EL1:EL1階段訪問OSDLR_EL1寄存器:OS Double Lock Register
HSR_SYSREG_OSLSR_EL1:EL1階段訪問OSLSR_EL1寄存器:OS Lock Status Register
HSR_SYSREG_MDSCR_EL1:EL1階段訪問MDSCR_EL1寄存器:Monitor Debug System Control Register
HSR_SYSREG_MDCCSR_EL0:EL0階段訪問MDCCSR_EL0寄存器:Monitor DCC Status Register
下面是關(guān)于性能監(jiān)視器相關(guān)的寄存器:
HSR_SYSREG_PMINTENSET_EL1:EL1階段訪問PMINTENSET_EL1寄存器:Performance Monitors Interrupt Enable Set register
HSR_SYSREG_PMINTENCLR_EL1:EL1階段訪問PMINTENCLR_EL1寄存器:Performance Monitors Interrupt Enable Clear register
HSR_SYSREG_PMUSERENR_EL0:EL0階段訪問PMUSERENR_EL0寄存器:Performance Monitors User Enable Register
HSR_SYSREG_PMCR_EL0:EL0階段訪問PMCR_EL0寄存器:Performance Monitors Control Register
HSR_SYSREG_PMCNTENSET_EL0:EL0階段訪問PMCNTENSET_EL0寄存器:Performance Monitors Count Enable Set register
HSR_SYSREG_PMCNTENCLR_EL0:EL0階段訪問PMCNTENCLR_EL0寄存器:Performance Monitors Count Enable Clear register
HSR_SYSREG_PMOVSCLR_EL0:EL0階段訪問PMOVSCLR_EL0寄存器:Performance Monitors Overflow Flag Status Clear Register
HSR_SYSREG_PMSWINC_EL0:EL0階段訪問PMSWINC_EL0寄存器:Performance Monitors Software Increment register
HSR_SYSREG_PMSELR_EL0:EL0階段訪問PMSELR_EL0寄存器:Performance Monitors Event Counter Selection Register
HSR_SYSREG_PMCEID0_EL0:EL0階段訪問PMCEID0_EL0寄存器:Performance Monitors Common Event Identification register 0
HSR_SYSREG_PMCEID1_EL0:EL0階段訪問PMCEID1_EL0寄存器:Performance Monitors Common Event Identification register 1
HSR_SYSREG_PMCCNTR_EL0:EL0階段訪問PMCCNTR_EL0寄存器:Performance Monitors Cycle Count Register
HSR_SYSREG_PMXEVTYPER_EL0:EL0階段訪問PMXEVTYPER_EL0寄存器:Performance Monitors Selected Event Type Register
HSR_SYSREG_PMXEVCNTR_EL0:EL0階段訪問PMXEVCNTR_EL0寄存器:Performance Monitors Selected Event Count Register
HSR_SYSREG_PMOVSSET_EL0:EL0階段訪問PMOVSSET_EL0寄存器:Performance Monitors Overflow Flag Status Set register
下面是和定時(shí)器相關(guān)的寄存器:
HSR_SYSREG_CNTP_CTL_EL0:EL0階段訪問CNTP_CTL_EL0寄存器:Counter-timer Physical Timer Control register
HSR_SYSREG_CNTP_TVAL_EL0:EL0階段訪問CNTP_TVAL_EL0寄存器:Counter-timer Physical Timer TimerValue register
HSR_SYSREG_CNTP_CVAL_EL0:EL0階段訪問CNTP_CVAL_EL0寄存器:Counter-timer Physical Timer CompareValue register
下面是和GIC中斷控制器相關(guān)的寄存器:
HSR_SYSREG_ICC_SGI1R_EL1:EL1階段訪問ICC_SGI1R_EL1寄存器:Interrupt Controller Software Generated Interrupt Group 1 Register Generates Group 1 SGIs for the current Security state
HSR_SYSREG_ICC_ASGI1R_EL1:EL1階段訪問ICC_ASGI1R_EL1寄存器:Interrupt Controller Alias Software Generated Interrupt Group 1 Generates Group 1 SGIs for the Security state that is not the current Security state
HSR_SYSREG_ICC_SGI0R_EL1:EL1階段訪問ICC_SGI0R_EL1寄存器:Interrupt Controller Software Generated Interrupt Group 0 Register Generates Secure Group 0 SGIs
HSR_SYSREG_ICC_SRE_EL1:EL1階段訪問ICC_SRE_EL1寄存器:Interrupt Controller System Register Enable register (EL1)
下面是guest os用來識別處理器功能的大多數(shù)Identification寄存器:
ID_PFR0_EL1 ~ ID_PFR2_EL1:AArch32 Processor Feature Register 0、1、2
ID_DFR0_EL1、ID_DFR1_EL1:AArch32 Debug Feature Register 0、1
ID_AFR0_EL1:AArch32 Auxiliary Feature Register 0
ID_MMFR0_EL1 ~ ID_MMFR5_EL1:AArch32 Memory Model Feature Register 0、1、2、3、4、5
ID_ISAR0_EL1 ~ ID_ISAR6_EL1:AArch32 Instruction Set Attribute Register 0、1、2、3、4、5、6
MVFR0_EL1 ~ MVFR2_EL1: AArch32 Media and VFP Feature Register 0、1、2
ID_AA64PFR0_EL1、ID_AA64PFR1_EL1:AArch64 Processor Feature Register 0、1
ID_AA64DFR0_EL1、ID_AA64DFR1_EL1:AArch64 Debug Feature Register 0、1
ID_AA64ISAR0_EL1、ID_AA64ISAR1_EL1:AArch64 Instruction Set Attribute Register 0、1
ID_AA64MMFR0_EL1 ~ ID_AA64MMFR2_EL1:AArch64 Memory Model Feature Register 0、1、2
ID_AA64AFR0_EL1、ID_AA64AFR1_EL1:AArch64 Auxiliary Feature Register 0
ID_AA64ZFR0_EL1:AArch64 SVE Feature ID register 0
EL1訪問 group 3 ID registers:

在這里插入圖片描述

④低異常等級產(chǎn)生的數(shù)據(jù)&指令abort

functionaction
do_trap_stage2_abort_guest(數(shù)據(jù)&指令abort都是調(diào)用這個(gè)函數(shù))FSC_FLT_PERM:0b0011xx:L1/L2/L3頁表訪問權(quán)限錯(cuò)誤
p2m_mem_access_check,這里會去配置頁表項(xiàng),設(shè)置權(quán)限位
FSC_FLT_TRANS:0b0001xx:L0/L1/L2/L3頁表翻譯錯(cuò)誤,IPA —> PA的頁表沒有正確配置(VA —> IPA的翻譯已經(jīng)在guest os的EL1處理了)
check_p2m —> p2m_resolve_translation_faul或者try_map_mmio
try_decode_instruction —> 指令abort
try_handle_mmio(IO trap or Device emulation,解決多個(gè)guest os訪問一個(gè)外設(shè)的情況)

2. hypervisor同步異常 — do_trap_hyp_sync

functionaction
do_trap_hyp_syncHSR_EC_BRK:斷點(diǎn)指令異常,調(diào)試用
HSR_EC_DATA_ABORT_CURR_EL:同異常等級產(chǎn)生的數(shù)據(jù)abort:dump_hyp_walk。xen的頁表錯(cuò)誤
HSR_EC_INSTR_ABORT_CURR_EL:同異常等級產(chǎn)生的指令abort:dump_hyp_walk
http://m.aloenet.com.cn/news/45480.html

相關(guān)文章:

  • soho外貿(mào)建站拼多多seo 優(yōu)化軟件
  • 網(wǎng)站登錄不上怎么回事站長是什么職位
  • 電子工程網(wǎng)官方網(wǎng)站網(wǎng)址怎么注冊
  • 做搜狗網(wǎng)站優(yōu)化搜索數(shù)據(jù)
  • 網(wǎng)站域名設(shè)計(jì)推薦百度推廣培訓(xùn)班
  • 網(wǎng)站建設(shè)遠(yuǎn)程工作搜索引擎優(yōu)化方案
  • 網(wǎng)站建設(shè)前期預(yù)算端點(diǎn)seo博客
  • 物流企業(yè)網(wǎng)站有哪些百度網(wǎng)站優(yōu)化排名
  • 做公司網(wǎng)站 找誰做網(wǎng)絡(luò)營銷主要學(xué)什么
  • 做網(wǎng)站 信息集成過程的順序品牌營銷策略案例
  • UE做的比較好的網(wǎng)站軟文的概念是什么
  • 開獎(jiǎng)網(wǎng)站怎么做營銷推廣網(wǎng)
  • 長春老火車站圖片如何宣傳推廣自己的產(chǎn)品
  • 用網(wǎng)站做淘客怎么做株洲seo優(yōu)化推薦
  • 房地產(chǎn)銷售自我介紹大兵seo博客
  • 淘寶網(wǎng)站是什么語言做的qq群推廣
  • 政府大型門戶網(wǎng)站建設(shè)方案seo專業(yè)培訓(xùn)班
  • 如何做旅游網(wǎng)站的旅行家網(wǎng)址推廣
  • 網(wǎng)站規(guī)劃書包括哪些方面公司官網(wǎng)怎么制作
  • 教務(wù)系統(tǒng)網(wǎng)站怎么做南寧網(wǎng)站seo外包
  • 中企動(dòng)力制作的網(wǎng)站后臺怎樣搭建自己的網(wǎng)站
  • 做網(wǎng)站一個(gè)月30ip網(wǎng)絡(luò)推廣是網(wǎng)絡(luò)營銷的基礎(chǔ)
  • 做cpa能用什么網(wǎng)站seo怎么優(yōu)化簡述
  • 怎么創(chuàng)建網(wǎng)站論壇重慶seo公司
  • 網(wǎng)站建設(shè)企業(yè)的未來發(fā)展計(jì)劃十大少兒編程教育品牌
  • 網(wǎng)頁設(shè)計(jì)代碼模板海賊王網(wǎng)站優(yōu)化排名提升
  • 牛商網(wǎng)營銷型網(wǎng)站建設(shè)廈門百度廣告開戶
  • 網(wǎng)站建設(shè)免費(fèi)教程我是seo關(guān)鍵詞
  • 佛山建網(wǎng)站建網(wǎng)站找哪個(gè)公司
  • 業(yè)余學(xué)做衣服上哪個(gè)網(wǎng)站軟文網(wǎng)站大全