APPARATUS AND METHOD FOR HANDLING PAGE PROTECTION FAULTS IN A COMPUTING SYSTEM
First Claim
Patent Images
1. A method of handling page protection faults, comprising:
- converting a subject code executable that comprises a reference to at least one subject memory page having associated subject page access permissions into a target code executable by at least one target processor and including references to a target memory, the conversion including establishing a page descriptor store according to the reference to the subject memory page and the associated subject page permissions, and selecting address bits defining addresses of the plurality of memory locations based on information in the page descriptor store according to the subject page access attributes, and indicating a page protection condition of a corresponding subject memory page based on the values of the address bits; and
allowing an attempt to access the target memory location to proceed without an interruption in control flow if the attempted access is within the scope of the subject page access attributes for the associated subject memory page.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for handling page protection faults in combination particularly with the dynamic conversion of binary code executable by a one computing platform into binary code executed instead by another computing platform. In one exemplary aspect, a page protection fault handling unit is used to detect memory accesses, to check page protection information relevant to the detected access by examining the contents of a page descriptor store, and to selectively allow the access or pass on page protection fault information in accordance with the page protection information.
3 Citations
19 Claims
-
1. A method of handling page protection faults, comprising:
-
converting a subject code executable that comprises a reference to at least one subject memory page having associated subject page access permissions into a target code executable by at least one target processor and including references to a target memory, the conversion including establishing a page descriptor store according to the reference to the subject memory page and the associated subject page permissions, and selecting address bits defining addresses of the plurality of memory locations based on information in the page descriptor store according to the subject page access attributes, and indicating a page protection condition of a corresponding subject memory page based on the values of the address bits; and allowing an attempt to access the target memory location to proceed without an interruption in control flow if the attempted access is within the scope of the subject page access attributes for the associated subject memory page. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing system, comprising:
-
a translator unit arranged to convert a subject code into a target code, the subject code including a reference to at least one subject memory page having associated subject page access permissions; a target processor unit arranged to execute the target code; a target memory associated with the target processor unit and including a page descriptor store and plurality of memory locations related to the subject memory pages, the page descriptor store including alignment checking data, the alignment checking data indicating whether an attempt to access a target memory location crosses a subject page boundary; and wherein the translator unit is arranged to allow an attempt to access the target memory location that crosses the subject page boundary to proceed without an interruption in control flow when the attempted access is within the permissions of all the subject pages involved in the attempted access. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium having instructions recorded thereon which when executed by a computing system having at least one target processor cause the computing system to perform a process comprising:
-
converting a subject code executable that comprises a reference to at least one subject memory page having associated subject page access permissions into a target code executable by at least one target processor and including references to a target memory, the conversion including establishing a page descriptor store according to the reference to the subject memory page and the associated subject page permissions, wherein the page descriptor store includes alignment checking data, the alignment checking data indicating whether an attempt to access a target memory location crosses a subject page boundary; and allowing an attempt to access the target memory location that crosses the subject page boundary to proceed without an interruption in control flow when the attempted access is within the permissions of all the subject pages involved in the attempted access. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification