Repository navigation
fix: gate x86 idle hlt for hosted builds - #76
Conversation
7101ebd to
cfb95fe
Compare
cfb95fe to
4a1abe6
Compare
Right problem, and the guard is one character away from workingAgreed on the diagnosis — But The host crash goes away, but only because the Testing the value rather than its definedness is the whole fix: #elif (defined(__x86_64__) || defined(_M_X64)) && !defined(_WIN32) && \
- !defined(__STDC_HOSTED__)
+ !__STDC_HOSTED__Which gives the intended split — preprocessing
I have this change built and verified locally ( Happy to merge as soon as that lands. |
Reviewer feedback addressed
I understood the concern about removing
hlt. Instead of removing it, this PR gates the instruction so hosted Windows builds cannot use the privilegedhltinstruction, while genuine freestanding x86_64 targets retainhlt.This change is intentionally split from PR #60 as requested, so the package and heap test improvements can be reviewed and landed independently.
Summary
This PR addresses review item #3 from PR #60.
The x86_64 idle path previously used the privileged
hltinstruction without distinguishing between hosted Windows builds and genuine freestanding targets. This can cause a fault when EoS is built as a hosted Windows application.Changes
hltavailable for genuine freestanding x86_64 targets.hltpath.hlt.wfipaths.Validation
git diff --check: passed.kernel/src/task.cis included in this PR.Scope
This PR contains only the x86_64
hltgating fix requested in review item #3.The
test_package.candtest_heap.cimprovements remain in PR #60.