{"action":"created","comment":{"url":"https://api.github.com/repos/Bareflank/hypervisor/pulls/comments/87052030","pull_request_review_id":7677224,"id":87052030,"diff_hunk":"@@ -59,155 +76,257 @@ class page_table_entry_x64\n {\n public:\n \n+    using pointer = uintptr_t *;\n+    using integer_pointer = uintptr_t;\n+\n     /// Default Constructor\n     ///\n-    /// @param entry the entry that this page table entry encapsulates.\n+    /// @expects pte != nullptr\n+    /// @ensures none\n+    ///\n+    /// @param pte the pte that this page table entry encapsulates.\n     ///\n-    page_table_entry_x64(gsl::not_null<uintptr_t *> pte) noexcept;\n+    page_table_entry_x64(const gsl::not_null<pointer> &pte) noexcept;\n \n     /// Destructor\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     virtual ~page_table_entry_x64() = default;\n \n     /// Present\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry is present, false otherwise\n     ///\n     bool present() const noexcept;\n \n     /// Set Present\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry is present, false otherwise\n     ///\n     void set_present(bool enabled) noexcept;\n \n     /// Read / Write\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry is read/write, false otherwise\n     ///\n     bool rw() const noexcept;\n \n     /// Set Read / Write\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry is read / write, false otherwise\n     ///\n     void set_rw(bool enabled) noexcept;\n \n     /// User / Supervisor\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry is visible to userspace, false otherwise\n     ///\n     bool us() const noexcept;\n \n     /// Set User / Supervisor\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry is visible to userspace, false\n     ///     otherwise\n     ///\n     void set_us(bool enabled) noexcept;\n \n     /// Write-Through\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry is write-through, false otherwise\n     ///\n     bool pwt() const noexcept;\n \n     /// Set Write-Through\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry is write-through, false otherwise\n     ///\n     void set_pwt(bool enabled) noexcept;\n \n     /// Cache Disable\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry's cache is disabled, false otherwise\n     ///\n     bool pcd() const noexcept;\n \n     /// Set Cache Disable\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry's cache is disabled, false\n     ///     otherwise\n     ///\n     void set_pcd(bool enabled) noexcept;\n \n     /// Accessed\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry has been accessed, false otherwise\n     ///\n     bool accessed() const noexcept;\n \n     /// Set Accessed\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry has been accessed, false\n     ///     otherwise\n     ///\n     void set_accessed(bool enabled) noexcept;\n \n     /// Dirty\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @return true if this entry is dirty, false otherwise\n     ///\n     bool dirty() const noexcept;\n \n     /// Set Dirty\n     ///\n+    /// @expects none\n+    /// @ensures none\n+    ///\n     /// @param enabled true if the entry is dirty, false otherwise\n     ///\n     void set_dirty(bool enabled) noexcept;\n \n+    /// Page Size","path":"bfvmm/include/memory_manager/page_table_entry_x64.h","position":229,"original_position":229,"commit_id":"3df97c7a4b26fd177dd1795e9fb44b645a70aeb1","original_commit_id":"3df97c7a4b26fd177dd1795e9fb44b645a70aeb1","user":{"login":"brendank310","id":1928974,"avatar_url":"https://avatars.githubusercontent.com/u/1928974?v=3","gravatar_id":"","url":"https://api.github.com/users/brendank310","html_url":"https://github.com/brendank310","followers_url":"https://api.github.com/users/brendank310/followers","following_url":"https://api.github.com/users/brendank310/following{/other_user}","gists_url":"https://api.github.com/users/brendank310/gists{/gist_id}","starred_url":"https://api.github.com/users/brendank310/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brendank310/subscriptions","organizations_url":"https://api.github.com/users/brendank310/orgs","repos_url":"https://api.github.com/users/brendank310/repos","events_url":"https://api.github.com/users/brendank310/events{/privacy}","received_events_url":"https://api.github.com/users/brendank310/received_events","type":"User","site_admin":false},"body":"This seems kind of odd naming convention.","created_at":"2016-11-08T18:25:29Z","updated_at":"2016-11-08T18:25:29Z","html_url":"https://github.com/Bareflank/hypervisor/pull/281#discussion_r87052030","pull_request_url":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281","_links":{"self":{"href":"https://api.github.com/repos/Bareflank/hypervisor/pulls/comments/87052030"},"html":{"href":"https://github.com/Bareflank/hypervisor/pull/281#discussion_r87052030"},"pull_request":{"href":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281"}}},"pull_request":{"url":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281","id":92795239,"html_url":"https://github.com/Bareflank/hypervisor/pull/281","diff_url":"https://github.com/Bareflank/hypervisor/pull/281.diff","patch_url":"https://github.com/Bareflank/hypervisor/pull/281.patch","issue_url":"https://api.github.com/repos/Bareflank/hypervisor/issues/281","number":281,"state":"open","locked":false,"title":"VMCall Interface","user":{"login":"rianquinn","id":5932003,"avatar_url":"https://avatars.githubusercontent.com/u/5932003?v=3","gravatar_id":"","url":"https://api.github.com/users/rianquinn","html_url":"https://github.com/rianquinn","followers_url":"https://api.github.com/users/rianquinn/followers","following_url":"https://api.github.com/users/rianquinn/following{/other_user}","gists_url":"https://api.github.com/users/rianquinn/gists{/gist_id}","starred_url":"https://api.github.com/users/rianquinn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rianquinn/subscriptions","organizations_url":"https://api.github.com/users/rianquinn/orgs","repos_url":"https://api.github.com/users/rianquinn/repos","events_url":"https://api.github.com/users/rianquinn/events{/privacy}","received_events_url":"https://api.github.com/users/rianquinn/received_events","type":"User","site_admin":false},"body":"This provides the support for 'vmcall'. BFM has been modified\r\nto support the vmcall interface, but custom applications can\r\nuse this interface to do whatever they want, including calling\r\nvmcall from user-space if so desired.\r\n\r\nThis patch also provides new code in the memory manager to\r\nhandle mapping memory from the Host OS into the hypervisor.\r\n\r\nFinally, this patch fixes a host of bugs including a bug\r\nwith TLS, and cleans up the code that was touched in\r\nprep for 1.1\r\n\r\n[ISSUE]: https://github.com/Bareflank/hypervisor/issues/182\r\n[ISSUE]: https://github.com/Bareflank/hypervisor/issues/274\r\n\r\nSigned-off-by: “Rian <“rianquinn@gmail.com”>","created_at":"2016-11-08T15:07:45Z","updated_at":"2016-11-08T18:57:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0560837ca8a97b100e989bbdeca0173a989dd276","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281/commits","review_comments_url":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281/comments","review_comment_url":"https://api.github.com/repos/Bareflank/hypervisor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Bareflank/hypervisor/issues/281/comments","statuses_url":"https://api.github.com/repos/Bareflank/hypervisor/statuses/3df97c7a4b26fd177dd1795e9fb44b645a70aeb1","head":{"label":"rianquinn:vmcall_interface","ref":"vmcall_interface","sha":"3df97c7a4b26fd177dd1795e9fb44b645a70aeb1","user":{"login":"rianquinn","id":5932003,"avatar_url":"https://avatars.githubusercontent.com/u/5932003?v=3","gravatar_id":"","url":"https://api.github.com/users/rianquinn","html_url":"https://github.com/rianquinn","followers_url":"https://api.github.com/users/rianquinn/followers","following_url":"https://api.github.com/users/rianquinn/following{/other_user}","gists_url":"https://api.github.com/users/rianquinn/gists{/gist_id}","starred_url":"https://api.github.com/users/rianquinn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rianquinn/subscriptions","organizations_url":"https://api.github.com/users/rianquinn/orgs","repos_url":"https://api.github.com/users/rianquinn/repos","events_url":"https://api.github.com/users/rianquinn/events{/privacy}","received_events_url":"https://api.github.com/users/rianquinn/received_events","type":"User","site_admin":false},"repo":{"id":44381941,"name":"hypervisor","full_name":"rianquinn/hypervisor","owner":{"login":"rianquinn","id":5932003,"avatar_url":"https://avatars.githubusercontent.com/u/5932003?v=3","gravatar_id":"","url":"https://api.github.com/users/rianquinn","html_url":"https://github.com/rianquinn","followers_url":"https://api.github.com/users/rianquinn/followers","following_url":"https://api.github.com/users/rianquinn/following{/other_user}","gists_url":"https://api.github.com/users/rianquinn/gists{/gist_id}","starred_url":"https://api.github.com/users/rianquinn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rianquinn/subscriptions","organizations_url":"https://api.github.com/users/rianquinn/orgs","repos_url":"https://api.github.com/users/rianquinn/repos","events_url":"https://api.github.com/users/rianquinn/events{/privacy}","received_events_url":"https://api.github.com/users/rianquinn/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rianquinn/hypervisor","description":"Bareflank hypervisor","fork":true,"url":"https://api.github.com/repos/rianquinn/hypervisor","forks_url":"https://api.github.com/repos/rianquinn/hypervisor/forks","keys_url":"https://api.github.com/repos/rianquinn/hypervisor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rianquinn/hypervisor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rianquinn/hypervisor/teams","hooks_url":"https://api.github.com/repos/rianquinn/hypervisor/hooks","issue_events_url":"https://api.github.com/repos/rianquinn/hypervisor/issues/events{/number}","events_url":"https://api.github.com/repos/rianquinn/hypervisor/events","assignees_url":"https://api.github.com/repos/rianquinn/hypervisor/assignees{/user}","branches_url":"https://api.github.com/repos/rianquinn/hypervisor/branches{/branch}","tags_url":"https://api.github.com/repos/rianquinn/hypervisor/tags","blobs_url":"https://api.github.com/repos/rianquinn/hypervisor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rianquinn/hypervisor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rianquinn/hypervisor/git/refs{/sha}","trees_url":"https://api.github.com/repos/rianquinn/hypervisor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rianquinn/hypervisor/statuses/{sha}","languages_url":"https://api.github.com/repos/rianquinn/hypervisor/languages","stargazers_url":"https://api.github.com/repos/rianquinn/hypervisor/stargazers","contributors_url":"https://api.github.com/repos/rianquinn/hypervisor/contributors","subscribers_url":"https://api.github.com/repos/rianquinn/hypervisor/subscribers","subscription_url":"https://api.github.com/repos/rianquinn/hypervisor/subscription","commits_url":"https://api.github.com/repos/rianquinn/hypervisor/commits{/sha}","git_commits_url":"https://api.github.com/repos/rianquinn/hypervisor/git/commits{/sha}","comments_url":"https://api.github.com/repos/rianquinn/hypervisor/comments{/number}","issue_comment_url":"https://api.github.com/repos/rianquinn/hypervisor/issues/comments{/number}","contents_url":"https://api.github.com/repos/rianquinn/hypervisor/contents/{+path}","compare_url":"https://api.github.com/repos/rianquinn/hypervisor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rianquinn/hypervisor/merges","archive_url":"https://api.github.com/repos/rianquinn/hypervisor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rianquinn/hypervisor/downloads","issues_url":"https://api.github.com/repos/rianquinn/hypervisor/issues{/number}","pulls_url":"https://api.github.com/repos/rianquinn/hypervisor/pulls{/number}","milestones_url":"https://api.github.com/repos/rianquinn/hypervisor/milestones{/number}","notifications_url":"https://api.github.com/repos/rianquinn/hypervisor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rianquinn/hypervisor/labels{/name}","releases_url":"https://api.github.com/repos/rianquinn/hypervisor/releases{/id}","deployments_url":"https://api.github.com/repos/rianquinn/hypervisor/deployments","created_at":"2015-10-16T11:56:19Z","updated_at":"2016-02-28T13:30:27Z","pushed_at":"2016-11-08T15:47:10Z","git_url":"git://github.com/rianquinn/hypervisor.git","ssh_url":"git@github.com:rianquinn/hypervisor.git","clone_url":"https://github.com/rianquinn/hypervisor.git","svn_url":"https://github.com/rianquinn/hypervisor","homepage":"","size":19465,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Bareflank:master","ref":"master","sha":"49064c2a045a6823ad806f05361160f0ef49a5d1","user":{"login":"Bareflank","id":15015782,"avatar_url":"https://avatars.githubusercontent.com/u/15015782?v=3","gravatar_id":"","url":"https://api.github.com/users/Bareflank","html_url":"https://github.com/Bareflank","followers_url":"https://api.github.com/users/Bareflank/followers","following_url":"https://api.github.com/users/Bareflank/following{/other_user}","gists_url":"https://api.github.com/users/Bareflank/gists{/gist_id}","starred_url":"https://api.github.com/users/Bareflank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bareflank/subscriptions","organizations_url":"https://api.github.com/users/Bareflank/orgs","repos_url":"https://api.github.com/users/Bareflank/repos","events_url":"https://api.github.com/users/Bareflank/events{/privacy}","received_events_url":"https://api.github.com/users/Bareflank/received_events","type":"Organization","site_admin":false},"repo":{"id":43819033,"name":"hypervisor","full_name":"Bareflank/hypervisor","owner":{"login":"Bareflank","id":15015782,"avatar_url":"https://avatars.githubusercontent.com/u/15015782?v=3","gravatar_id":"","url":"https://api.github.com/users/Bareflank","html_url":"https://github.com/Bareflank","followers_url":"https://api.github.com/users/Bareflank/followers","following_url":"https://api.github.com/users/Bareflank/following{/other_user}","gists_url":"https://api.github.com/users/Bareflank/gists{/gist_id}","starred_url":"https://api.github.com/users/Bareflank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bareflank/subscriptions","organizations_url":"https://api.github.com/users/Bareflank/orgs","repos_url":"https://api.github.com/users/Bareflank/repos","events_url":"https://api.github.com/users/Bareflank/events{/privacy}","received_events_url":"https://api.github.com/users/Bareflank/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Bareflank/hypervisor","description":"lightweight hypervisor","fork":false,"url":"https://api.github.com/repos/Bareflank/hypervisor","forks_url":"https://api.github.com/repos/Bareflank/hypervisor/forks","keys_url":"https://api.github.com/repos/Bareflank/hypervisor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Bareflank/hypervisor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Bareflank/hypervisor/teams","hooks_url":"https://api.github.com/repos/Bareflank/hypervisor/hooks","issue_events_url":"https://api.github.com/repos/Bareflank/hypervisor/issues/events{/number}","events_url":"https://api.github.com/repos/Bareflank/hypervisor/events","assignees_url":"https://api.github.com/repos/Bareflank/hypervisor/assignees{/user}","branches_url":"https://api.github.com/repos/Bareflank/hypervisor/branches{/branch}","tags_url":"https://api.github.com/repos/Bareflank/hypervisor/tags","blobs_url":"https://api.github.com/repos/Bareflank/hypervisor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Bareflank/hypervisor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Bareflank/hypervisor/git/refs{/sha}","trees_url":"https://api.github.com/repos/Bareflank/hypervisor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Bareflank/hypervisor/statuses/{sha}","languages_url":"https://api.github.com/repos/Bareflank/hypervisor/languages","stargazers_url":"https://api.github.com/repos/Bareflank/hypervisor/stargazers","contributors_url":"https://api.github.com/repos/Bareflank/hypervisor/contributors","subscribers_url":"https://api.github.com/repos/Bareflank/hypervisor/subscribers","subscription_url":"https://api.github.com/repos/Bareflank/hypervisor/subscription","commits_url":"https://api.github.com/repos/Bareflank/hypervisor/commits{/sha}","git_commits_url":"https://api.github.com/repos/Bareflank/hypervisor/git/commits{/sha}","comments_url":"https://api.github.com/repos/Bareflank/hypervisor/comments{/number}","issue_comment_url":"https://api.github.com/repos/Bareflank/hypervisor/issues/comments{/number}","contents_url":"https://api.github.com/repos/Bareflank/hypervisor/contents/{+path}","compare_url":"https://api.github.com/repos/Bareflank/hypervisor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Bareflank/hypervisor/merges","archive_url":"https://api.github.com/repos/Bareflank/hypervisor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Bareflank/hypervisor/downloads","issues_url":"https://api.github.com/repos/Bareflank/hypervisor/issues{/number}","pulls_url":"https://api.github.com/repos/Bareflank/hypervisor/pulls{/number}","milestones_url":"https://api.github.com/repos/Bareflank/hypervisor/milestones{/number}","notifications_url":"https://api.github.com/repos/Bareflank/hypervisor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Bareflank/hypervisor/labels{/name}","releases_url":"https://api.github.com/repos/Bareflank/hypervisor/releases{/id}","deployments_url":"https://api.github.com/repos/Bareflank/hypervisor/deployments","created_at":"2015-10-07T13:53:10Z","updated_at":"2016-11-08T12:32:06Z","pushed_at":"2016-11-08T15:31:15Z","git_url":"git://github.com/Bareflank/hypervisor.git","ssh_url":"git@github.com:Bareflank/hypervisor.git","clone_url":"https://github.com/Bareflank/hypervisor.git","svn_url":"https://github.com/Bareflank/hypervisor","homepage":"","size":22021,"stargazers_count":162,"watchers_count":162,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":30,"mirror_url":null,"open_issues_count":30,"forks":30,"open_issues":30,"watchers":162,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281"},"html":{"href":"https://github.com/Bareflank/hypervisor/pull/281"},"issue":{"href":"https://api.github.com/repos/Bareflank/hypervisor/issues/281"},"comments":{"href":"https://api.github.com/repos/Bareflank/hypervisor/issues/281/comments"},"review_comments":{"href":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281/comments"},"review_comment":{"href":"https://api.github.com/repos/Bareflank/hypervisor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Bareflank/hypervisor/pulls/281/commits"},"statuses":{"href":"https://api.github.com/repos/Bareflank/hypervisor/statuses/3df97c7a4b26fd177dd1795e9fb44b645a70aeb1"}}}}
{"actor":{"display_login":"brendank310"}}