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
PowerPC: partially implement thermal related SPRs #8885
Conversation
Doesn't support triggering interrupts when the thermal threshold is exceeded, but allows polling for temperature information. The THRM[123] registers are documented in most PPC datasheets, see e.g. this PPC750CX one: http://datasheets.chipdb.org/IBM/PowerPC/750/750cx_um3-17-05.pdf
|
|
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.
Code seems good, untested tho.
| { | ||
| reg->TIV = 1; | ||
| if (reg->TID) | ||
| reg->TIN = SIMULATED_TEMP < reg->THRESHOLD; |
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.
I just tried building on Windows 10 for the first time today, so sorry if I'm doing something silly, but the only error I got was 'SIMULATED_TEMP' cannot be implicitly captured because no default capture mode has been specified. Making it a #define or adding an & between the square brackets seems to fix things?
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.
I'm assuming you're building with CMake? For some reason this kind of thing fails, but only when building with CMake on Windows, not when building with the VS solution on Windows or with CMake on any other platform.
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.
Interesting, yeah I think so (although tbh I'm not 100% sure, I just followed https://github.com/dolphin-emu/dolphin/wiki/Building-for-Windows as closely as possible). Is dolphin-emu.sln preferred? Would it be better to look for a fix to whatever's the matter with CMake on Windows than fix this kind of thing as it shows up?
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.
Is dolphin-emu.sln preferred?
There's no real reason it should be better, but since the buildbot uses it rather than CMake for Windows, the Windows CMake build does break sometimes.
Would it be better to look for a fix to whatever's the matter with CMake on Windows than fix this kind of thing as it shows up?
If we found a fix for it, that would be nice, but I have no idea where to start regarding that.
Doesn't support triggering interrupts when the thermal threshold is
exceeded, but allows polling for temperature information.
The THRM[123] registers are documented in most PPC datasheets, see e.g.
this PPC750CX one: http://datasheets.chipdb.org/IBM/PowerPC/750/750cx_um3-17-05.pdf
Fixes https://bugs.dolphin-emu.org/issues/12160 . See the nice 42°C display on Swiss in this screenshot:
