Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
Abstract
A method, system, and computer program product for sharing adapter resources among multiple operating system instances. The present invention provides a mechanism for dynamically allocating virtualized I/O adapter resources. The present invention separates the operation of adapter resource allocation from adapter resource management. Protection attributes within the adapter resource context are used to allow the adapter to enforce access control over the adapter resources. The hypervisor allocates an available adapter resource to a given partition. The adapter is notified of the allocation, and the adapter updates its internal structure to reflect the allocation. The hypervisor may revoke ownership of and reassign adapter resources to another OS instance. In this manner, the allocation described above allows for the simple reassignment of resources from one partition to another.
Claims
exact text as granted — not AI-modified1 . A method in a logical partitioned data processing system for dynamically sharing adapter resources among multiple operating system instances, comprising:
locating available resources in an adapter; allocating at least part of the available adapter resources to a given partition, wherein a hypervisor is used to track allocated adapter resources and perform adapter resource allocation; notifying the adapter of the adapter resource allocation to the given partition; and updating an internal structure of the adapter to reflect the allocation.
2 . The method of claim 1 , further comprising:
revoking ownership of the allocated adapter resources; and reallocating the adapter resources to another partition.
3 . The method of claim 1 , further comprising:
initializing the adapter resources, wherein an operating system instance is used to initialize the adapter resources.
4 . The method of claim 1 , wherein an adapter address space comprises privileged and non-privileged address ranges to allow the adapter to control access to adapter resources based on the address ranges.
5 . The method of claim 1 , wherein a privileged address range corresponds to a hypervisor access level, an operating system non-privileged range corresponds to an operating system access level, and an application non-privileged range corresponds to an application access level.
6 . The method of claim 1 , wherein the logical partitioned data processing system performs the allocation using a privileged address range.
7 . The method of claim 3 , wherein the operating system instance performs the initialization using an operating system non-privileged address range.
8 . The method of claim 1 , wherein dynamic sharing of adapter resources is performed according to partition demands.
9 . The method of claim 1 , wherein the internal structure of the adapter includes a resource context.
10 . The method of claim 9 , wherein each field of the resource context includes protection attributes to allow the adapter to determine the access level of accessing software.
11 . The method of claim 1 , wherein adapter address mapping is used to identify the protection level of accessing software.
12 . The method of claim 1 , wherein the adapter resources are allocated and revoked on an I/O page basis.
13 . A logical partitioned data processing system for dynamically sharing adapter resources among multiple operating system instances, comprising:
a hypervisor, wherein the hypervisor is used to track allocated adapter resources and perform adapter resource allocation; and an adapter; wherein the hypervisor locates available resources in the adapter, allocates at least part of the available adapter resources to a given partition, and notifies the adapter of the adapter resource allocation to the given partition; and wherein the adapter updates its internal structure to reflect the allocation.
14 . The data processing system of claim 13 , wherein the hypervisor revokes ownership of the allocated adapter resource and reallocates the adapter resources to another partition.
15 . The data processing system of claim 13 , further comprising:
an operating system instance, wherein the operating system instance initializes the adapter resources.
16 . A computer program product in a computer readable medium for dynamically sharing adapter resources among multiple operating system instances, comprising:
first instructions for locating available resources in an adapter; second instructions for allocating at least part of the available adapter resources to a given partition, wherein a hypervisor is used to track allocated adapter resources and perform adapter resource allocation; third instructions for notifying the adapter of the adapter resource allocation to the given partition; and fourth instructions for updating an internal structure of the adapter to reflect the allocation.
17 . The computer program product of claim 16 , further comprising:
fifth instructions for revoking ownership of the allocated adapter resources; and sixth instructions for reallocating the adapter resources to another partition.
18 . The computer program product of claim 16 , further comprising:
seventh instructions for initializing the adapter resources, wherein an operating system instance is used to initialize the adapter resources.
19 . The computer program product of claim 16 , wherein an adapter address space comprises privileged and non-privileged address ranges to allow the adapter to control access to adapter resources based on the address ranges.
20 . The computer program product of claim 16 , wherein the hypervisor performs the allocation using a privileged address range.Join the waitlist — get patent alerts
Track US2006212870A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.