New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
X64 boot fixes #115
Closed
Closed
X64 boot fixes #115
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
1a44b66
EFER constants fix
be9bd17
Move RtlpUse16ByteSLists initialization into KiInitializeKernel
113fb47
Comment out debug code for x86 that should not run on x64
44b87aa
Only enable NX if it's available
7307870
Remove duplicate NX enabling
750d672
Improve readability of CPU flag checks and fix error checking wrong r…
b82fb5c
Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and o…
0cd5818
Deleted forgotten unused variable
4362171
A bunch of 'wrong size' fixes
42ffa6a
Fixed incorrect comparison
5b165b5
Fix wrong sized variable in SAC driver
d7a2a23
Fixed handle management errors on x64
18fc357
Hackplement handling missing PPEs and PDEs in page fault handler; now…
2a7049f
Fixed broken x86 build
630bc26
Fix GCC build
5d66904
Skip backtrace on non-x86
1f0c22f
Fixed wrong comparison
ac90cf4
Merge branch 'master' into x64-boot-fixes
tkreuzer 28115a3
Undo obsolete change
tkreuzer 21fb0ba
Merge branch 'master' into x64-boot-fixes
tkreuzer 9efd916
Merge branch 'master' into x64-boot-fixes
tkreuzer File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Data is
UCHAR Data[1];
, so it would need to be eitherreturn (*(PULONG)KeyQueryOutput.KeyInfo.Data != 1);
or fix the structure definition above to be something likeunion { KEY_VALUE_PARTIAL_INFORMATION KeyInfo; struct { ULONG Header[3]; ULONG KeyValue; } } KeyQueryOutput;
andreturn (KeyQueryOutput.KeyValue != 0);
orstruct KEY_VALUE_PARTIAL_INFORMATION KeyInfo; UCHAR Fill[3];}
andPULONG KeyValue = (PULONG)KeyQueryOutput.KeyInfo.Data; return (*KeyValue != 1);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aha, I see. There are some nasty little things going on here. Well, okay, will do first option. But on little-endian machine my option will work too (BTW, is PPC port still in game?).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using a portable construct would be nice in any case. Because digging each time in the code to check whether the thing will work when you switch the endianness is a pain.