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:
gregory.hainaut 2014-02-23 16:00:55 +00:00
parent 220f55d760
commit e24f3585d4
6 changed files with 25 additions and 10 deletions

View File

@ -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 $*

View File

@ -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));

View File

@ -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;

View File

@ -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)
{

View File

@ -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);
}
}
}

View File

@ -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