CN112052069B - 一种写、读虚拟机标识的方法、装置及相关设备 - Google Patents
一种写、读虚拟机标识的方法、装置及相关设备 Download PDFInfo
- Publication number
- CN112052069B CN112052069B CN202010861779.1A CN202010861779A CN112052069B CN 112052069 B CN112052069 B CN 112052069B CN 202010861779 A CN202010861779 A CN 202010861779A CN 112052069 B CN112052069 B CN 112052069B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- physical address
- range
- reading
- machine identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000006978 adaptation Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 241000287828 Gallus gallus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种写、读虚拟机标识的方法、装置及相关设备,其中写虚拟机标识的方法包括:获取待写的虚拟机标识;至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;根据所述位置范围,将所述虚拟机标识写入物理地址中。本申请实施例可减少安全处理器的固件适配工作,使用一套安全处理器的固件,灵活的写、读虚拟机标识。
Description
技术领域
本申请实施例涉及虚拟机技术领域,具体涉及一种写、读虚拟机标识的方法、装置及相关设备。
背景技术
通过虚拟化技术(Virtualization),物理主机可虚拟化出多台虚拟机(VirtualMachine,VM),从而最大化利用物理主机的硬件资源,虚拟化出的虚拟机可在物理内存中被分配内存空间,称为虚拟机内存空间,每台虚拟机的虚拟机内存空间主要用于任务消耗及支持虚拟化。
为区分虚拟化出的不同虚拟机,虚拟机可拥有作为身份信息的虚拟机标识,虚拟机的虚拟机标识可被写入物理内存的物理地址中,并在虚拟机运行过程中,通过读取物理地址中写入的虚拟机标识,实现在虚拟机的虚拟机内存空间进行数据读写;因此如何提供写、读虚拟机标识的方法,以实现灵活的写、读虚拟机标识,成为了本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种写、读虚拟机标识的方法、装置及相关设备,以灵活的写、读虚拟机标识。
为实现上述目的,本申请实施例提供如下技术方案:
一种写虚拟机标识的方法,包括:
获取待写的虚拟机标识;
至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
根据所述位置范围,将所述虚拟机标识写入物理地址中。
本申请实施例还提供一种读虚拟机标识的方法,包括:
获取虚拟机标识读指令;
响应所述虚拟机标识读指令,至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
根据所述位置范围,从物理地址中读取出虚拟机标识。
本申请实施例还提供一种写虚拟机标识的装置,包括:
待写标识获取模块,用于获取待写的虚拟机标识;
寄存器读取模块,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
标识写模块,用于根据所述位置范围,将所述虚拟机标识写入物理地址中。
本申请实施例还提供一种读虚拟机标识的装置,包括:
读指令获取模块,用于获取虚拟机标识读指令;
寄存器读取模块,用于响应所述虚拟机标识读指令,至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
标识读模块,用于根据所述位置范围,从物理地址中读取出虚拟机标识。
本申请实施例还提供一种安全处理器,所述安全处理器被配置为执行如上述所述的写虚拟机标识的方法,或者,如上述所述的读虚拟机标识的方法。
本申请实施例还提供一种芯片,包括如上述所述的安全处理器。
本申请实施例还提供一种电子设备,包括:物理内存以及如上述所述的芯片;所述物理内存中设置有物理地址格式寄存器,所述物理地址格式寄存器至少记录虚拟机标识在物理地址中的位置范围。
本申请实施例提供的写虚拟机标识的方法,可由物理地址格式寄存器记录虚拟机标识在物理地址中的位置范围,以实现记录CPU定义的虚拟机标识的物理地址格式,并且所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数,从而在安全处理器获取待写的虚拟机标识后,可至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,从而根据所述位置范围,将所述虚拟机标识写入相应的物理地址中,实现将虚拟机标识写入物理内存的物理地址中。
由于虚拟机标识在物理地址中的位置范围由物理地址格式寄存器进行记录,且所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数,因此CPU代数更迭定义的虚拟机标识的bit位数和物理地址格式发生变化时,本申请实施例可在硬件层面相应设置物理地址格式寄存器中的内容,来实现适配CPU定义的虚拟机标识的bit位数和物理地址格式,而不涉及到安全处理器的固件修改,即无论CPU代数如何更迭,安全处理器均可通过读取物理地址格式寄存器中记录的内容,来将虚拟机标识写入物理内存的物理地址中。可见,本申请实施例可避免安全处理器的固件频繁修改,达到一套安全处理器的固件,适配多代CPU定义的虚拟机标识的bit位数和物理地址格式的目的,减少安全处理器的固件适配工作,可实现安全处理器灵活的写虚拟机标识。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为传统虚拟化技术的系统架构示意图;
图2为安全虚拟化技术的系统架构示意图;
图3为安全虚拟化技术的微架构示意图;
图4为虚拟机标识与密钥的绑定关系示例图;
图5为虚拟机标识的物理地址格式示例图;
图6为本申请实施例提供的虚拟化技术的系统架构示意图;
图7为本申请实施例提供的写虚拟机标识的方法的流程图;
图8为本申请实施例提供的物理地址格式寄存器的记录示例图;
图9为本申请实施例提供的写虚拟机标识的示例图;
图10为本申请实施例提供的物理地址格式寄存器的另一记录示例图;
图11为本申请实施例提供的写虚拟机标识的方法的另一流程图;
图12为本申请实施例提供的写虚拟机标识的另一示例图;
图13为本申请实施例提供的写虚拟机标识的方法的再一流程图;
图14为本申请实施例提供的写虚拟机标识的再一示例图;
图15为本申请实施例提供的读虚拟机标识的方法的流程图;
图16为本申请实施例提供的读虚拟机标识的方法的另一流程图;
图17为本申请实施例提供的读虚拟机标识的方法的再一流程图;
图18为本申请实施例提供的写虚拟机标识的装置的框图;
图19为本申请实施例提供的写虚拟机标识的装置的另一框图;
图20为本申请实施例提供的读虚拟机标识的装置的框图;
图21为本申请实施例提供的读虚拟机标识的装置的另一框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了传统虚拟化技术的系统架构示意图,如图1所示,传统虚拟化技术的系统架构可以包括:CPU(Central Processing Unit,中央处理器)核心10,内存控制器20,物理内存30;
其中,CPU核心10可通过软件形式配置虚拟机管理器110,并通过虚拟化技术虚拟化出多台虚拟机111,该多台虚拟机可由虚拟机管理器110进行内存管理,如由虚拟机管理器管理虚拟机在物理内存30中的虚拟机内存空间;
内存控制器20是控制物理内存30,并且使物理内存30与CPU核心10之间交换数据的硬件;物理内存30的部分或全部空间可作为为虚拟机分配的虚拟机内存空间;在典型的计算机系统中,内存控制器20负责处理内存访问请求,如内存控制器20可检测缓存是否记录内存访问请求对应的地址,若是,则从缓存读取该地址相应的数据,否则,遍历内存的页表查找该地址并读取该地址相应的数据。
图1所示的系统架构基于传统虚拟化技术实现,传统虚拟化技术并不对虚拟机内存空间进行安全保护,这导致虚拟机内存空间中的虚拟机数据的安全性存在威胁,因此为提升虚拟机数据的安全性,区别于传统虚拟化技术的安全虚拟化技术应运而生;
安全虚拟化技术是可对虚拟机内存空间进行安全保护的虚拟化技术,通过安全虚拟化技术可对部分或所有虚拟机内存空间进行加密,而且不同虚拟机的虚拟机内存空间通过不同的密钥进行加密,即使虚拟机管理器也无法访问密钥,从而防止物理主机、虚拟机管理器对虚拟机内存空间中的虚拟机数据的访问和篡改,提升了虚拟机数据的安全性;
作为一种示例说明,图2示出了安全虚拟化技术的系统架构示意图,结合图1和图2所示,图2所示系统架构相比于图1所示系统架构还可以包括:安全处理器40,安全处理器40为安全虚拟化技术专门设置的负责虚拟机数据安全的处理器;
如图2所示,虚拟机管理器10可配置与安全处理器40相通信的API接口,实现虚拟机管理器与安全处理器的数据交互;同时,内存控制器20可配置加解密引擎21,加解密引擎21可存储对虚拟机内存空间进行加解密的密钥,并且不同虚拟机的虚拟机内存空间使用不同的密钥进行加解密;具体的,在安全虚拟化技术中,虚拟机的虚拟机标识与密钥相绑定,并通过安全处理器40为虚拟机分配密钥,从而在虚拟机运行过程中,安全处理器40可通过加解密引擎21使用与虚拟机标识绑定的密钥,对虚拟机的虚拟机内存空间进行加解密,以实现虚拟机与物理主机、以及不同虚拟机之间的数据安全隔离。
在更进一步的说明中,图3示出了安全虚拟化技术的微架构示意图,如图3所示,SOC(System On Chip,片上系统)内部设置有CPU核心10,安全处理器40,和内存控制器20;SOC外部设置物理内存30(例如动态随机存取存储器DRAM等);并且,安全处理器40与CPU核心10通过API接口交互,安全处理器40与内存控制器(memory controller)20通过总线交互,并运行program(程式),为不同的虚拟机分配不同的VEK(Virtualization EncryptedKey,虚拟机加密密钥),且使得虚拟机的VEK与虚拟机的虚拟机标识相绑定;由于虚拟机的虚拟机内存空间使用密钥进行加解密,因此SOC外部的数据为加密后的密文,SOC内部为明文。
进一步,图4示出了虚拟机标识与密钥的绑定关系,可进行参照,如图4所示,ASID(Address Space ID,地址空间ID)为虚拟机的虚拟机标识,不同的虚拟机拥有不同的ASID,如果虚拟机的虚拟机内存空间是加密的,则安全处理器可分配与虚拟机的ASID相绑定的密钥,如图4中虚拟机1的ASID1与密钥1相绑定,虚拟机2的ASID2与密钥2相绑定,以此类推;从而在虚拟机运行过程中,安全处理器以虚拟机的ASID作为密钥的索引,利用ASID调取相绑定的密钥,通过加解密引擎对虚拟机的虚拟机内存空间进行加解密,例如,在虚拟机1的运行过程中,安全处理器可利用虚拟机1的ASID1,调取相绑定的密钥1,利用密钥1对虚拟机1的虚拟机内存空间进行加解密;图4示例是以3台虚拟机进行示例说明,在实际情况下,虚拟机的数量并不限于3台。
需要说明的是,图3所示系统架构是以CPU核心、内存控制器、安全处理器集成在SOC上进行说明,显然,SOC仅是计算机体系结构的一种可选形式,安全虚拟化技术也可支持其他形式的计算机体系结构,例如,安全虚拟化技术也可支持处理器和南桥相耦合的计算机体系结构、分设南桥和北桥的计算机体系结构等,此时,CPU核心、内存控制器、内存、和安全处理器可相应部署,此处不再展开说明。
通过上文的描述,可以看出,在安全虚拟化技术中,安全处理器需要使用虚拟机标识调取相绑定的密钥,以通过加解密引擎实现对应虚拟机内存空间的加解密;也就是说,安全虚拟化技术涉及到安全处理器在物理内存的物理地址中,写入虚拟机标识和读取虚拟机标识,以便在访问虚拟机内存时,能够使用虚拟机标识绑定的密钥对虚拟机内存空间进行加解密,因此研究虚拟机标识的写、读方案具有重要意义。
虚拟机标识的物理地址格式可由CPU硬件定义,如CPU硬件可在SPEC(StandardPerformance Evaluation Corporation,标准性能评估组织)套件中定义虚拟机标识的物理地址格式,从而安全处理器的固件可记录CPU硬件所定义的虚拟机标识的物理地址格式,由安全处理器实现写、读虚拟机标识;然而,随着CPU的代数更迭,不同代CPU所能支持的虚拟机数量是不同的,这导致不同代CPU定义的虚拟机标识的物理地址格式以及虚拟机标识的bit位数是不同的,例如代数较早的CPU可定义虚拟机标识占用4个bit,以支持16个虚拟机,而最近代数的CPU可定义虚拟机标识占用9个bit,以支持512个虚拟机;不同代CPU定义的虚拟机标识的物理地址格式以及bit位数的不同,将影响安全处理器的固件实现,即需要针对不同代CPU定义的虚拟机标识的bit位数及虚拟机标识的物理地址格式,修改安全处理器的固件中记录的虚拟机标识的物理地址格式,这导致安全处理器的固件需要频繁修改,无疑使得安全处理器无法实现虚拟机标识的灵活写、读;
示例的,以ASID作为虚拟机标识,图5示出了4位bit的ASID和9位比特的物理地址格式示例,当ASID为4位bit时,ASID在物理内存中的物理地址为[43:46],此时,安全处理器的固件需要记录ASID的物理地址格式为[43:46],从而安全处理器可基于固件中记录的物理地址格式,将ASID写入到物理内存中物理地址偏移为[43:46]的位置,其中物理地址偏移为47的位置写入ASID的指示bit(又称为c-bit),指示bit用于指示对应的内存页是否被加密;
而当ASID为9位bit时,便需要修改安全处理器的固件中记录的ASID的物理地址格式为[45:46][48:54],从而安全处理器基于固件记录的物理地址格式,将ASID写入到物理内存中物理地址偏移为[45:46][48:54]的位置,其中,物理地址偏移为47的位置写入ASID的指示bit;同理,如果下一代CPU定义的ASID的bit位数或者物理地址格式发生变化,则还是需要修改安全处理器的固件中的记录,以实现适配。
可以看出,针对不同代CPU定义的虚拟机标识的bit位数和物理地址格式,修改安全处理器固件中的记录,无疑使得安全处理器的固件需要不断的修改变动,才可适配不同代CPU,这导致安全处理器无法灵活实现虚拟机标识的写和读;基于此,本申请实施例提供改进的写、读虚拟机标识的方案,以通过一套安全处理器的固件,适配多代CPU定义的虚拟机标识的bit位数和物理地址格式,减少安全处理器的固件适配工作,实现灵活写、读虚拟机标识。
在可选实现中,图6示出了本申请实施例提供的虚拟化技术的系统架构示意图,该系统架构可基于安全虚拟化技术实现,结合图2和图6所示,本申请实施例提供的系统架构,在图2所示系统架构的基础上新增了物理地址格式寄存器(PhysAddrFormat)31,物理地址格式寄存器31可位于物理内存30中,至少用于记录虚拟机标识在物理地址中的位置范围,如记录虚拟机标识在物理地址中的起始位置,终止位置等;需要说明的是,物理地址格式寄存器31也可不设置于物理内存中,而是可设置在计算机体系结构的其他位置,并与安全处理器直接或间接通信;
本申请实施例通过新增物理地址格式寄存器,记录虚拟机标识在物理地址中的位置范围,这使得安全处理器可通过读取物理地址格式寄存器,获得虚拟机标识在物理地址中的位置范围,从而安全处理器可基于所读取的位置范围,在物理内存的物理地址中实现虚拟机标识的写和读,而不需由安全处理器的固件记录虚拟机标识的物理地址格式;
从而,在CPU代数更迭时,本申请实施例可在硬件层面对物理地址格式寄存器的记录设置进行调整,从而调整物理地址格式寄存器记录的虚拟机标识在物理地址中的位置范围,并且使所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;如此,安全处理器可通过一套固件,来读取物理地址格式寄存器记录的虚拟机标识在物理地址中的位置范围,进而基于读取的位置范围,实现虚拟机标识的写和读,而不需进行安全处理器的固件修改,可避免安全处理器的固件频繁修改,达到一套安全处理器的固件,适配多代CPU的定义,减少安全处理器的固件适配工作的效果。
基于上述思路,下面从写虚拟机标识的角度,对本申请实施例提供的方案进行介绍,在可选实现中,图7示出了本申请实施例提供的写虚拟机标识的方法的可选流程,在安全虚拟化场景下,该方法流程可由安全处理器执行实现,如图7所示,该方法流程可以包括:
步骤S100、获取待写的虚拟机标识。
待写的虚拟机标识为待写入物理地址中的虚拟机标识,在可选实现中,本申请实施例可获取为虚拟机分配的虚拟机标识,从而将为虚拟机分配的虚拟机标识作为所述待写的虚拟机标识;
具体的,在基于安全虚拟技术虚拟化出虚拟机后,本申请实施例可为虚拟机分配虚拟机标识,如为虚拟机分配ASID,从而安全处理器可获取为虚拟机分配的虚拟机标识,作为待写的虚拟机标识;
在一种可选的实现中,本申请实施例可由虚拟机管理器虚拟化出虚拟机,并由虚拟机管理器为虚拟化出的虚拟机分配虚拟机标识,从而安全处理器可将虚拟机管理器为虚拟机分配的虚拟机标识,作为待写的虚拟机标识;在另一种可选实现中,本申请实施例可由安全处理器为虚拟化出的虚拟机分配虚拟机标识,从而安全处理器可确定为虚拟机分配的虚拟机标识,作为待写的虚拟机标识。
需要说明的是,步骤S100也可涉及在虚拟机已分配虚拟机标识的情况下,对虚拟机已分配的虚拟机标识进行修改、更新时,获取修改、更新后重新分配的虚拟机标识,作为待写的虚拟机标识。
步骤S110、至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围。
如前文所述,本申请实施例可通过新增物理地址格式寄存器(如在物理内存中新增物理地址格式寄存器),记录虚拟机标识在物理地址中的位置范围,所述位置范围可通过硬件方式固设在物理地址格式寄存器中,并且所述位置范围相应的bit位数不小于CPU定义的虚拟机标识的bit位数;从而,安全处理器可从物理地址格式寄存器中,读取出所记录的虚拟机标识在物理地址中的位置范围。
在可选实现中,虚拟机标识在物理地址中的位置范围可以包括虚拟机标识在物理地址的起始位置和终止位置,物理地址格式寄存器可通过第一bit范围,记录虚拟机标识在物理地址的起始位置,通过第二bit范围,记录虚拟机标识在物理地址的终止位置;示例的,如图8所示,以ASID作为虚拟机标识,物理地址格式寄存器[8:15]的bit范围作为第一bit范围,记录虚拟机标识在物理地址中的起始位置,物理地址格式寄存器[16:23]的bit范围作为第二bit范围,记录虚拟机标识在物理地址中的终止位置;
在进一步的示例中,以4位bit的ASID为例,假设ASID在物理内存中的物理地址为[43:46],而物理内存的物理地址从0开始编号,并顺序加1,从而针对该4位bit的ASID,其物理地址的起始位置为物理地址偏移(offset)为43的位置,其物理地址的终止位置为物理地址偏移为46的位置,进而可在物理地址格式寄存器中[8:15]的第一bit范围记录使用二进制或者十六进制表达的43,在物理地址格式寄存器中[16:23]的第二bit范围记录使用二进制或者十六进制表达的46;其他bit位数的ASID在物理地址中的位置范围,可同理在物理地址格式寄存器中记录。
基于物理地址格式寄存器的记录,安全处理器可从物理地址格式寄存器读取到虚拟机标识在物理地址中的起始位置和终止位置,具体的,安全处理器可从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置,从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
步骤S120、根据所述位置范围,将所述虚拟机标识写入物理地址中。
在从物理地址格式寄存器中读取到虚拟机标识在物理地址中的位置范围后,本申请实施例可基于所述位置范围,将虚拟机标识写入物理内存中与所述位置范围相应的物理地址,以实现虚拟机标识写入物理内存的物理地址中。
在可选实现中,基于虚拟机标识在物理地址的起始位置和终止位置,本申请实施例可在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识,在具体实现中,本申请实施例可按照物理地址由高位至低位的顺序,在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识;当然,按照由高位至低位的顺序写入虚拟机标识仅是一种可选方式,本申请实施例也可按照物理地址由低位至高位的顺序,在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识;
在一种示例中,结合图8和图9所示,以4位bit的ASID为1001为例,假设物理地址格式寄存器记录的ASID在物理地址中的起始位置为物理地址偏移43的位置,ASID在物理地址的终止位置为物理地址偏移46的位置,则安全处理器可在物理地址偏移为43至46的位置,按照物理地址由高位至低位的顺序,写入该4位bit的ASID。
本申请实施例提供的写虚拟机标识的方法,可由物理地址格式寄存器记录虚拟机标识在物理地址中的位置范围,以实现记录CPU定义的虚拟机标识的物理地址格式,并且所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数,从而在安全处理器获取待写的虚拟机标识后,可至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,从而根据所述位置范围,将所述虚拟机标识写入相应的物理地址中,实现将虚拟机标识写入物理内存的物理地址中。
由于虚拟机标识在物理地址中的位置范围由物理地址格式寄存器进行记录,且所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数,因此CPU代数更迭导致定义的虚拟机标识的bit位数和物理地址格式发生变化时,本申请实施例可在硬件层面相应设置物理地址格式寄存器中的内容,来实现适配CPU定义的虚拟机标识的bit位数和物理地址格式,而不涉及到安全处理器的固件修改,即无论CPU代数如何更迭,安全处理器均可通过读取物理地址格式寄存器中记录的内容,来将虚拟机标识写入物理内存的物理地址中。可见,本申请实施例可避免安全处理器的固件频繁修改,达到一套安全处理器的固件,适配多代CPU定义的虚拟机标识的bit位数和物理地址格式的目的,减少安全处理器的固件适配工作,可实现安全处理器灵活的写虚拟机标识。
在进一步的可选实现中,本申请实施例除在物理内存的物理地址中写入虚拟机标识外,还可在物理内存的物理地址中写入虚拟机标识的指示bit(指示bit又称为c-bit),指示bit用于指示物理地址指向的内存页是否被加密,例如,指示bit为第一值(第一值的可选示例例如1)时,则物理地址指向的内存页被加密,指示bit为第二值(第二值的可选示例例如0)时,则物理地址指向的内存页未被加密;需要说明的是,如果指示bit指示物理地址指向的内存页被加密,则虚拟机标识存在绑定的密钥,虚拟机标识就是这个密钥的索引,也就是说,虚拟机的虚拟机标识与虚拟机的密钥一一对应,从而虚拟机标识被以特定的格式保存在物理地址中,以方便在访问虚拟机内存空间时,能够使用与虚拟机标识绑定的密钥对虚拟机内存空间进行加解密;
基于此,本申请实施例除在物理地址格式寄存器中记录虚拟机标识在物理地址中的位置范围外,还可记录虚拟机标识的指示bit在物理地址中的位置,为便于说明,指示bit在物理地址中的位置可称为指示位置;在可选的具体实现中,物理地址格式寄存器可通过第一bit范围记录虚拟机标识在物理地址的起始位置,通过第二bit范围记录虚拟机标识在物理地址的终止位置,通过第三bit范围记录虚拟机标识的指示bit在物理地址中的指示位置;
示例的,结合图8和图10所示,以ASID作为虚拟机标识,物理地址格式寄存器[8:15]的bit范围作为第一bit范围,记录虚拟机标识在物理地址中的起始位置,物理地址格式寄存器[16:23]的bit范围作为第二bit范围,记录虚拟机标识在物理地址中的终止位置,物理地址格式寄存器[0:7]的bit范围作为第三bit范围,记录虚拟机标识的指示bit在物理地址中的指示位置。
在可能的实现方式中,指标bit在物理地址中的指示位置,可位于虚拟机标识在物理地址中的起始位置之前,或者,位于虚拟机标识在物理地址中的终止位置之后;此时,安全处理器在读取物理地址格式寄存器中记录的内容后,可依照虚拟机标识在物理地址中的起始位置和终止位置,以及指标bit在物理地址中的指示位置,分别在物理内存相应的物理地址中写入虚拟机标识和指示bit;可选的,图11示出了本申请实施例提供的写虚拟机标识的方法的另一可选流程,如图11所示,该方法流程可以包括:
步骤S200、获取待写的虚拟机标识。
步骤S210、读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的起始位置、终止位置,以及虚拟机标识的指示bit在物理地址中的指示位置。
可选的,安全处理器可从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置,从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置,从物理地址格式寄存器的第三bit范围,读取记录的虚拟机标识的指示bit在物理地址中的指示位置。
步骤S220、在物理地址偏移为所述指示位置的位置,写入所述指示bit,以及在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识。
由于指示bit在物理地址中的指示位置,位于所述起始位置之前或者所述终止位置之后,因此所述指示位置与所述位置范围是连续的,从而本申请实施例可在物理内存的物理地址偏移为所述指示位置的位置,写入所述指示bit,以及,在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识,如本申请实施例可按照物理地址由高位至低位的顺序,或者由低位至高位的顺序,在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识。
在一种示例中,以指标bit在物理地址中的指示位置位于所述终止位置之后为例,结合图12所示,假设4位bit的ASID为1001,指示bit为1,如果ASID在物理地址的位置范围为[43:46],ASID的指示bit在物理地址中位置为47,则可在物理地址格式寄存器[0:7]的第三bit范围记录使用二进制或者十六进制表达的47;在物理地址格式寄存器[8:15]的第一bit范围记录使用二进制或者十六进制表达的43;在物理地址格式寄存器[16:23]的第二bit范围记录使用二进制或者十六进制表达的46;从而,安全处理器在读取物理地址格式寄存器记录的内容后,可在物理地址偏移为47的位置写入指示bit,在物理地址偏移为43至46的位置,按照物理地址由高位至低位的顺序,写入该4位bit的ASID;
需要说明的是,图12示例仅是以4位bit的ASID为例进行说明,针对所述指示位置位于所述起始位置之前或者所述终止位置之后的情况,其他bit位数的ASID可同理实现写入,本申请实施例在此不再展开说明。
在可能的其他实现方式中,由于物理内存的数据写入要求,指标bit在物理地址中的指示位置,可能位于虚拟机标识在物理地址中的起始位置和终止位置之间,此时,本申请实施例需要将虚拟机标识划分为两部分来写入物理地址中,可选的,图13示出了本申请实施例提供的写虚拟机标识的方法的再一可选流程,如图13所示,该方法流程可以包括:
步骤S300、获取待写的虚拟机标识。
步骤S310、读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的起始位置、终止位置,以及虚拟机标识的指示bit在物理地址中的指示位置;其中,所述指示位置位于所述起始位置和终止位置之间,所述起始位置至指示位置之前的位置范围为第一位置范围,所述指示位置之后至所述终止位置的位置范围为第二位置范围。
示例的,以9位bit的ASID为例,假设ASID在物理地址中的起始位置为45,终止位置为54,指示bit在物理地址中的指示位置为47,则指示位置位于起始位置至终止位置之间,为便于说明,所述起始位置至指示位置之前的位置范围可称为第一位置范围(如[45:46]),所述指示位置之后至所述终止位置的位置范围可称为第二位置范围(如[48:54]);基于此,物理地址格式寄存器[0:7]的第三bit范围记录使用二进制或者十六进制表达的47;物理地址格式寄存器[8:15]的第一bit范围记录使用二进制或者十六进制表达的45;物理地址格式寄存器[16:23]的第二bit范围记录使用二进制或者十六进制表达的54;
上段是以9位bit的ASID为例,说明指示位置位于起始位置和终止位置之间的情况,针对其他bit位数的ASID,也存在指示位置位于起始位置和终止位置之间的情况,例如,以6位bit的ASID为例,其在物理地址中的指示位置可以为47,起始位置可以为44,终止位置可以为50。
步骤S320、将虚拟机标识划分为与第一位置范围的bit位数对应的第一部分虚拟机标识,和与第二位置范围的bit位数对应的第二部分虚拟机标识。
在安全处理器读取到物理地址格式寄存器中的内容,发现所述指示位置位于所述起始位置和终止位置之间,而物理地址中写入虚拟机标识的位置范围被划分为第一位置范围和第二位置范围,因此本申请实施例在将虚拟机标识写入物理地址中时,需要将虚拟机标识划分为能够写入第一位置范围的部分,和能够写入第二位置范围的部分,为便于说明,虚拟机标识划分的与第一位置范围的bit位数对应的部分可称为第一部分虚拟机标识,与第二位置范围的bit位数对应的部分可称为第二部分虚拟机标识;
在可选实现中,若虚拟机标识按照物理地址由高位至低位的顺序,写入物理地址,则由于所述第一位置范围为低位的位置范围,所述第二位置范围为高位的位置范围,因此本申请实施例可按照虚拟机标识从前往后的顺序,将虚拟机标识划分出与第二位置范围的bit位数对应的第二部分虚拟机标识,以及与第一位置范围的bit位数对应的第一部分虚拟机标识;可选的,若虚拟机标识按照物理地址由低位至高位的顺序,写入物理地址,则由于所述第一位置范围为低位的位置范围,所述第二位置范围为高位的位置范围,因此本申请实施例可按照虚拟机标识从前往后的顺序,将虚拟机标识划分出与第一位置范围的bit位数对应的第一部分虚拟机标识,以及与第二位置范围的bit位数对应的第二部分虚拟机标识;
在一种示例中,以9位bit的ASID为例,假设ASID在物理地址中的起始位置为45,终止位置为54,指示bit在物理地址中的指示位置为47,则第一位置范围[45:46]的bit位数为2,第二位置范围[48:54]的bit位数为7;若ASID按照物理地址由高位至低位的顺序,写入物理地址中,则本申请实施例可将9位bit的ASID按照从前到后的顺序进行划分,得到与第二位置范围的bit位数对应的7位bit的第二部分ASID,与第一位置范围的bit位数对应的2位bit的第一部分ASID;进一步,以9位bit的ASID为101011001为例,则该ASID由从前到后的顺序进行划分,前面的7位bit为与高位的第二位置范围对应的第二部分ASDI,即第二部分ASID为1010110,后面的2位bit为与低位的第一位置范围对应的第一部分ASID,即第一部分ASID为01;
若ASID按照物理地址由低位至高位的顺序,写入物理地址中,则在上述示例中,本申请实施例可将9位bit的ASID按照从前到后的顺序进行划分,先后得到与第一位置范围的bit位数对应的2位bit的第一部分ASID,与第二位置范围的bit位数对应的7位bit的第二部分ASID;进一步,以9位bit的ASID为101011001为例,则该ASID由从前到后的顺序进行划分,前面的2位bit为与低位的第一位置范围对应的第一部分ASDI,即第一部分ASID为10,后面的7位bit为与高位的第二位置范围对应的第二部分ASID,即第二部分ASID为1011001;
当然,本申请实施例也可适用其他bit位数的ASID,例如以6位bit的ASID为例,其在物理地址中的指示位置可以为47,起始位置可以为44,终止位置可以为50,则该6位bit的ASID可划分出与第一位置范围的bit位数对应的3位bit的第一部分ASID,与第二位置范围的bit位数对应的3位bit的第二部分ASID,假设6位bit的ASID为101001,并按照物理地址由高位至低位的顺序写入物理地址中,则按照该ASID从前往后划分后,所划分的第二部分ASID为101,第一部分ASID为001。
需要说明的是,虚拟机标识所划分的第一部分虚拟机标识和第二部分虚拟机标识的具体bit位数,可视指示位置在起始位置和终止位置之间所位于的具体位置而定,上述示例说明仅是为便于理解本申请实施例的方案而描述,本申请实施例对此并不加以限制。
步骤S330、在物理地址偏移为所述指示位置的位置,写入所述指示bit,在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识。
在将虚拟机标识划分为能够写入第一位置范围的第一部分虚拟机标识,能够写入第二位置范围的第二部分虚拟机标识后,本申请实施例可基于指示bit在物理地址中的指示位置,在物理地址偏移为所述指示位置的位置,写入所述指示bit;并且,在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识,即虚拟机标识划分成两部分,并避开指示bit的位置写入物理内存的物理地址中。可选的,虚拟机标识的写入顺序可以是按照物理地址由高位至低位,也可以是按照物理地址由低位至高位。
在一种示例中,结合图14示例以及前文描述,假设9位bit的ASID为101011001,指示bit为1表示对应内存页被加密,则基于物理地址格式寄存器中的记录,该ASID在物理地址中的起始位置为45,终止位置为54,指示bit在物理地址中的指示位置为47;若按照物理地址由高位至低位的顺序写入ASID,则该ASID划分的与第二位置范围[54:48]的比特位数对应的第二部分ASID为1010110,与第一位置范围[46:45]的比特位数对应的第一部分ASID为01,则安全处理器可在物理内存的物理地址偏移为47的位置写入1(即指示bit),在物理地址偏移为[46:45]的位置,按照由高位至低位的顺序写入01(即第一部分ASID),在物理地址偏移为[54:48]的位置,按照由高位至低位的顺序,写入1010110(即第二部分ASID)。
需要说明的是,设置虚拟机标识的指示bit仅是一种可选实现,本申请实施例也可支持不设置指示bit的情况,例如,物理内存中开辟的供虚拟机使用的所有虚拟机内存空间均默认为加密时。
本申请实施例提供的写虚拟机标识的方法,通过物理地址格式寄存器记录虚拟机标识在物理地址中的位置范围,以及指示bit在物理地址中的指示位置,从而安全处理器可基于物理地址格式寄存器中记录的内容,将虚拟机标识和指示bit写入物理地址中。由于安全处理器的固件不需要记录物理地址格式,而是由物理地址格式寄存器记录物理地址格式,因此仅需要基于CPU定义的虚拟机标识的bit位数和物理地址格式,在硬件层面对物理地址格式寄存器的记录进行设置,即可动态配置虚拟机标识在物理地址中的格式和bit位数,因此安全处理器使用一套固件,即可基于物理地址格式寄存器的记录来实现写虚拟机标识,从而适配多代CPU的定义,减少了安全处理器的固件适配工作,可实现安全处理器灵活的写虚拟机标识,并且能够提高安全虚拟化技术的硬件平台和固件的灵活性,有助于增强服务器CPU的可扩展性。
下面从读虚拟机标识的角度,对本申请实施例提供的方法进行介绍,下文描述的方法内容可与上文描述的方法相互对应参照;在可选实现中,图15示出了本申请实施例提供的读虚拟机标识的方法的可选流程,该方法流程可由安全处理器执行实现,如图15所示,该方法流程可以包括:
步骤S400、获取虚拟机标识读指令。
虚拟机标识读指令是用于从物理地址中读取虚拟机标识的指令,在可选实现中,本申请实施例可在虚拟机读写虚拟机内存空间的虚拟机数据时,获取到虚拟机标识读指令,以在虚拟机内存空间读写虚拟机数据时,可读取虚拟机标识并利用与虚拟机标识相绑定的密钥,对虚拟机内存空间进行加解密。
步骤S410、响应所述虚拟机标识读指令,至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围。
步骤S420、根据所述位置范围,从物理地址中读取出虚拟机标识。
如前文所述,本申请实施例通过物理地址格式寄存器,记录虚拟机标识在物理地址中的位置范围,且所述位置范围相应的bit位数,不小于CPU定义的虚拟机标识的bit位数;从而在读虚拟机标识时,安全处理器可读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,从而根据所述位置范围,从物理地址中读取出已写入的虚拟机标识。可选的,若虚拟机标识按照物理地址由高位至低位的顺序,写入物理地址中,则安全处理器可根据所述位置范围,从物理地址的高位至低位读取出虚拟机标识;虚拟机标识按照物理地址由低位至高位的顺序写入时,同理适应读出。
在可选实现中,安全处理器可读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的起始位置和终止位置,如从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置,从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置,从而安全处理器可在物理地址偏移为所述起始位置至所述终止位置的位置,读取所述虚拟机标识。
示例的,结合图9所示,物理地址偏移为43至46的位置,按照高位至低位的顺序写入4位bit的ASID为1001,则在读ASID时,基于物理地址格式寄存器记录的ASID在物理地址中的起始位置为物理地址偏移43的位置,终止位置为物理地址偏移46的位置,安全处理器可在物理地址偏移为43至46的位置,从高位至低位,读取出ASID。
本申请实施例提供的读虚拟机标识的方法,可由物理地址格式寄存器记录虚拟机标识在物理地址中的位置范围,从而安全处理器在读虚拟机标识时,可读取物理地址格式寄存器所记录的所述位置范围,基于所述位置范围从物理地址中读取出虚拟机标识,因此安全处理器可使用一套固件,通过读取物理地址格式寄存器记录的内容,来实现从物理地址中读取出虚拟机标识,避免安全处理器的固件频繁修改,可达到一套安全处理器的固件,适配多代CPU定义的虚拟机标识的bit位数和物理地址格式,减少安全处理器的固件适配工作,可实现安全处理器灵活的读虚拟机标识。
可选的,在虚拟机标识设置指示bit的情况下,如果指示bit在物理地址中的指示位置位于所述起始位置之前或所述终止位置之后,则本申请实施例可从物理地址中分别读取出虚拟机标识和指示bit;可选的,图16示出了本申请实施例提供的读虚拟机标识的方法的另一可选流程,如图16所示,该方法流程可以包括:
步骤S500、获取虚拟机标识读指令。
步骤S510、响应所述虚拟机标识读指令,读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的起始位置、终止位置,以及虚拟机标识的指示bit在物理地址中的指示位置。
可选的,可从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置,从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置,从物理地址格式寄存器的第三bit范围,读取记录的虚拟机标识的指示bit在物理地址中的指示位置。
步骤S520、在物理地址偏移为所述指示位置的位置,读取指示bit,以及在物理地址偏移为所述起始位置至所述终止位置的位置,读取所述虚拟机标识。
示例的,结合图12示例所示,4位bit的ASID为1001,指示bit为1,在写ASID时,物理地址偏移为43至46的位置,由高位至低位写入该ASID,物理地址偏移为47的位置写入指示bit;
从而在读ASID时,基于物理地址格式寄存器记录的指示bit在物理地址中的指示位置为物理地址偏移47的位置,安全处理器从物理地址偏移为47的位置读取出指示bit;基于物理地址格式寄存器记录的ASID在物理地址中的起始位置为物理地址偏移43的位置,终止位置为物理地址偏移46的位置,安全处理器可在物理地址偏移为43至46的位置,由高位至低位读取出ASID。
在其他可能的实现中,如果指示bit在物理地址中的指示位置,位于所述起始位置和所述终止位置之间,则本申请实施例在从物理地址中读取虚拟机标识时,可读取到两部分的虚拟机标识,通过结合该两部分的虚拟机标识拼接成最终读取出的虚拟机标识;可选的,图17示出了本申请实施例提供的读虚拟机标识的方法的再一可选流程,如图17所示,该方法流程可以包括:
步骤S600、获取虚拟机标识读指令。
步骤S610、响应所述虚拟机标识读指令,读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的起始位置、终止位置,以及虚拟机标识的指示bit在物理地址中的指示位置;其中,所述指示位置位于所述起始位置和终止位置之间,所述起始位置至指示位置之前的位置范围为第一位置范围,所述指示位置之后至所述终止位置的位置范围为第二位置范围。
如前文所述,在所述指示位置位于所述起始位置和所述终止位置之间时,为便于说明,所述起始位置至指示位置之前的位置范围称为第一位置范围,所述指示位置之后至所述终止位置的位置范围称为第二位置范围。
步骤S620、在物理地址偏移为所述指示位置的位置,读取指示bit,在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识;将所述第一部分虚拟机标识和所述第二部分虚拟机标识拼接成读取出的虚拟机标识。
示例的,结合图14示例所示,9位bit的ASID为101011001,指示bit为1,在由物理地址的高位至低位的顺序写该ASID时,物理地址偏移为47的位置写入该ASID的指示bit,而ASID被划分为第一部分ASID(01)和第二部分ASID(1010110),其中,第一部分ASID按照高位至低位的顺序,写入到物理地址偏移为第一位置范围[46:45]的位置,第二部分ASID按照高位至低位的顺序,写入到物理地址偏移为第二位置范围[54:48]的位置;
从而在读ASID时,基于物理地址格式寄存器记录的指示bit在物理地址中的指示位置为物理地址偏移47的位置,安全处理器从物理地址偏移为47的位置读取出指示bit;基于物理地址格式寄存器记录的ASID在物理地址中的起始位置为物理地址偏移45的位置,终止位置为物理地址偏移54的位置,安全处理器可从物理地址偏移为第一位置范围[46:45]的位置,由高位至低位,读取出第一部分ASID(01),从物理地址偏移为第二位置范围[54:48]的位置,由高位至低位,读取出第二部分ASID(1010110),从而第一部分ASID和第二部分ASID可按照高位至低位的顺序,拼接成完整读取出的ASID(101011001)。
进一步,在读取出指示bit后,如果指示bit为第一值(第一值的示例如1),表示物理地址指向的内存页被加密,从而所读取的虚拟机标识拥有绑定的虚拟机的密钥,进而,安全处理器可获取与虚拟机标识相绑定的密钥,在虚拟机内存空间操作虚拟机数据时,利用所述密钥对所述虚拟机内存空间进行加解密;具体的,例如,在虚拟机内存空间写虚拟机数据时,可利用所述密钥对虚拟机内存空间进行加密,在虚拟机内存空间读虚拟机数据时,可利用所述密钥对虚拟机内存空间进行解密。
本申请实施例提供的读虚拟机标识的方法,通过物理地址格式寄存器记录虚拟机标识在物理地址中的位置范围,以及指示bit在物理地址中的指示位置,从而安全处理器可基于物理地址格式寄存器中记录的所述位置范围和所述指示位置,从物理地址中读取出虚拟机标识和指示bit。由于安全处理器的固件不需要鸡肋物理地址格式,而是由物理地址格式寄存器记录物理地址格式,因此本申请可通过硬件层面设置物理地址格式寄存器的记录,来实现动态配置虚拟机标识在物理地址中的格式,安全处理器仅使用一套固件,即可适配多代CPU定义的虚拟机标识的bit位数和物理地址格式,可减少安全处理器的固件适配工作,实现安全处理器灵活的读虚拟机标识,并且能够提高安全虚拟化技术的硬件平台和固件的灵活性,有助于增强服务器CPU的可扩展性。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
下面从写虚拟机标识的角度,对本申请实施例提供的写虚拟机标识的装置进行介绍,下文描述的写虚拟机标识的装置,可认为是为实现本申请实施例提供的写虚拟机标识的方法所需设置的功能模块。下文描述的写虚拟机标识的装置,可与上文描述的方法内容相互对应参照。
在可选实现中,图18示出了本申请实施例提供的写虚拟机标识的装置的框图,如图18所示,该写虚拟机标识的装置可以包括:
待写标识获取模块100,用于获取待写的虚拟机标识;
寄存器读取模块110,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
标识写模块120,用于根据所述位置范围,将所述虚拟机标识写入物理地址中。
可选的,寄存器读取模块110,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围包括:
从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置;从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
可选的,进一步,寄存器读取模块110,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围还包括:
从物理地址格式寄存器的第三bit范围,读取记录的虚拟机标识的指示bit在物理地址中的指示位置,所述指示bit用于指示物理地址指向的内存页是否被加密。
可选的,一方面,所述指示位置位于所述起始位置和终止位置之间,则所述起始位置至指示位置之前的位置范围为第一位置范围,所述指示位置之后至所述终止位置的位置范围为第二位置范围;
基于此,标识写模块120,用于根据所述位置范围,将所述虚拟机标识写入物理地址中包括:
将虚拟机标识划分为与第一位置范围的bit位数对应的第一部分虚拟机标识,和与第二位置范围的bit位数对应的第二部分虚拟机标识;
在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识。
可选的,标识写模块120,用于将虚拟机标识划分为与第一位置范围的bit位数对应的第一部分虚拟机标识,和与第二位置范围的bit位数对应的第二部分虚拟机标识包括:
按照虚拟机标识从前往后的顺序,将虚拟机标识划分出与第二位置范围的bit位数对应的第二部分虚拟机标识,以及与第一位置范围的bit位数对应的第一部分虚拟机标识。
可选的,标识写模块120,用于在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识;
可选的,标识写模块120,用于在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识。
可选的,另一方面,所述指示位置位于所述起始位置之前,或者位于所述终止位置之后;
基于此上述另一方面,或者不设置指示bit的情况,标识写模块120,用于根据所述位置范围,将所述虚拟机标识写入物理地址中包括:
在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识。
可选的,图19示出了本申请实施例提供的写虚拟机标识的装置的另一框图,结合图18和图19所示,该写虚拟机标识的装置还可以包括:
指示bit写模块130,用于在物理地址偏移为所述指示位置的位置,写入所述指示bit。
可选的,待写标识获取模块100,用于获取待写的虚拟机标识包括:
获取为虚拟机分配的虚拟机标识,将为虚拟机分配的虚拟机标识,作为所述待写的虚拟机标识。
本申请实施例还提供一种安全处理器,所述安全处理器的固件可通过装载上述描述的写虚拟机标识的装置,以实现本申请实施例提供的写虚拟机标识的方法。本申请实施例提供的安全处理器,可被配置为执行本申请实施例提供的写虚拟机标识的方法。
下面从读虚拟机标识的角度,对本申请实施例提供的读虚拟机标识的装置进行介绍,下文描述的读虚拟机标识的装置,可认为是为实现本申请实施例提供的读虚拟机标识的方法所需设置的功能模块。下文描述的读虚拟机标识的装置,可与上文描述的方法内容相互对应参照。
图20示出了本申请实施例提供的读虚拟机标识的装置的框图,如图20所示,该读虚拟机标识的装置可以包括:
读指令获取模块200,用于获取虚拟机标识读指令;
寄存器读取模块210,用于响应所述虚拟机标识读指令,至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
标识读模块220,用于根据所述位置范围,从物理地址中读取出虚拟机标识。
可选的,寄存器读取模块210,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围包括:
从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置;从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
可选的,进一步,寄存器读取模块210,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围还包括:
从物理地址格式寄存器的第三bit范围,读取记录的虚拟机标识的指示bit在物理地址中的指示位置,所述指示bit用于指示物理地址指向的内存页是否被加密。
可选的,一方面,所述指示位置位于所述起始位置和终止位置之间,则所述起始位置至指示位置之前的位置范围为第一位置范围,所述指示位置之后至所述终止位置的位置范围为第二位置范围;
基于此,标识读模块220,用于根据所述位置范围,从物理地址中读取出虚拟机标识包括:
在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识;将所述第一部分虚拟机标识和所述第二部分虚拟机标识拼接成读取出的虚拟机标识。
可选的,标识读模块220,用于在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识;
可选的,标识读模块220,用于在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识;
可选的,标识读模块220,用于将所述第一部分虚拟机标识和所述第二部分虚拟机标识拼接成读取出的虚拟机标识包括:
按照高位至低位的顺序,将所述第二部分虚拟机标识和所述第一部分虚拟机标识,拼接成读取出的虚拟机标识。
可选的,另一方面,所述指示位置位于所述起始位置之前,或者位于所述终止位置之后;
基于此上述另一方面,或者不设置指示bit的情况,标识读模块220,用于根据所述位置范围,从物理地址中读取出虚拟机标识包括:
在物理地址偏移为所述起始位置至所述终止位置的位置,读取所述虚拟机标识。
可选的,图21示出了本申请实施例提供的读虚拟机标识的装置的另一框图,如图21所示,该读虚拟机标识的装置可以包括:
指示bit读模块230,用于在物理地址偏移为所述指示位置的位置,读取所述指示bit;
加解密处理模块240,用于若所述指示bit指示物理地址指向的内存页被加密,获取与虚拟机标识相绑定的密钥;在虚拟机内存空间操作虚拟机数据时,利用所述密钥对所述虚拟机内存空间进行加解密。
本申请实施例还提供一种安全处理器,所述安全处理器的固件可通过装载上述描述的读虚拟机标识的装置,以实现本申请实施例提供的读虚拟机标识的方法。本申请实施例提供的安全处理器,可被配置为执行本申请实施例提供的读虚拟机标识的方法。
本申请实施例还提供一种芯片,例如SOC芯片,该芯片可以包括本申请实施例提供的安全处理器,该安全处理器可被配置为执行本申请实施例提供的写虚拟机标识的方法,或,读虚拟机标识的方法。
结合图6所示,本申请实施例还提供一种电子设备,该电子设备可以具有本申请实施例提供的虚拟化技术的系统架构,如该电子设备可以包括上述描述的芯片,以及物理内存,所述物理内存中设置有物理地址格式寄存器,所述物理地址格式寄存器至少记录虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数。
本申请实施例提供的方案通过一套安全处理器的固件,适配多代CPU要求的虚拟机标识的bit位数,可减少安全处理器的固件适配工作,实现灵活写、读虚拟机标识。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (24)
1.一种写虚拟机标识的方法,其特征在于,包括:
获取待写的虚拟机标识;
至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
根据所述位置范围,将所述虚拟机标识写入物理地址中;
其中,所述至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围包括:从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置;从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
2.根据权利要求1所述的写虚拟机标识的方法,其特征在于,所述至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围还包括:
从物理地址格式寄存器的第三bit范围,读取记录的虚拟机标识的指示bit在物理地址中的指示位置,所述指示bit用于指示物理地址指向的内存页是否被加密。
3.根据权利要求2所述的写虚拟机标识的方法,其特征在于,所述指示位置位于所述起始位置和终止位置之间,所述起始位置至指示位置之前的位置范围为第一位置范围,所述指示位置之后至所述终止位置的位置范围为第二位置范围。
4.根据权利要求3所述的写虚拟机标识的方法,其特征在于,所述根据所述位置范围,将所述虚拟机标识写入物理地址中包括:
将虚拟机标识划分为与第一位置范围的bit位数对应的第一部分虚拟机标识,和与第二位置范围的bit位数对应的第二部分虚拟机标识;
在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识。
5.根据权利要求4所述的写虚拟机标识的方法,其特征在于,所述将虚拟机标识划分为与第一位置范围的bit位数对应的第一部分虚拟机标识,和与第二位置范围的bit位数对应的第二部分虚拟机标识包括:
按照虚拟机标识从前往后的顺序,将虚拟机标识划分出与第二位置范围的bit位数对应的第二部分虚拟机标识,以及与第一位置范围的bit位数对应的第一部分虚拟机标识。
6.根据权利要求5所述的写虚拟机标识的方法,其特征在于,所述在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第一位置范围的位置,写入所述第一部分虚拟机标识;
所述在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第二位置范围的位置,写入所述第二部分虚拟机标识。
7.根据权利要求2所述的写虚拟机标识的方法,其特征在于,所述指示位置位于所述起始位置之前,或者位于所述终止位置之后。
8.根据权利要求1或7所述的写虚拟机标识的方法,其特征在于,所述根据所述位置范围,将所述虚拟机标识写入物理地址中包括:
在物理地址偏移为所述起始位置至所述终止位置的位置,写入所述虚拟机标识。
9.根据权利要求2-7任一项所述的写虚拟机标识的方法,其特征在于,还包括:
在物理地址偏移为所述指示位置的位置,写入所述指示bit。
10.根据权利要求1所述的写虚拟机标识的方法,其特征在于,所述获取待写的虚拟机标识包括:
获取为虚拟机分配的虚拟机标识,得到所述待写的虚拟机标识。
11.一种读虚拟机标识的方法,其特征在于,包括:
获取虚拟机标识读指令;
响应所述虚拟机标识读指令,至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
根据所述位置范围,从物理地址中读取出虚拟机标识;
其中,所述至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围包括:从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置;从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
12.根据权利要求11所述的读虚拟机标识的方法,其特征在于,所述至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围还包括:
从物理地址格式寄存器的第三bit范围,读取记录的虚拟机标识的指示bit在物理地址中的指示位置,所述指示bit用于指示物理地址指向的内存页是否被加密。
13.根据权利要求12所述的读虚拟机标识的方法,其特征在于,所述指示位置位于所述起始位置和终止位置之间,所述起始位置至指示位置之前的位置范围为第一位置范围,所述指示位置之后至所述终止位置的位置范围为第二位置范围。
14.根据权利要求13所述的读虚拟机标识的方法,其特征在于,所述根据所述位置范围,从物理地址中读取出虚拟机标识包括:
在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识,以及在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识;
将所述第一部分虚拟机标识和所述第二部分虚拟机标识拼接成读取出的虚拟机标识。
15.根据权利要求14所述的读虚拟机标识的方法,其特征在于,所述在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第一位置范围的位置,读取第一部分虚拟机标识;
所述在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识包括:
按照物理地址由高位至低位的顺序,在物理地址偏移为第二位置范围的位置,读取第二部分虚拟机标识;
所述将所述第一部分虚拟机标识和所述第二部分虚拟机标识拼接成读取出的虚拟机标识包括:
按照高位至低位的顺序,将所述第二部分虚拟机标识和所述第一部分虚拟机标识,拼接成读取出的虚拟机标识。
16.根据权利要求12所述的读虚拟机标识的方法,其特征在于,所述指示位置位于所述起始位置之前,或者位于所述终止位置之后。
17.根据权利要求11或16所述的读虚拟机标识的方法,其特征在于,所述根据所述位置范围,从物理地址中读取出虚拟机标识包括:
在物理地址偏移为所述起始位置至所述终止位置的位置,读取所述虚拟机标识。
18.根据权利要求12-16任一项所述的读虚拟机标识的方法,其特征在于,还包括:
在物理地址偏移为所述指示位置的位置,读取所述指示bit。
19.根据权利要求18所述的读虚拟机标识的方法,其特征在于,还包括:
若所述指示bit指示物理地址指向的内存页被加密,获取与虚拟机标识相绑定的密钥;
在虚拟机内存空间操作虚拟机数据时,利用所述密钥对所述虚拟机内存空间进行加解密。
20.一种写虚拟机标识的装置,其特征在于,包括:
待写标识获取模块,用于获取待写的虚拟机标识;
寄存器读取模块,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
标识写模块,用于根据所述位置范围,将所述虚拟机标识写入物理地址中;
其中,所述寄存器读取模块,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围包括:从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置;从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
21.一种读虚拟机标识的装置,其特征在于,包括:
读指令获取模块,用于获取虚拟机标识读指令;
寄存器读取模块,用于响应所述虚拟机标识读指令,至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数;
标识读模块,用于根据所述位置范围,从物理地址中读取出虚拟机标识
其中,所述寄存器读取模块,用于至少读取物理地址格式寄存器中记录的虚拟机标识在物理地址中的位置范围包括:从物理地址格式寄存器的第一bit范围,读取记录的虚拟机标识在物理地址的起始位置;从物理地址格式寄存器的第二bit范围,读取记录的虚拟机标识在物理地址的终止位置。
22.一种安全处理器,其特征在于,所述安全处理器被配置为执行如权利要求1-10任一项所述的写虚拟机标识的方法,或者,如权利要求11-19任一项所述的读虚拟机标识的方法。
23.一种芯片,其特征在于,包括如权利要求22所述的安全处理器。
24.一种电子设备,其特征在于,包括:物理内存以及如权利要求23所述的芯片;所述物理内存中设置有物理地址格式寄存器,所述物理地址格式寄存器至少记录虚拟机标识在物理地址中的位置范围,所述位置范围对应的bit位数不小于CPU定义的虚拟机标识的bit位数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010861779.1A CN112052069B (zh) | 2020-08-25 | 2020-08-25 | 一种写、读虚拟机标识的方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010861779.1A CN112052069B (zh) | 2020-08-25 | 2020-08-25 | 一种写、读虚拟机标识的方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112052069A CN112052069A (zh) | 2020-12-08 |
CN112052069B true CN112052069B (zh) | 2024-03-12 |
Family
ID=73599857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010861779.1A Active CN112052069B (zh) | 2020-08-25 | 2020-08-25 | 一种写、读虚拟机标识的方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052069B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077176A (zh) * | 2014-06-25 | 2014-10-01 | 龙芯中科技术有限公司 | 增加虚拟机标识符域的方法及装置 |
CN107368354A (zh) * | 2017-08-03 | 2017-11-21 | 致象尔微电子科技(上海)有限公司 | 一种虚拟机安全隔离方法 |
CN109684030A (zh) * | 2018-11-22 | 2019-04-26 | 海光信息技术有限公司 | 虚拟机内存密钥生成装置、以及方法、加密方法和SoC系统 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
CN110188051A (zh) * | 2019-02-22 | 2019-08-30 | 成都海光集成电路设计有限公司 | 标记与物理地址相关的控制信息的方法、处理系统和设备 |
CN111090869A (zh) * | 2019-12-16 | 2020-05-01 | 海光信息技术有限公司 | 一种数据加密方法、处理器及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108701A1 (en) * | 2010-07-16 | 2014-04-17 | Memory Technologies Llc | Memory protection unit in a virtual processing environment |
US10585805B2 (en) * | 2016-07-29 | 2020-03-10 | Advanced Micro Devices, Inc. | Controlling access to pages in a memory in a computing device |
US10303899B2 (en) * | 2016-08-11 | 2019-05-28 | Intel Corporation | Secure public cloud with protected guest-verified host control |
US20190026231A1 (en) * | 2017-07-24 | 2019-01-24 | Qualcomm Incorporated | System Memory Management Unit Architecture For Consolidated Management Of Virtual Machine Stage 1 Address Translations |
-
2020
- 2020-08-25 CN CN202010861779.1A patent/CN112052069B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077176A (zh) * | 2014-06-25 | 2014-10-01 | 龙芯中科技术有限公司 | 增加虚拟机标识符域的方法及装置 |
CN107368354A (zh) * | 2017-08-03 | 2017-11-21 | 致象尔微电子科技(上海)有限公司 | 一种虚拟机安全隔离方法 |
CN109684030A (zh) * | 2018-11-22 | 2019-04-26 | 海光信息技术有限公司 | 虚拟机内存密钥生成装置、以及方法、加密方法和SoC系统 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
CN110188051A (zh) * | 2019-02-22 | 2019-08-30 | 成都海光集成电路设计有限公司 | 标记与物理地址相关的控制信息的方法、处理系统和设备 |
CN111090869A (zh) * | 2019-12-16 | 2020-05-01 | 海光信息技术有限公司 | 一种数据加密方法、处理器及计算机设备 |
Non-Patent Citations (2)
Title |
---|
Comprehensive VM Protection against Untrusted Hypervisor through Retrofitted AMD Memory Encryption;Yuming Wu,et al;《2018 IEEE International Symposium on High Performance Computer Architecture》;正文第441-453页 * |
基于AMD硬件内存加密机制的关键数据保护方案;吴宇明 等;《信息安全学报》;正文第31-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112052069A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3602376B1 (en) | Monitoring of memory page transitions between a hypervisor and a virtual machine | |
US10235304B2 (en) | Multi-crypto-color-group VM/enclave memory integrity method and apparatus | |
US7565492B2 (en) | Method and apparatus for preventing software side channel attacks | |
US20180107608A1 (en) | Direct memory access authorization in a processing system | |
US8738840B2 (en) | Operating system based DRAM/FLASH management scheme | |
US8560761B2 (en) | Memory resource management for a flash aware kernel | |
US10938559B2 (en) | Security key identifier remapping | |
GB2387937A (en) | Secure CPU and Memory Management Unit with Cryptographic extensions | |
US9189426B2 (en) | Protected access to virtual memory | |
US9542112B2 (en) | Secure cross-process memory sharing | |
CN102184143B (zh) | 一种存储设备数据的保护方法、装置及系统 | |
CN114491607A (zh) | 云平台数据处理方法、装置、计算机设备及存储介质 | |
JP2009020871A (ja) | 外部記憶装置 | |
JP2007026434A (ja) | 低性能格納装置のdrm権利オブジェクトを効率的に管理する方法および装置 | |
CN112052069B (zh) | 一种写、读虚拟机标识的方法、装置及相关设备 | |
WO2009122623A1 (ja) | 情報処理装置 | |
CN116126463A (zh) | 内存访问方法、配置方法、计算机系统及相关器件 | |
CN114047873B (zh) | 数据分区方法、装置以及存储介质 | |
CN112241308B (zh) | 一种虚拟机标识处理方法、装置及相关设备 | |
CN115640099A (zh) | 虚拟机控制块的安全保护方法、装置及相关器件 | |
CN111666579B (zh) | 计算机设备及其访问控制方法和计算机可读介质 | |
CN114237817A (zh) | 虚拟机数据读写方法及相关装置 | |
JP2004272816A (ja) | マルチタスク実行システム及びマルチタスク実行方法 | |
KR20090059602A (ko) | 세션 메모리 버스를 구비한 암호화 장치 | |
US8392759B2 (en) | Test method, test program, test apparatus, and test system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 300384 Tianjin Binhai New Area Tianjin Huayuan Industrial Zone No. 18 Haitai West Road North 2-204 Industrial Incubation-3-8 Applicant after: Haiguang Information Technology Co.,Ltd. Address before: 300384 Tianjin Binhai New Area Tianjin Huayuan Industrial Zone No. 18 Haitai West Road North 2-204 Industrial Incubation-3-8 Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |