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

MMU: Use VSID in segment register as additional TLB lookup key #12282

Merged
merged 1 commit into from Nov 12, 2023

Conversation

Wack0
Copy link
Contributor

@Wack0 Wack0 commented Nov 10, 2023

The current TLB implementation does not use the VSID at all.

This is incorrect behaviour (I think the diagram on A Quick Introduction to the PPC Memory Management System explained the correct behaviour easily for me).

The incorrect behaviour leads to previously cached pages still being used until they are flushed out of the TLB, which could lead to an application or game reading or writing to the "wrong" pages.

@JosJuice
Copy link
Member

Because you changed the layout of TLBEntry, which is included in savestates, you need to increment the savestate version number in State.cpp.

@Wack0
Copy link
Contributor Author

Wack0 commented Nov 11, 2023

That makes sense. Do I need to squash the commits, or is that done automatically when merging?

@AdmiralCurtiss
Copy link
Contributor

You need to squash and force-push yourself.

@Wack0
Copy link
Contributor Author

Wack0 commented Nov 11, 2023

OK, done.

@Tilka Tilka merged commit 4b38560 into dolphin-emu:master Nov 12, 2023
11 checks passed
@Wack0 Wack0 deleted the mmu-tlb-patch branch November 12, 2023 23:40
@abyssfan
Copy link

🕵️‍♀️ Excuse me. This is a violation of the contribution legal requirements. Zammis Clark, aka wack0 and riley, is a notorious Nintendo hacker. He hacked Nintendo in 2018 and is the original source of all of the Nintendo files that leaked out in 2020. That included many GameCube and Wii files if you want to try and handwave away that stuff as being unrelated.

You've now tainted the repository with two of his pull requests.

@Tilka
Copy link
Member

Tilka commented Nov 14, 2023

@abyssfan Thanks for your concern. Vetting contributions with extra care increases the review burden, but all of @Wack0's pull requests so far have been well explained and clearly limited to the publicly documented PowerPC architecture (try searching for VSID, DSISR, or SRR0). So no, nothing is tainted.

@Wack0 Assuming the allegations are true, I do request that you continue to provide full provenance for your contributions.

@JosJuice
Copy link
Member

JosJuice commented Nov 14, 2023

@Wack0 Assuming the allegations are true, I do request that you continue to provide full provenance for your contributions.

That isn't what our policy is. The policy is that if you have looked at Nintendo documentation related to the GameCube and Wii (which I should add is not quite the same thing as @abyssfan's allegation – leaking is not the same as looking, and I think it's unlikely that any single person would have looked at everything there is in the gigaleak considering what I've heard about its size), we ask you to not contribute code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
5 participants