Commit Graph
52 Commits
Author SHA1 Message Date
aldelaro5 c54e56793a Add a log type for Symbols and move symbols related logs to it
This fix the awkwardness of having the symbols detection, parsing and loading related logs be in OS HLE while they don't have anything to do with that.
2018-03-22 14:57:28 -04:00
Sepalani df9611255a PPCSymbolDB: two columns symbol map support added 2018-01-24 12:43:23 +01:00
Sepalani 0a301c0eec PPCSymbolDB: Save data symbols properly
Data symbols were previously saved as function symbols.
2017-10-05 19:55:34 +02:00
Sepalani aed0ac0543 PPCSymbolDB: Load more SymbolMap symbols
Allows to load data symbols from symbol map files.

Symbols from all sections are loaded.

The data/function symbol type is set accordingly.
2017-10-05 19:55:33 +02:00
Léo Lam cc40931d64 PPCSymbolDB: Optimise symbol lookups 2017-09-10 11:42:12 +02:00
Sepalani 93b5a5369b SymbolDB: Blank stripped symbol name fixed 2017-08-16 04:07:19 +01:00
Lioncash dd4203bec8 Core: Remove unnecessary includes
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
JosJuice f09ceaa735 Move IOFile to a separate file
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
Leo Lam 933767f1bd Merge pull request #5475 from sepalani/map-vaddr
PPCSymbolDB: Fix LoadMap corrupting virtual addresses
2017-05-26 10:21:38 +02:00
Sepalani 82695ccd99 PPCSymbolDB: Fix LoadMap corrupting virtual addresses 2017-05-24 21:08:15 +01:00
Leo Lam 98b6446249 Merge pull request #5459 from sepalani/code
PPCSymbolDB: Split SaveMap function
2017-05-24 13:59:28 +02:00
Sepalani 56f2d523dd PPCSymbolDB: Split SaveMap function
Rewrite the code map file generation
2017-05-21 01:00:36 +01:00
Sepalani e0231d0b30 PPCSymbolDB: Remove biased address check
The appropriate check is already done by PPCAnalyst::AnalyzeFunction.
2017-05-17 19:37:27 +01:00
Sepalani a9b52ce91b SignatureDB: Rewrite FormatHandler API 2017-04-29 19:50:20 +01:00
aldelaro5 9dc9033b76 Fix symbols name from maps taking 2 lines instead of one
Symbols map may not only end with a \n, but they may also end with \r\n and only the \n would get removed.  This is the case with the Super Mario Sunshine map file which resulted in a weird looking symbols list and thus made it harder to scroll through it.  This removes the \r after the \n has been removed if it's present.
2017-02-07 09:56:19 -05:00
Sepalani 8d812db9ad SymbolDB: Use set to map hash with symbols 2016-12-19 21:03:29 +00:00
Sepalani a6114bad34 Import/Export signature files as CSV 2016-12-18 00:27:10 +00:00
Léo Lam 72e3f1ecec Remove unnecessary ConfigManager includes
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.

However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).

