Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of context switching in a virtualized system, the virtualized system having a plurality of globally unique domain identifiers, a plurality of different virtual machines, a plurality of translation lookaside buffer entries that control access to a memory, a plurality of globally unique application-space identifiers, a plurality of guest applications, and a domain access control register, the method comprising: associating a first domain identifier from the plurality of globally unique domain identifiers with a first virtual machine from the plurality of different virtual machines and associating a second domain identifier from the plurality of globally unique domain identifiers with a second virtual machine from the plurality of different virtual machines, wherein a third, predefined domain identifier from the plurality of globally unique domain identifiers is unassociated with any one virtual machine, wherein each domain identifier is different from every other domain identifier in the virtualized system, and wherein the domain access control register specifies whether translation lookaside buffer entries tagged with one of the domain identifiers are active; associating the plurality of globally unique application-space identifiers with the plurality of guest applications, wherein each application-space identifier is different from every other application-space identifier in the virtualized system, and wherein the plurality of guest applications reside in different virtual machines from the plurality of different virtual machines; conditioned upon a virtual user mode being active, switching from the first virtual machine to the second virtual machine by loading the third, predefined domain identifier into the domain access control register; and conditioned upon a virtual kernel mode being active, switching from the first virtual machine to the second virtual machine by loading the second domain identifier into the domain access control register.
2. The method of claim 1 , including switching from one guest application in the plurality of guest applications to another guest application in the plurality of guest applications by updating at least one register associated with the plurality of globally unique application-space identifiers.
3. The method of claim 2 , wherein the at least one register associated with the plurality of globally unique domain identifiers includes at least a first memory management unit register, and the at least one register associated with the plurality of globally unique application-space identifiers includes at least a second different memory management unit register.
4. The method of claim 1 , wherein the plurality of globally unique domain identifiers are used to ensure that each guest operating system in a plurality of guest operating systems in the virtualized system has memory mappings that are only active when the guest operating system is executing.
5. The method of claim 1 , wherein the first domain identifier and the second domain identifier are used to map a first guest operating system and a second guest operating system, respectively, in a plurality of guest operating systems in the virtualized system with pages associated with the respective domain identifier.
6. The method of claim 1 , wherein a plurality of memory mappings are associated with a domain identifier from the plurality of globally unique domain identifiers indicative of virtually privileged memory access.
7. The method of claim 1 , wherein a virtual memory management unit is configured to support two virtual page table pointers and a configurable boundary between a virtual user page table and a virtual kernel page table.
8. The method of claim 7 , including presenting the two virtual page table pointers to a guest operating system in the virtualized system, and associating two physical page table pointers with the two virtual page table pointers.
9. The method of claim 1 , including executing the plurality of guest applications on an electronic device.
10. The method of claim 1 , including, conditioned upon the virtual kernel mode being active, switching from the first virtual machine to the second virtual machine by loading the second domain identifier and the third, predefined domain identifier into the domain access control register.
11. A virtualized system having a plurality of globally unique domain identifiers, a plurality of different virtual machines, a plurality of translation lookaside buffer entries, a plurality of globally unique application-space identifiers, a plurality of guest applications, and a domain access control register, the virtualized system comprising: a processor; and a memory operatively coupled to the processer, the plurality of translation lookaside buffer entries controlling access to the memory, wherein the processor: associates a first domain identifier from the plurality of globally unique domain identifiers with a first virtual machine from the plurality of different virtual machines and associates a second domain identifier from the plurality of globally unique domain identifiers with a second virtual machine from the plurality of different virtual machines, wherein a third, predefined domain identifier from the plurality of globally unique domain identifiers is unassociated with any one virtual machine, wherein each domain identifier is different from every other domain identifier in the virtualized system, and wherein the domain access control register specifies whether translation lookaside buffer entries tagged with one of the domain identifiers are active; associates the plurality of globally unique application-space identifiers with the plurality of guest applications, wherein each application-space identifier is different from every other application-space identifier in the virtualized system, and wherein the plurality of guest applications reside in different virtual machines from the plurality of different virtual machines; conditioned upon a virtual user mode being active, switches from the first virtual machine to the second virtual machine by loading the third, predefined domain identifier into the domain access control register; and conditioned upon a virtual kernel mode being active, switches from the first virtual machine to the second virtual machine by loading the second domain identifier into the domain access control register.
12. The virtualized system of claim 11 , wherein the processor switches from one guest application in the plurality of guest applications to another guest application in the plurality of guest applications by updating at least one register associated with the plurality of globally unique application-space identifiers.
13. The method of claim 12 , wherein the at least one register associated with the plurality of globally unique domain identifiers includes at least a first memory management unit register, and the at least one register associated with the plurality of globally unique application-space identifiers includes at least a second different memory management unit register.
14. The virtualized system of claim 11 , wherein the plurality of globally unique domain identifiers are used to ensure that each guest operating system in a plurality of guest operating systems in the virtualized system has memory mappings that are only active when the guest operating system is executing.
15. The virtualized system of claim 11 , wherein the first domain identifier and the second domain identifier are used to map a first guest operating system and a second guest operating system, respectively, in a plurality of guest operating systems in the virtualized system with pages associated with the respective domain identifier.
16. The virtualized system of claim 11 , wherein a plurality of memory mappings are associated with a domain identifier from the plurality of globally unique domain identifiers indicative of privileged memory access.
17. The virtualized system of claim 11 , wherein a virtual memory management unit is configured to support two virtual page table pointers and a configurable boundary between a virtual user page table and a virtual kernel page table.
18. The virtualized system of claim 17 , wherein the processor presents the two virtual page table pointers to a guest operating system in the virtualized system, and associates two physical page table pointers with the two virtual page table pointers.
19. The virtualized system of claim 11 , wherein the processor executes the plurality of guest applications on an electronic device.
20. The virtualized system of claim 11 , wherein the processor, conditioned upon the virtual kernel mode being active, switches from the first virtual machine to the second virtual machine by loading the second domain identifier and the third, predefined domain identifier into the domain access control register.
21. A computer readable storage device for context switching in a virtualized system, the virtualized system having a plurality of globally unique domain identifiers, a plurality of different virtual machines, a plurality of translation lookaside buffer entries that control access to a memory, a plurality of globally unique application-space identifiers, a plurality of guest applications, and a domain access control register, the computer readable storage device storing a software program structured to cause a processor to: associate a first domain identifier from the plurality of globally unique domain identifiers with a first virtual machine from the plurality of different virtual machines and associate a second domain identifier from the plurality of globally unique domain identifiers with a second virtual machine from the plurality of different virtual machines, wherein a third, predefined domain identifier from the plurality of globally unique domain identifiers is unassociated with any one virtual machine, wherein each domain identifier is different from every other domain identifier in the virtualized system, and wherein the domain access control register specifies whether translation lookaside buffer entries tagged with one of the domain identifiers are active; associate the plurality of globally unique application-space identifiers with the plurality of guest applications, wherein each application-space identifier is different from every other application-space identifier in the virtualized system, and wherein the plurality of guest applications reside in different virtual machines from the plurality of different virtual machines; conditioned upon a virtual user mode being active, switch from the first virtual machine to the second virtual machine by loading the third, predefined domain identifier into the domain access control register; and conditioned upon a virtual kernel mode being active, switch from the first virtual machine to the second virtual machine by loading the second domain identifier into the domain access control register.
22. The computer readable storage device of claim 21 , wherein the processor switches from one guest application in the plurality of guest applications to another guest application in the plurality of guest applications by updating at least one register associated with the plurality of globally unique application-space identifiers.
23. The method of claim 22 , wherein the at least one register associated with the plurality of globally unique domain identifiers includes at least a first memory management unit register, and the at least one register associated with the plurality of globally unique application-space identifiers includes at least a second different memory management unit register.
24. The computer readable storage device of claim 21 , wherein the plurality of globally unique domain identifiers are used to ensure that each guest operating system in a plurality of guest operating systems in the virtualized system has memory mappings that are only active when the guest operating system is executing.
25. The computer readable storage device of claim 21 , wherein the first domain identifier and the second domain identifier are used to map a first guest operating system and a second guest operating system, respectively, in a plurality of guest operating systems in the virtualized system with pages associated with the respective domain identifier.
26. The computer readable storage device of claim 21 , wherein a plurality of memory mappings are associated with a domain identifier from the plurality of globally unique domain identifiers indicative of privileged memory access.
27. The computer readable storage device of claim of claim 21 , wherein a virtual memory management unit is configured to support two virtual page table pointers and a configurable boundary between a virtual user page table and a virtual kernel page table.
28. The computer readable storage device of claim of claim 27 , wherein the processor presents the two virtual page table pointers to a guest operating system in the virtualized system, and associates two physical page table pointers with the two virtual page table pointers.
29. The computer readable storage device of claim 21 , wherein the processor executes the plurality of guest applications on an electronic device.
30. The computer readable storage device of claim 21 , wherein the processor, conditioned upon the virtual kernel mode being active, switches from the first virtual machine to the second virtual machine by loading the second domain identifier and the third, predefined domain identifier into the domain access control register.
Unknown
November 13, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.