CN102567217B - MIPS platform-oriented memory virtualization method - Google Patents

MIPS platform-oriented memory virtualization method Download PDF

Info

Publication number
CN102567217B
CN102567217B CN201210001188.2A CN201210001188A CN102567217B CN 102567217 B CN102567217 B CN 102567217B CN 201210001188 A CN201210001188 A CN 201210001188A CN 102567217 B CN102567217 B CN 102567217B
Authority
CN
China
Prior art keywords
gva
tlb
address
host
client computer
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.)
Expired - Fee Related
Application number
CN201210001188.2A
Other languages
Chinese (zh)
Other versions
CN102567217A (en
Inventor
阮利
肖利民
祝明发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201210001188.2A priority Critical patent/CN102567217B/en
Publication of CN102567217A publication Critical patent/CN102567217A/en
Application granted granted Critical
Publication of CN102567217B publication Critical patent/CN102567217B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention relates to a microprocessor without interlocked piped stages (MIPS) platform-oriented memory virtualization method. The method comprises an address forming method of MIPS platform-oriented memory virtualization, an address space forming method of MIPS platform-oriented memory virtualization, an address forming and address space mapping method of MIPS platform-oriented memory virtualization, an address forming and address space mapping maintenance mechanism of MIPS platform-oriented memory virtualization and an address mapping realization process of MIPS platform-oriented memory virtualization. The MIPS platform-oriented memory virtualization method has the following advantages that: (1) the technical problems, such as lack of hardware assist and support for a MIPS processor, three layers of address mapping of memory virtualization in the MIPS platform, isolation and security of access to a physical memory by multiple virtual machines, and the like, are all solved; (2) the system has the advantage of light weight; (3) the virtualization application requirement in the embedded field can be satisfied, and the virtualization application requirement in the server field also can be satisfied.

Description

A kind of internal memory virtualization method towards MIPS platform
Technical field
The invention discloses a kind of internal memory virtualization method, particularly relate to the internal memory virtualization method (MIPSVMem) towards MIPS platform, MIPS refers to " microprocessor without inner interlocked pipelining-stage " (Microprocessor withoutinterlocked piped stages), belongs to field of computer technology.
Background technology
System virtualization is the important research direction that Computer Systems Organization combines with computer system software.It by increasing monitor of virtual machine (Virtual Machine Monitor between computer system hardware and operating system, be called for short VMM), carry out abstract to the physical resource of computer system, the tight dependence between isolation hardware system structure and software; By multiple physical resources such as dynamic organization CPU, internal memory, I/O, build multiple mutually isolated virtual machine flexibly, meet diversified application demand; By excavating the concurrency of the Time and place between application, improve the utilization factor of resource.
Intel Virtualization Technology proposed first in the sixties in 20th century, at that time mainly in order to carry out subregion to large scale computer hardware to improve hardware utilization.In the eighties in 20th century and the nineties, due to the development of client-server application program and cheap x86 server and desktop computer, while distributed computing technology is increasingly mature, Intel Virtualization Technology had made no public appearances at that time substantially.The nineties in 20th century Windows widely use and Linux as the appearance of server OS, established the industry standard status of x86 server.Along with the growth that x86 server and desktop are disposed, bring new for the IT infrastructure such as retractility, dirigibility and poor reliability and a running difficult problem, this makes Intel Virtualization Technology obtain recovery in recent years.In recent years along with the popularization day by day of cloud computing, the advantage of Intel Virtualization Technology in business application embodies day by day.The virtual traditional IT infrastructure of enterprise that changes is disposed and way to manage, significantly improves the retractility of infrastructure, dirigibility and reliability.Its concept be deep into enterprise even everyone daily work with life in, become one of technology with fastest developing speed in current Global Software industry.
In recent years, along with the develop rapidly of MIPS cpu performance, the application of MIPS CPU has been not limited only to traditional embedded system field, the high performance MIPS CPU of part is also applied in commercial server gradually, also namely embedded or server field all to the expanding day of MIPS platform and virtualization applications demand thereof.On the other hand along with since Intel Virtualization Technology fast development, comprise the flush bonding processor field of MIPS architecture processor, new demand is proposed to Intel Virtualization Technology.But, by to X86, PowerPC (PPC), the contrast (table 1) of MIPS etc. can be found out, MIPS CPU there is virtual leak in the urgent need to address and support hardware does not assist the problems such as virtual, and this makes to realize system virtual machine towards MIPS platform and faces technological challenge.
Table 1
As the support without appropriate Intel Virtualization Technology, bring huge resistance by giving MIPS CPU in embedded and popularization that is server market.MI PS processor wants in embedded system, and especially server market takies prior one seat, Intel Virtualization Technology, especially assists the technological breakthrough of support issue very urgent towards its virtual leak with without hardware.
System virtual machine towards MIPS platform comprises that CPU is virtual, internal memory virtualization and the virtual gordian technique of IO.I memory virtual is turned to one of gordian technique in system virtual machine, and usually adopt the thought that piecemeal is shared, namely VMM needs by the Memory Allocation of machine to each virtual machine, and the mapping relations of machine maintenance internal memory and virtual machine finding " physics " internal memory.By internal memory virtualization, each virtual machine can have a continuous physical address space from 0; Further, effectively can isolate between each virtual machine, dispatch and shared drive resource.
The system virtual machine research relevant with the present invention is summed up and can comprises two aspect progress, (if Chinese Patent Application No. is 200610139664.1, name is called the Design and implementation gordian technique of system-oriented virtual machine " a kind of dummy machine system and CPU dispatching method thereof "; China Patent Publication No. is CN1740989, name is called " universal inserting system virtual page attribute management method "), based on the key application technology of system virtual machine, (if China Patent Publication No. is CN102194080A, name is called " a kind of rootkit testing mechanism based on kernel virtual machine and detection method "; Chinese Patent Application No. is 02137511.9, and name is called " a kind of virtual machine for embedded systemic software development "; China Patent Publication No. is CN102243571A, and name is called " a kind of many form display virtualization operations methods of Embedded Hypervisor ").Representational system comprises the virtualization system DISCO based on MIPS R10000 processor that Stanford University in 1997 develops, and the open source system software platform OKL4 that Open Kernel Labs develops.But sum up existing result of study and realize system, there is following trend and problem in existing research and invention: architecturally, major part be propose towards the architecture platform such as X86 design, realization and the invention of improvement gordian technique, in the invention of embedded system platform, (as utilized, virtual machine technique is auxiliary realizes virtual many form displays and detects virtual machine application technology, be CN 102194080A corresponding to China Patent Publication No., name is called " a kind of rootkit testing mechanism based on kernel virtual machine and detection method "; China Patent Publication No. is CN102243571A, and name is called " a kind of many form display virtualization operations methods of Embedded Hypervisor ") on the high side.Intel Virtualization Technology proposed in the 60-70 age, substantially make no public appearances in the 80-90 age, until again revive the nineties, and early stage, the main system-level virtual machine of weight that adopts was (as QEMU, XEN etc.), there is the larger problem of performance cost in the system virtual machine based on heavyweight virtual machine.And along with the popularization of virtual machine range of application, the operating system grade/kernel level virtual machine (as KVM, OPENVZ etc.) of recent light weight obtains increasingly extensive attention.
In the internal memory virtualization technology towards MIPS platform, that isolate, from 0 a contiguous memory space can be had to allow Guest OS, monitor of virtual machine (VMM) introduces the new address space of one deck, i.e. guest physical address space.Thus client virtual address (the Guest Virtual Address defined from application program place, GVA) to guest physical address (Guest Physical Address, GPA), arrive three layer address mapping structures of host physical address (HostPhysical Address, HPA) again.This three-decker makes the memory management unit MMU under original non-virtualized environment lose effect, because common MMU can only complete the conversion to physical address of virtual address.Therefore, VMM needs for each virtual machine dynamically maintains the mapping relations of GPA to HPA.The mapping of GVA to HPA, by intercepting and capturing the instruction of amendment client computer page table or refreshing TLB, is inserted in MMU by VMM, completes the foundation that three layer address map.In order to realize the accessing operation to a GVA of virtual machine, VMM has needed the address of three times to change: first GVA will be converted into GPA, and then GPA is converted to HVA further, and last HVA is converted into HPA again, completes accessing operation.MMU due to processor only can complete primary address conversion, and therefore, the key issue that internal memory virtualization need solve is exactly, and how to assist MMU to complete the repeatedly address translation operation of GVA to HPA.In addition, internal memory virtualization also needs to solve multiple virtual machine to the isolation between physical memory access and safety problem.Multiple virtual machine runs in same physical machine, and in fact the virtual memory that different virtual machine uses corresponds to the zones of different in same physical machine.In order to ensure isolation between multiple virtual machine and safety, VMM needs to allow each virtual machine run in a shielded environment, prevents the accessing operation of virtual machine from producing physical memory and destroys.
In summary, at present towards research and the relative shortage of invention of the system virtualization technology of MIPS platform, especially support without hardware is auxiliary for MIPS platform, face during internal memory virtualization three layer address map, multiple virtual machine to physical memory access between isolation and security problems, based on the internal memory virtualization of lightweight virtual machine (kernel virtual machine KVM) research and invention more lack.
Summary of the invention
The object of this invention is to provide a kind of internal memory virtualization method towards MIPS platform, specifically for the virtual leak of MIPS platform, support without hardware is auxiliary, internal memory virtualization three layer address maps, multiple virtual machine is to the isolation between physical memory access and safety problem, based on lightweight kernel virtual machine (KVM), invention is a kind of based on " shadow TLB " the internal memory virtualization method towards MIPS platform, to realize internal memory isolation between host and client computer and the distribution of client virtual internal memory and management, for providing the support of internal memory virtualization system software towards the application such as the system virtual machine of MIPS platform and upper-level virtual.
Technical thought of the present invention is as follows: because X86 platform mainly adopts shadow page table technology, and MIPS platform instruction set architecture adopts the technology of the TLB of software maintenance, therefore, be different from the internal memory virtualization method towards X86 platform realized based on kernel virtual machine, employing " shadow page table " technology, the present invention is mainly based on kernel virtual machine, and " shadow TLB " technology of employing realizes internal memory virtualization method.Wherein, TLB (Translation Lookaside Buffer, Chinese is translation lookaside buffer) be the content-addressed memory (CAM) that in MMU (memory management unit), user accelerates address conversion, mainly deposit page table file (virtual address is to the conversion table of physical address).The basic thought of TLB technology be when processor will in main memory addressing time, not directly search in the physical address of internal memory, but by the physical address of one group of virtual address translation to main memory, TLB is responsible for virtual memory address to translate into actual physical memory addresses, and preferentially can carry out addressing in TLB during CPU addressing." shadow TLB " refers to the mapping relations table of preservation GVA to the HPA safeguarded in the present invention, and the data structure of its list item is consistent with physics tlb entry.Before client computer is loaded into operation, shadow page table can be brushed in physics TLB by VMM.Like this, when client computer is run, physics TLB (being actually shadow TLB) just can complete the direct mapping of GVA to HPA.
Technical scheme of the present invention is as follows: a kind of internal memory virtualization method towards MIPS platform, its general frame as shown in Figure 1.The angle that Fig. 1 mainly divides from function is described.Internal memory virtualization method towards MIPS platform adopts a host model framework, comprises as lower module: physical memory, host OS, virtual machine kernel, internal memory virtualization, host QEMU process, virtual memory and client OS.
Based on above module composition, the present invention discloses a kind of address composing method of the internal memory virtualization towards MIPS platform.Comprising four kinds of addresses altogether, is client virtual address (GVA) respectively, guest physical address (GPA), host virtual address (HVA) and host physical address (HPA).
Form based on upper module and address, the present invention discloses a kind of internal memory virtualization towards MIPS platform at address space composing method, mainly comprises four kinds of address spaces: be client virtual address space, guest physical address space, host virtual address space and host physical address space respectively.
Form based on upper module, address composition, address space, the present invention discloses a kind of address composition of the internal memory virtualization towards MIPS platform and the mapping method of address space, that client virtual address (GVA) belongs to client virtual address space respectively, guest physical address (GPA) belongs to guest physical address space, host virtual address (HVA) belongs to host virtual address space, and host physical address (HPA) belongs to host physical address space.
Based on the mapping method that above module composition, address composition, address space composing method and address composition and address space form, the present invention discloses a kind of address composition of the internal memory virtualization towards MIPS platform and the map maintenance mechanism of address space, comprise client computer TLB and page table, guest physical page descriptor table, host TLB and page table, host machine Physical Page descriptor table.
Based on the mapping method that above module composition, address composition, address space composing method and address composition and address space form, the present invention discloses a kind of internal memory virtualization address maps realization flow towards MIPS platform, its flow process core is the address maps (GVA-> GPA-> HVA-> HPA) building GVA-> HPA, and idiographic flow (as Fig. 3) is:
S1: client computer (Guest) module sends the order of certain GVA of access.
S2: map the mapping that process (GetPA) module obtains GVA-> GPA.
S3: map the mapping that process (GetPA) module obtains GPA-> HVA.
S4: map the mapping that process (GetPA) module obtains HVA-> HPA.
S5: map process (GetPA) module and three mapping superpositions are obtained (GVA, HPA) mapping, fill in shadow TLB
S6: return client computer
Based on mapping method, address maps realization flow that above module composition, address composition, address space composing method and address composition and address space form, the present invention discloses a kind of internal memory virtualization implementation method towards MIPS platform, and the specific implementation flow process of the method is:
The shadow TLB of S21: kernel GVA fills.
S22: the filling performing client computer TLB.
The shadow TLB of S23: non-core GVA fills.
Wherein, as shown in Figure 4, in flow process, sub-step is S21 (the shadow TLB of kernel GVA fills) idiographic flow:
S1: access certain GVA
S111: judge that GVA belongs to client computer kernel address space?
The process of S1112: non-core GVA
S1111: perform GPA and map.GPA=GVA & address
S112: search the HVA that GPA is corresponding in GPPDT
S113: search the HPA that HVA is corresponding in host TLB
S114: (GVA, HPA) is mapped stored in shadow TLB
S6: return client computer
Wherein S22 idiographic flow is as shown in Figure 5, and in flow process, sub-step is:
S1: access certain GVA
Does S111:GVA belong to client computer kernel address space?
S1212: the process of kernel GVA
S1211: map without (GVA, GPA) in client computer TLB
S122: inject TLB disappearance to client computer abnormal
S124: perform TLB instruction and fill client computer TLB
S125: simulation TLB instruction
S125: return client code interruptions
S6: return client computer
Wherein S23 idiographic flow is as shown in Figure 6, and in flow process, sub-step is:
S1: access certain GVA
Does S111:GVA belong to client computer kernel address space?
S1212: the process of kernel GVA
S1311: there is (GVA, GPA) and map in client computer TLB?
S13112: fill client computer TLB
S13111: search (GPA, HVA) and map in GPPDT
S132: search (HVA, HPA) and map in host TLB
S133: (GVA, HPA) is mapped stored in shadow TLB
S6: return client computer.
Advantage of the present invention and effect are: the present invention is based on and virtual voltinism can carry out careful analysis to MIPS architecture processor, based on lightweight virtual machine KVM and " shadow TLB ", have invented a kind of internal memory virtualization method towards MIPS platform.According to application demand, it compared with prior art, its main advantage is: (1) overcomes without hardware, MIPS processor assists that internal memory virtualization three layer address under support, MIPS platform maps, multiple virtual machine to technical barriers such as the isolation between physical memory access and safety, can provide support to upper-level virtualization application.(2) owing to developing based on kernel level virtual machine, system has the advantage of lightweight.(3) because existing MIPS processor major part all exists the problem of assisting support without hardware, and MIPS process is in recent years along with the continuous lifting of performance, from traditional Embedded field, serviced device field etc. are attempted and are adopted gradually, therefore namely the present invention can meet the virtualization applications demand of built-in field, the virtualization applications demand of server field also can be met.Therefore, the present invention has lightweight, and applied range realizes the features such as difficulty is moderate, has broad application prospects and can produce significant economic benefit.
Accompanying drawing explanation
Fig. 1. towards the general frame schematic diagram of the internal memory virtualization method of MIPS platform
Fig. 2. towards the Address space mappinD method schematic diagram of the internal memory virtualization method of MIPS platform
Fig. 3. towards the schematic flow sheet of the internal memory virtualization method of MIPS platform
Fig. 4. the shadow TLB towards the kernel GVA of the internal memory virtualization method of MIPS platform fills schematic diagram
Fig. 5. towards the filling schematic diagram of the client computer TLB of the internal memory virtualization method of MIPS platform
Fig. 6. the shadow TLB towards the non-core GVA of the internal memory virtualization method of MIPS platform fills schematic diagram
Embodiment
Express clearly clear for making the object, technical solutions and advantages of the present invention, below in conjunction with accompanying drawing and specifically implement embodiment (for Godson 3A) the present invention is further described in more detail.As shown in figures 1 to 6, a kind of internal memory virtualization method towards MIPS platform, specific implementation method is as follows:
For Godson 3A (a kind of typical MIPS processor platform), towards the internal memory virtualization method of MIPS platform, its general frame as shown in Figure 1.The angle that Fig. 1 mainly divides from function carries out implementation.This example adopts host model framework, comprises as lower module: physical memory (M1), host OS (M2), virtual machine kernel (M3), internal memory virtualization (M4), host QEMU process (M4), virtual memory (M6) and client OS (M5).
Based on above module composition, as shown in Figure 2, in this example a kind of internal memory virtualization towards MIPS platform address composing method on, this example comprises four kinds of addresses altogether, client virtual address (GVA) respectively, guest physical address (GPA), host virtual address (HVA) and host physical address (HPA).
As shown in Figure 3, form based on upper module and address, in this example, a kind of internal memory virtualization towards MIPS platform is at address space composing method, mainly comprises four kinds of address spaces: be client virtual address space (GVAS), guest physical address space (GPAS), host virtual address space (HVAS) and host physical address space (HPAS) respectively.
As shown in Figure 3, form based on upper module, address composition, address space, the address composition of a kind of internal memory virtualization towards MIPS platform in this example and the mapping method of address space, that client virtual address (GVA) belongs to client virtual address space, guest physical address (GPA) belongs to guest physical address space, host virtual address (HVA) belongs to host virtual address space, and host physical address (HPA) belongs to host physical address space.
As shown in Figure 3, form and mapping method based on upper module, address composition, address space, in a kind of address of the internal memory virtualization towards MIPS platform and the map maintenance mechanism of address space, this example comprises client computer TLB and page table (GTLBPT), guest physical page descriptor table (GPPDT), host TLB and page table (HTLBPT), host machine Physical Page descriptor table (hereinafter referred to as HPPDT).
As shown in Figure 3, based on the mapping method that above module composition, address composition, address space composing method and address composition and address space form, a kind of internal memory virtualization address maps realization flow towards MIPS platform, core is the address maps (GVA-> GPA-> HVA-> HPA) building GVA-> HPA in this example, and concrete implementing procedure is:
S1: client computer (Guest) module sends the order of an access GVA.
S2: map the mapping that process (GetPA) module obtains GVA-> GPA.
S3: map the mapping that process (GetPA) module obtains GPA-> HVA.
S4: map the mapping that process (GetPA) module obtains HVA-> HPA.
S5: map process (GetPA) module and three mapping superpositions are obtained (GVA, HPA) mapping, fill in shadow TLB.
S6: return client computer.
As shown in Figure 6, based on mapping method, address maps realization flow that above module composition, address composition, address space composing method and address composition and address space form, towards an internal memory virtualization implementation method for M1PS platform, its specific implementation flow process is:
The shadow TLB of S21 (Fig. 4): kernel GVA fills.
S22 (Fig. 5): the filling performing client computer TLB.
The shadow TLB of S23 (Fig. 6): non-core GVA fills.
In this example, wherein the concrete implementing procedure of S21 (the shadow TLB of kernel GVA fills) is as shown in Figure 4, and specific implementation example is described below:
For this standard operation system of 0x80000123 kernel VA.This VA is positioned at kseg0 region, and as this VA of processor access, it is mapped directly on this PA of 0x00000123.This process does not have the participation of TLB.When client OS is conferred kseg2 by virtual machine, 0x80000123 just becomes 0xC0000123.This address is positioned at kseg2 region, as this GVA of processor access, will automatically search shadow TLB.Owing to there is not the mapping of GVA in shadow TLB, shadow TLB lacks abnormal being triggered.In abnormality processing module, the present invention utilizes GPA=GVA & 0x3fffffff to calculate GPA.Therefore, the GPA that 0xC0000123 is corresponding is 0x00000123, and just corresponding with 0x80000123 in standard operation system PA is identical.This processing mode of the present invention, make GVA on move other partially transparents.Once obtain the mapping of GVA-> GPA, TLB lacks abnormality processing module just in conjunction with the mapping of HVA-> HPA in the mapping of GPA-> HVA in GPPDT and host TLB, calculate the mapping of GVA-> HPA, finally be filled in shadow TLB, complete the filling of the shadow TLB of kernel GVA.
In this example, wherein the S22 filling of client computer TLB (perform) specific implementation flow process is as shown in Figure 5, and flow process realizes being described below:
When certain non-core GVA was accessed by client computer first time, because shadow TLB is empty, access will cause shadow TLB and lack abnormal.Exception handler is lacked for non-client kernel GVA, shadow TLB and will attempt finding the mapping of GVA-> GPA in client computer TLB.Because GVA is first accessed, there is not the mapping of GVA-> GPA in client computer TLB, therefore, it is abnormal that abnormality processing module will inject TLB disappearance in client computer, to start the filling process of client computer TLB.Afterwards, abnormality processing module returns client code execution.(2) because the present invention is filled with TLB disappearance extremely in client computer, therefore, when client computer starts to perform again, the standard TLB that directly will enter Client OS lacks abnormality processing module.The TLB of standard lacks the mapping that the page table of query client is obtained GVA-> GPA by abnormality processing module, then uses TLB instruction to fill client computer TLB.Because TLB instruction is privileged instruction, the execution of therefore TLB instruction will cause TLB command privilege class extremely, and be trapped in TLB instruction exception processing module of the present invention.The present invention resolves TLB instruction, and the simulation completing instruction performs, and the TLB then returning client computer lacks abnormality processing module.After client computer TLB fills, perform stream and continue to perform by turning back to the client code place starting to cause shadow TLB disappearance exception.
In this example, wherein the concrete implementing procedure of S23 (the shadow TLB of non-core GVA fills) is as shown in Figure 6, and flow process is described below:
After client computer TLB fills, perform stream and continue to perform by turning back to the client code place starting to cause shadow TLB disappearance exception.Owing to still there is no the mapping of GVA-> HPA in now shadow TLB, therefore again will cause shadow TLB and lack abnormal.Because GVA has filled complete in client computer TLB, abnormality processing module can obtain the mapping of GVA-> GPA by query client TLB.Then, abnormality processing module polls GPPDT, obtains the mapping of GPA-> HVA, then inquires about the mapping that host TLB obtains HVA-> HPA.Finally, by GVA-> GPA, GPA-> HVA, HVA-> HPA tri-mappings are stacked up, obtain the mapping of GVA-> HPA, be filled in shadow TLB.Now, shadow TLB has filled, and performs the client module place continuation execution that stream turns back to exception throw.
It should be noted last that: above embodiment is the unrestricted technical scheme of the present invention in order to explanation only, although with reference to above-described embodiment to invention has been detailed description, those of ordinary skill in the art is to be understood that: still can modify to the present invention or equivalent replacement, and not departing from any modification or partial replacement of the spirit and scope of the present invention, it all should be encompassed in the middle of right of the present invention.

Claims (1)

1., towards an internal memory virtualization method for MIPS platform, the method adopts host model framework, comprises as lower module: physical memory, host OS, virtual machine kernel, internal memory virtualization, host QEMU process, virtual memory and client OS; This internal memory virtualization method comprises the address composing method of the internal memory virtualization towards MIPS platform, and this address composing method is based on above module composition, comprises four kinds of addresses, is client virtual address, i.e. GVA respectively; Guest physical address, i.e. GPA; Host virtual address, i.e. HVA; Host physical address, i.e. HPA;
Wherein, the method comprises internal memory virtualization towards MIPS platform further at address space composing method, mainly comprises four kinds of address spaces: be client virtual address space, guest physical address space, host virtual address space and host physical address space respectively;
Wherein, the method comprises address composition towards the internal memory virtualization of MIPS platform and the mapping method of address space further, that client virtual address belongs to client virtual address space respectively, guest physical address belongs to guest physical address space, host virtual address belongs to host virtual address space, and host physical address belongs to host physical address space;
Wherein, the method comprise further towards the address composition of the internal memory virtualization of MIPS platform and the map maintenance of address space machine-processed, comprise client computer TLB and page table, guest physical page descriptor table, host TLB and page table, host machine Physical Page descriptor table;
Wherein, the method comprises the internal memory virtualization address maps realization flow towards MIPS platform further, its flow process core is the address maps building GVA->HPA, i.e. GVA->GPA->HVA-GreatT.GreaT.G THPA, idiographic flow is:
S1: client module sends the order of certain GVA of access;
S2: map the mapping that processing module obtains GVA->GPA;
S3: map the mapping that processing module obtains GPA->HVA;
S4: map the mapping that processing module obtains HVA->HPA;
S5: map processing module and three mapping superpositions are obtained (GVA, HPA) mapping, fill in shadow TLB;
S6: return client computer;
Wherein, the specific implementation flow process of the method is:
The shadow TLB of S21: kernel GVA fills;
S22: the filling performing client computer TLB;
The shadow TLB of S23: non-core GVA fills;
Wherein, the idiographic flow that the shadow TLB of S21 kernel GVA fills is:
S1: client module sends the order of certain GVA of access;
S111: judge whether GVA belongs to client computer kernel address space;
The process of S1112: non-core GVA;
S1111: perform GPA and map; GPA=GVA & address;
S112: search the HVA that GPA is corresponding in GPPDT;
S113: search the HPA that HVA is corresponding in host TLB;
S114: (GVA, HPA) is mapped stored in shadow TLB;
S6: return client computer;
Wherein, the idiographic flow of the filling of S22 execution client computer TLB is:
S1: client module sends the order of certain GVA of access;
S111: judge whether GVA belongs to client computer kernel address space;
S1212: the process of kernel GVA;
S1211: map without (GVA, GPA) in client computer TLB;
S122: inject TLB disappearance to client computer abnormal;
S124: perform TLB instruction and fill client computer TLB;
S125: simulation TLB instruction;
S125: return client code interruptions;
S6: return client computer;
Wherein, the idiographic flow that the shadow TLB of S23 non-core GVA fills is:
S1: client module sends the order of certain GVA of access;
S111: judge whether GVA belongs to client computer kernel address space;
S1212: the process of kernel GVA;
S1311: there is (GVA, GPA) and map in client computer TLB;
S13112: fill client computer TLB;
S13111: search (GPA, HVA) and map in GPPDT;
S132: search (HVA, HPA) and map in host TLB;
S133: (GVA, HPA) is mapped stored in shadow TLB;
S6: return client computer.
CN201210001188.2A 2012-01-04 2012-01-04 MIPS platform-oriented memory virtualization method Expired - Fee Related CN102567217B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210001188.2A CN102567217B (en) 2012-01-04 2012-01-04 MIPS platform-oriented memory virtualization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210001188.2A CN102567217B (en) 2012-01-04 2012-01-04 MIPS platform-oriented memory virtualization method

Publications (2)

Publication Number Publication Date
CN102567217A CN102567217A (en) 2012-07-11
CN102567217B true CN102567217B (en) 2014-12-24

Family

ID=46412681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210001188.2A Expired - Fee Related CN102567217B (en) 2012-01-04 2012-01-04 MIPS platform-oriented memory virtualization method

Country Status (1)

Country Link
CN (1) CN102567217B (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819712B (en) * 2012-08-01 2014-11-26 龙芯中科技术有限公司 Method and device for ensuring security of virtual machine operation system
CN102929691A (en) * 2012-11-09 2013-02-13 北京航空航天大学 System virtual machine facing Advanced RISC Machines (ARM) multi-core processor server platform
CN103268250A (en) * 2013-04-23 2013-08-28 深圳市京华科讯科技有限公司 Virtualization-based memory multiplexing system
CN104239238B (en) * 2013-06-21 2018-01-19 格芯公司 Method and apparatus for managing translation lookaside buffering
CN104750623B (en) * 2013-12-31 2017-11-24 华为技术有限公司 A kind of method and device of internal memory virtualization
CN104050016B (en) * 2014-06-27 2017-02-08 龙芯中科技术有限公司 Memory virtualization method and device and processor
CN105989758B (en) * 2015-02-05 2019-03-19 龙芯中科技术有限公司 Address translation method and apparatus
CN107025180B (en) * 2016-02-01 2020-03-13 龙芯中科技术有限公司 Memory management method and device
CN107045436B (en) * 2016-02-05 2019-09-10 龙芯中科技术有限公司 Access processing method and device
CN105871939A (en) * 2016-06-26 2016-08-17 杨越 Virtual machine safety isolation system under network environment
CN107688745B (en) * 2016-08-04 2020-10-30 阿里巴巴集团控股有限公司 Method for processing and generating kernel mirror image, kernel initialization method, device and equipment
CN107368379B (en) * 2017-07-14 2020-07-10 中南大学 EVP-oriented cross Guest OS inter-process communication method and system
CN109583190B (en) 2017-09-28 2020-11-27 华为技术有限公司 Method and device for monitoring process
DE112018007268T5 (en) * 2018-03-12 2020-11-26 Intel Corporation IMPROVED MEMORY MAPPED INPUT / OUTPUT (MMIO) REGIONAL ACCESS
CN110196757B (en) * 2019-05-31 2021-08-03 龙芯中科技术股份有限公司 TLB filling method and device of virtual machine and storage medium
CN111190752B (en) * 2019-12-30 2023-04-07 海光信息技术股份有限公司 Method and device for sharing kernel memory of virtual machine
CN112363824B (en) * 2020-10-12 2022-07-22 北京大学 Memory virtualization method and system under Shenwei architecture
CN115543971B (en) * 2022-11-29 2023-03-31 天津南大通用数据技术股份有限公司 Method for realizing high availability of MPP database

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968746A (en) * 2010-09-02 2011-02-09 北京航空航天大学 Method for implementing organizational architecture mode of kernel-based virtual machine (KVM)
CN102231138A (en) * 2011-07-08 2011-11-02 上海交通大学 Accurate memory data acquisition system and method of computer
CN102239478A (en) * 2011-04-19 2011-11-09 华为技术有限公司 Data access processing method and device
CN102262557A (en) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 Method for constructing virtual machine monitor by bus architecture and performance service framework

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US9058292B2 (en) * 2004-12-29 2015-06-16 Intel Corporation System and method for one step address translation of graphics addresses in virtualization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557A (en) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 Method for constructing virtual machine monitor by bus architecture and performance service framework
CN101968746A (en) * 2010-09-02 2011-02-09 北京航空航天大学 Method for implementing organizational architecture mode of kernel-based virtual machine (KVM)
CN102239478A (en) * 2011-04-19 2011-11-09 华为技术有限公司 Data access processing method and device
CN102231138A (en) * 2011-07-08 2011-11-02 上海交通大学 Accurate memory data acquisition system and method of computer

Also Published As

Publication number Publication date
CN102567217A (en) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102567217B (en) MIPS platform-oriented memory virtualization method
CN102402453B (en) System virtual machine for microprocessor without interlocked piped stages (MIPS) platform
US7484073B2 (en) Tagged translation lookaside buffers in a hypervisor computing environment
US10423478B2 (en) Security enhanced out of process user space handling of hardware events
US9355042B2 (en) Managing a translation lookaside buffer
CN102243571B (en) Embedded Hypervisor-oriented multi-window display virtual operation method
US9563569B2 (en) Memory transformation in virtual machine live migration
CN102339229A (en) Virtualization method based on operating system layer
CN101158924A (en) Dynamic EMS memory mappings method of virtual machine manager
EP2788864A1 (en) Techniques to prelink software to improve memory de-duplication in a virtual system
US10579410B2 (en) Guest intermediate address tagging for guest applications
CN101477495A (en) Implementing method for distributed internal memory virtualization technology
CN102929691A (en) System virtual machine facing Advanced RISC Machines (ARM) multi-core processor server platform
CN104503825B (en) One kind is based on KVM hybrid apparatus virtual methods
US11354047B2 (en) Memory protection in virtualized computer systems using shadow page tables
US11573815B2 (en) Dynamic power management states for virtual machine migration
US20150212845A1 (en) Lazy disk input/output in virtual machine live migration
US9772951B2 (en) Preemptive guest merging for virtualization hypervisors
CN106354543A (en) NUMA memory page migration method based on virtual machine and host machine memory address conversion
Madhavapeddy et al. Turning Down the {LAMP}: Software Specialisation for the Cloud
US20230018412A1 (en) Reverse shadow page tables for nested virtual machines
US11243801B2 (en) Transparent huge pages support for encrypted virtual machines
US20220405111A1 (en) Improving memory access handling for nested virtual machines
US11449434B2 (en) Reverse shadow page tables for firewalled nested encrypted virtual machines
US10789174B2 (en) Guest intermediate address translation for virtual machines

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141224

CF01 Termination of patent right due to non-payment of annual fee