(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
Léo Lam 39fd6dcd5b Fix missing includes
Aren't indirect includes great?
2016-10-07 23:46:41 +02:00
shuffle2 bd1218a3c4 Merge pull request #4250 from leoetlino/hle-patch-fix
HLE_OS: Minor fixes (function patching, output encoding)
2016-10-02 22:13:15 -07:00
aldelaro5 f0aa9b3751 Reorganise a ton of logs level
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
Léo Lam cb73bcc72e PPCSymbolDB: Drop useless const qualifier 2016-09-26 22:57:40 +02:00
Léo Lam 303325768b SymbolDB: Only match against the function name
This changes GetSymbolFromName to not require the passed name to
completely match with the symbol name. Instead, we now match
against the stripped symbol name (i.e. only the function name).

This fixes a regression introduced by #4160, which prevented
HLE::PatchFunctions() from working properly.
2016-09-26 22:56:42 +02:00
Mat M 9e1cfbee0e Merge pull request #4160 from sepalani/symbolmap
Map: Prevents symbols from being stripped
2016-09-18 22:52:12 -04:00
Sepalani 78d50c9a31 PPCSymbolDB: Rename unknown variable 2016-09-14 20:00:15 +02:00
Lioncash 0ac77b0288 SymbolDB: Use an enum class for representing symbol type 2016-09-13 21:21:03 -04:00
magumagu d557310371 Support for dynamic BAT modification (dynamic-bat).
Fundamentally, all this does is enforce the invariant that we always
translate effective addresses based on the current BAT registers and
page table before we do anything else with them.

This change can be logically divided into three parts.  The first part is
creating a table to represent the current BAT state, and keeping it up to
date (PowerPC::IBATUpdated, PowerPC::DBATUpdated, etc.).  This does
nothing by itself, but it's necessary for the other parts.

The second part (mostly in MMU.cpp) is simply removing all the hardcoded
checks for specific untranslated addresses, and consistently translating
addresses using the current BAT configuration. Very straightforward, but a
lot of code changes because we hardcoded assumptions all over the place.

The third part (mostly in Memmap.cpp) is making the fastmem arena reflect
the current BAT configuration.  We do this by redoing the mapping (calling
memmap()) based on the BAT table whenever it changes.

One additional minor change is that translation can fail in two ways:
either the segment is a direct store segment, or page table lookup failed.
The difference doesn't usually matter, but the difference affects cache
instructions, like dcbz.
2016-09-06 08:43:22 +02:00
Sepalani 53b64435ae Map: Prevents symbols from being stripped 2016-08-30 17:59:49 +04:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Lioncash d9a16f7c9c Interpreter: Remove unnecessary includes from Interpreter.h
Previously the JIT code relied on indirect inclusion from this header,
this gets rid of that.
2016-01-10 18:51:12 -05:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
magumagu ac54c6a4e2 Make address translation respect the CPU translation mode.
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.

This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.

This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
CarlKenner 6e7eb52211 Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner 84ae817c18 Remove white space at ends of lines. 2014-12-17 01:12:08 +10:30
CarlKenner cd5d354acc Load 4 column map files like in American Mensa Academy.
Unfortunately the map files in American Mensa Academy don't correspond to the release version.
But at least now if other games use those map files we will be able to load them.
2014-12-17 01:12:03 +10:30
CarlKenner dfd915eb53 Merge bad map file loading into the original function. 2014-12-17 01:11:58 +10:30
CarlKenner e246aaf419 Add "Load bad map file" option for map files on disc that don't quite match.
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner f54d9e33c2 Fix many bugs with the Symbols menu (when run with -d argument).
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
Rohit Nirmal fbc64984ca Include CommonTypes.h instead of Common.h. 2014-09-08 15:39:58 -04:00
Lioncash eb535be874 Core: Clean up brace placements 2014-08-30 18:06:49 -04:00
Jasper St. Pierre 3bad4bcfdb PPCSymbolDB: Don't show any messages in the status bar
These don't really help anybody. We don't even have a status bar
in MainNoGUI -- status bar text should be controlled by the UI, not the
core code!
2014-08-19 10:09:33 -04:00
Lioncash 0718937237 Common: Introduce the new Gekko disassembler to Common.
This moves the Gekko disassembler to Common where it should be. Having it in the Bochs disassembly Externals is incorrect.

Unlike the PowerPC disassembler prior however, this one is updated to have an API that is more fitting for C++. e.g. Not needing to specify a string buffer and size. It does all of this under the hood.

This modifies all the DebuggingInterfaces as necessary to handle this.
2014-08-04 00:45:07 -04:00
Lioncash a82675b7d5 Kill off some usages of c_str.
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-14 13:51:23 -04:00
Matthew Parlane 31cfc73a09 Fixes spacing for "for", "while", "switch" and "if"
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
Tillmann Karras d802d39281 clang-modernize -use-nullptr
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Matthew Parlane d9ca5c83c9 Fix bug in PrintCallstack caused by trying to use MMIO
Also tidy up methods in Debugger_SymbolMap.cpp
2014-03-09 12:23:30 +13:00
Lioncash 279a8c0148 Change the DebugInterface, PPCDebugInterface, and DSPDebugInterface to use CamelCase names.
This is the standard coding convention in the codebase, so our interfaces should use it too.
2014-03-03 00:39:08 -05:00
Tillmann Karras 315a8ba1c0 Various changes suggested by cppcheck
- remove unused variables
- reduce the scope where it makes sense
- correct limits (did you know that strcat()'s last parameter does not
  include the \0 that is always added?)
- set some free()'d pointers to NULL
2014-02-28 12:43:20 +01:00
Lioncash 2afe215271 Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00