Skip to content
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

Test Compile #4

Merged
merged 192 commits into from
Feb 3, 2024
Merged

Test Compile #4

merged 192 commits into from
Feb 3, 2024

Conversation

backgamon
Copy link
Owner

PullR

…ion is in host thread

Nasty IPI hack now pseudo-works
Check whether interrupts disabled via msr
Re-implement DPCs. (badly)
Implement critical regions
Implement kernel apcs (incorrectly)
interrupts run on their own stack now
add KeInitializeTimerEx
removed all dispatcher header wait list hacks
fully implemented dpcs (i think)
timers implemented-ish
add direct yield to method to xthread
split xboxkrnl_threading into xboxkrnl_threading_scheduler.cc
add IsNull method for checking whether a host point to guest memory is null
flesh out scheduler further
…oftware by repeatedly checking a field on the KPCR that we've hijacked
disjtqz and others added 29 commits January 8, 2024 08:14
This function was implemented, I somehow lost my implementation and had to decompile a build that had the implementation in it. I pasted the source from Hexrays, as is. I've cleaned that source up here
Added a cvar that enables cpu timing fences, and turn it off by default.
Removed crusty unused macros in thread.cc
…veral old TranslateVirtual(context->r[13]) calls to GetKPCR
…pt issue is fixed; this decreases cpu usage by 2x to 3x depending on the game.
…y block, causing deadlocks in some games. Causes Fable3/Halo4 to now boot
…KPCR_PAGE->idle_process_thread instead of idle_thread pointer
… stacks still point to the top of a kpcr page even after the cpus are initialized
…o select between two different pools of memory (kernel/title)
…ey were issued.

add different codepath for "internal" interrupts like the decrementer interrupt
Arguments to SendGuestIPI are now passed through a structure for easier extension in the future
in kernel idle process if an interrupt happened do not enter sleep.
Clamp idle sleep to not miss pending timed interrupts
…trol flow simplification

Move code for adding interrupt checks to block start into its own compiler pass
Interrupt prioritization/proper decrementer interrupt handling
This is fixed by saving certain registers before/after the interrupt check. Still don't know the root cause
@backgamon backgamon merged commit b34b428 into backgamon:CustomBeta Feb 3, 2024
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants