mirror of https://github.com/PCSX2/pcsx2.git
pcsx2: fix window compilation + a couple of extra ;)
* Fix some issue with the new debugger on linux * Enable the previous tlb miss fix on the interpreter * disable the building of po by default. It pollute too much my env. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5914 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
220f55d760
commit
e24f3585d4
2
build.sh
2
build.sh
|
@ -14,7 +14,7 @@
|
|||
# You should have received a copy of the GNU General Public License along with PCSX2.
|
||||
# If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
flags=""
|
||||
flags="-DCMAKE_BUILD_PO=FALSE"
|
||||
clean_build=false
|
||||
|
||||
for f in $*
|
||||
|
|
|
@ -845,7 +845,11 @@ static __inline__ __attribute__((always_inline)) unsigned long long __xgetbv(uns
|
|||
|
||||
// gcc 4.8 define __rdtsc but unfortunately the compiler crash...
|
||||
// The redefine allow to skip the gcc __rdtsc version -- Gregory
|
||||
#ifdef __LINUX__
|
||||
static __inline__ __attribute__((always_inline)) unsigned long long __pcsx2__rdtsc(void)
|
||||
#else
|
||||
static __inline__ __attribute__((always_inline)) unsigned long long __rdtsc(void)
|
||||
#endif
|
||||
{
|
||||
unsigned long long retval;
|
||||
__asm__ __volatile__("rdtsc" : "=A"(retval));
|
||||
|
|
|
@ -93,12 +93,20 @@ s64 x86capabilities::_CPUSpeedHz( u64 time ) const
|
|||
|
||||
do {
|
||||
timeStart = GetCPUTicks();
|
||||
#ifdef __LINUX__
|
||||
startCycle = __pcsx2__rdtsc();
|
||||
#else
|
||||
startCycle = __rdtsc();
|
||||
#endif
|
||||
} while( GetCPUTicks() == timeStart );
|
||||
|
||||
do {
|
||||
timeStop = GetCPUTicks();
|
||||
#ifdef __LINUX__
|
||||
endCycle = __pcsx2__rdtsc();
|
||||
#else
|
||||
endCycle = __rdtsc();
|
||||
#endif
|
||||
} while( ( timeStop - timeStart ) < time );
|
||||
|
||||
s64 cycleCount = endCycle - startCycle;
|
||||
|
|
|
@ -879,6 +879,9 @@ void SYSCALL()
|
|||
call = cpuRegs.GPR.n.v1.UC[0];
|
||||
|
||||
BIOS_LOG("Bios call: %s (%x)", R5900::bios[call], call);
|
||||
if (call == 13) {
|
||||
DevCon.Warning("A tlb refill handler is set. New handler %x", (u32*)PSM(cpuRegs.GPR.n.a1.UL[0]));
|
||||
}
|
||||
|
||||
if (call == 0x7c)
|
||||
{
|
||||
|
|
|
@ -64,7 +64,7 @@ CtrlDisassemblyView::CtrlDisassemblyView(wxWindow* parent, DebugInterface* _cpu)
|
|||
: wxWindow(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxWANTS_CHARS|wxBORDER), cpu(_cpu)
|
||||
{
|
||||
manager.setCpu(cpu);
|
||||
windowStart = 0x20100000;
|
||||
windowStart = 0x100000;
|
||||
rowHeight = 14;
|
||||
charWidth = 8;
|
||||
displaySymbols = true;
|
||||
|
@ -387,7 +387,7 @@ void CtrlDisassemblyView::render(wxDC& dc)
|
|||
dc.DrawText(wxString(line.params.c_str(),wxConvUTF8),pixelPositions.argumentsStart,rowY1+2);
|
||||
|
||||
if (isInInterval(address,line.totalSize,cpu->getPC()))
|
||||
dc.DrawText(L"■",pixelPositions.opcodeStart-8,rowY1);
|
||||
dc.DrawText(L"■",pixelPositions.opcodeStart-(charWidth+1),rowY1);
|
||||
|
||||
dc.SetFont(boldFont);
|
||||
dc.DrawText(wxString(line.name.c_str(),wxConvUTF8),pixelPositions.opcodeStart,rowY1+2);
|
||||
|
@ -1050,4 +1050,4 @@ void CtrlDisassemblyView::editBreakpoint()
|
|||
win.addBreakpoint();
|
||||
postEvent(debEVT_UPDATE,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -335,12 +335,12 @@ template void vtlb_memWrite<mem32_t>(u32 mem, mem32_t data);
|
|||
static __ri void vtlb_Miss(u32 addr,u32 mode)
|
||||
{
|
||||
// Hack to handle expected tlb miss by some games.
|
||||
#if 0
|
||||
if (mode)
|
||||
cpuTlbMissW(addr, cpuRegs.branch);
|
||||
else
|
||||
cpuTlbMissR(addr, cpuRegs.branch);
|
||||
#endif
|
||||
if (Cpu == &intCpu) {
|
||||
if (mode)
|
||||
cpuTlbMissW(addr, cpuRegs.branch);
|
||||
else
|
||||
cpuTlbMissR(addr, cpuRegs.branch);
|
||||
}
|
||||
|
||||
// The exception terminate the program on linux which is very annoying
|
||||
// Just disable it for the moment
|
||||
|
|
Loading…
Reference in New Issue