System for locking down part of portion of memory and updating page directory with entry corresponding to part of portion of the memory locked down
First Claim
1. A method in a data processing system for providing exchange of data between a peripheral device having a paging mechanism and an application operating in a virtual machine, wherein said virtual machine is running on said data processing system and contains a block of memory having a plurality of sections of memory, comprising:
- providing a page directory for exclusive use by said paging mechanism of said peripheral device in response to said application requiring usage of said peripheral device;
selectively locking down a section of said block of memory within said data processing system in response to a usage of said section of memory by said application;
updating said page directory with an entry corresponding to said section of said block of memory locked down to allow said peripheral device access to said section of said block of memory, wherein data within said section of said block of memory is unswappable; and
selectively updating therafter said page directory by mapping an entry into said page directory in response to said usage of said section of said memory in order to track memory usage within said block of memory utilized by said virtual machine.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are disclosed for providing exchange of data between a peripheral device having a paging mechanism and an application operating in a virtual machine which includes a page directory for exclusive use by the paging mechanism of the peripheral device. The virtual machine is running on a data processing system and preferably contains a block of memory which is divided into various sections of memory. The page directory is provided to the paging mechanism of the peripheral device when the application requires the use of the peripheral device. A section of memory is selectively locked down in response to the section of memory being utilized by the application. Additionally, the page directory is updated with an entry which identifies the section of memory that is locked down. Memory may also be locked down in order to permit the peripheral device to access that section of memory. The page directory is selectively updated thereafter by mapping entries into the page directory in order to track memory usage within the block of memory utilized by the virtual machine. The page directory is preferably created at the same time the virtual machine is created. Memory for utilization by the virtual machine is preferably locked down while the virtual machine is in the foreground. When the virtual machine is terminated or moved into the background, the sections of memory that have been locked down are then unlocked or freed for other use.
107 Citations
18 Claims
-
1. A method in a data processing system for providing exchange of data between a peripheral device having a paging mechanism and an application operating in a virtual machine, wherein said virtual machine is running on said data processing system and contains a block of memory having a plurality of sections of memory, comprising:
-
providing a page directory for exclusive use by said paging mechanism of said peripheral device in response to said application requiring usage of said peripheral device; selectively locking down a section of said block of memory within said data processing system in response to a usage of said section of memory by said application; updating said page directory with an entry corresponding to said section of said block of memory locked down to allow said peripheral device access to said section of said block of memory, wherein data within said section of said block of memory is unswappable; and selectively updating therafter said page directory by mapping an entry into said page directory in response to said usage of said section of said memory in order to track memory usage within said block of memory utilized by said virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data processing system for providing exchange of data between a peripheral device having a paging mechanism and application operating in a virtual machine, wherein said virtual machine is running on said data processing system and contains a block of memory having a plurality of sections of memory, said apparatus comprising:
-
means for providing a page directory for exclusive use by said paging mechanism of said peripheral device in response to said application requiring usage of said peripheral device; means for selectively locking down a section of said block of memory within said data processing system in response to a usage of said section of memory by said application; and means for updating said page directory with an entry corresponding to said section of said block of memory locked down to allow said peripheral device access to said section of said block of memory, wherein data within said section of said block of memory is unswappable; and means for selectively updating thereafter said page directory by mapping an entry into said page directory in response to said usage of said section of said memory in order to track memory usage within said block of memory utilized by said virtual machine. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A data processing system for providing exchange of data between a peripheral device and an application, said data processing system comprising:
-
a system memory; a peripheral device, wherein said peripheral device access data in said system memory utilizing fixed locations within said system memory; a page directory, wherein said page directory is for use by said peripheral device; a virtual machine located within said system memory, wherein said virtual machine utilizes a portion of said system memory; an application executing within said virtual machine, wherein said application utilizes a part of said portion of said system memory; locking means, responsive to use of said peripheral device by said application, for locking down said part of said portion of said system memory utilized by said application, wherein said part of said portion of system memory that is locked down is unswappable; and updating means for updating said page directory with an entry corresponding to said part of said portion of system memory that is locked down by said locking means, wherein said peripheral device utilizes said page directory to access said part of said portion of system memory that is locked down. - View Dependent Claims (16, 17, 18)
-
Specification