Commit graph

1368 commits

Author SHA1 Message Date
Lioncash eabfa5cf43 dyncom: Fix conditional execution of MSR 2015-01-11 18:45:45 -05:00
bunnei 542b0b0057 Merge pull request #466 from Subv/wake
Thread: Prevent waking a thread multiple times.
2015-01-11 13:39:23 -05:00
Subv b68d51ed30 Thread: Prevent waking a thread multiple times.
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-11 13:18:52 -05:00
bunnei 63d05fca36 Merge pull request #457 from Subv/qt
citra-qt: Fixed some Qt errors on initialization
2015-01-11 10:59:53 -05:00
archshift 3b555e2512 Stubbed y2r:u IsBusyConversion
There is no documentation available on this function, but we set the result to false as a stub.
This allows Super Little Acorns to move all the way in game with pp3c.
2015-01-10 22:47:31 -08:00
archshift 95be6ad7ae Added Archive ID to fs:USER debug logs involving opening the archive. 2015-01-10 14:32:11 -08:00
archshift 228843c43e Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance. 2015-01-10 14:32:10 -08:00
Subv 115a4bfc9e citra-qt: Add explicit casts to prevent some warnings. 2015-01-10 15:55:52 -05:00
Subv 1b01938767 citra-qt: Fixed some Qt errors on initialization 2015-01-10 15:35:26 -05:00
bunnei 5a4b361f60 Merge pull request #455 from yuriks/handle-reform3
Kernel Lifetime Reform Pt. 3
2015-01-10 15:19:21 -05:00
bunnei e7d2118858 Merge pull request #342 from uppfinnarn/master
Build improvements
2015-01-10 02:03:07 -05:00
Yuri Kunde Schlesner 8ad41775cc Kernel: Start using boost::intrusive_ptr for lifetime management 2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner d751de7341 Kernel: Don't re-assign object's handle when duplicating one 2015-01-09 19:43:51 -02:00
bunnei 6ae12424df Merge pull request #444 from yuriks/handle-reform2
Kernel Lifetime Reform Pt. 2
2015-01-09 12:59:35 -05:00
bunnei 86e07124ad Merge pull request #436 from kevinhartman/system-core
Warn if a new thread is intended to be run on the system CPU core
2015-01-09 11:14:35 -05:00
Johannes Ekberg d7ad14ae20 Use -pthread where and only where needed
Passing -pthread to GCC as a flag makes it both link to libpthread, and make C standard library routines reentrant. This makes the additional explicit links unnecessary.

Additionally, on OSX, this is the default behavior, and clang will print a message about it being unused if it's present there.
2015-01-09 15:50:46 +01:00
Johannes Ekberg 7d7ab70279 Generic PLATFORM_LIBRARIES var
This both reduces redundancy in add_executable definitions, and makes it easier to link additional libraries. In particular, extra libraries are needed on OSX - see next commit.
2015-01-09 15:50:46 +01:00
Yuri Kunde Schlesner 78ea76e12f Thread: Fix nullptr access in a logging function 2015-01-09 04:02:28 -02:00
Yuri Kunde Schlesner 7f1557fbbd Thread: Rename thread_queue => thread_list 2015-01-09 04:02:17 -02:00
Yuri Kunde Schlesner 9bf8462b96 Thread: Reduce use of Handles and move some funcs to inside the class. 2015-01-09 04:02:15 -02:00
Yuri Kunde Schlesner ba72208cd4 Kernel: Move Thread's definition to the header file 2015-01-09 03:51:55 -02:00
Yuri Kunde Schlesner 7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 2015-01-09 03:51:55 -02:00
bunnei d46f650036 Merge pull request #255 from Subv/cbranch_3
Implemented timers
2015-01-08 22:38:33 -05:00
Subv 40c1439c34 Core: Fixed a crash and removed some unused variables.
ARM_Disasm only has static methods, so there's no need to have an instance of it.
2015-01-08 21:49:41 -05:00
Subv 07044651ef SVC: Implemented the Timer service calls. 2015-01-08 21:22:14 -05:00
Subv fc842963c8 DynCom: Add a comment to GetTicks. 2015-01-08 19:46:00 -05:00
Subv 620d77b7e3 Timing: Use CoreTiming::GetTicks to keep track of ticks.
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08 19:39:14 -05:00
bunnei cf1bbe8705 Merge pull request #443 from Subv/sleep_thread
SVC: Fixed SleepThread
2015-01-08 18:45:35 -05:00
Subv dfc440785a SVC: Fixed SleepThread.
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-08 18:39:12 -05:00
bunnei 2432f317e4 Merge pull request #446 from lioncash/umaal
dyncom: Fix UMAAL
2015-01-08 11:22:20 -05:00
Lioncash 1cef6e92d5 dyncom: Fix UMAAL
These need to be done as a 64-bit operation.
2015-01-08 11:09:21 -05:00
bunnei 72915423c3 Merge pull request #441 from Kingcom/CallStack
Add check for valid address to call stack
2015-01-07 21:00:46 -05:00
Subv 60a373a786 Threads: Use a dummy idle thread when no other are ready.
This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
2015-01-07 20:31:31 -05:00
bunnei b659cac2dc Merge pull request #404 from bunnei/more-frame-synch-fixes
GPU: Toggle active framebuffer each frame
2015-01-07 18:13:48 -05:00
bunnei f7a3f45f1e GSP: Toggle active framebuffer each frame 2015-01-07 18:06:00 -05:00
bunnei e6864a1f41 Merge pull request #431 from yuriks/thread-queue-cleanup
Common: Clean up ThreadQueueList
2015-01-07 17:58:31 -05:00
Kevin Hartman 63be6aaadd Warn if a new thread is intended to be run on the system CPU core until we implement correct scheduling for such a thread. 2015-01-07 14:14:48 -08:00
bunnei 4c583732f2 Merge pull request #442 from lioncash/smul
dyncom: Fix SMULWB/SMULWT
2015-01-07 16:49:30 -05:00
Lioncash df5e0f9f28 dyncom: Fix SMULWB/SMULWT
Wasn't doing proper sign-extension
2015-01-07 16:41:08 -05:00
Kingcom 693f6c54e5 citra-qt: Add check for valid address to call stack 2015-01-07 21:39:40 +01:00
Yuri Kunde Schlesner 122c2bb324 Common: Clean up ThreadQueueList
Replace all the C-style complicated buffer management with a std::deque.
In addition to making the code easier to understand it also adds support
for non-POD IdTypes.

Also clean the rest of the code to follow our code style.
2015-01-07 18:38:25 -02:00
bunnei 3eca33c6a4 Merge pull request #425 from Subv/coretiming
Ported the CoreTiming namespace from PPSSPP
2015-01-07 15:30:46 -05:00
Subv 9bf82beb4c CoreTiming: Ported the CoreTiming namespace from PPSSPP
Implemented the required calls to make it work.

CoreTiming: Added a new logging class Core_Timing.
2015-01-07 15:08:35 -05:00
Yuri Kunde Schlesner a6ad68190f Fix double-free in Service manager during shutdown
Fixes #423.
2015-01-07 17:32:31 -02:00
bunnei 317fe1e528 Merge pull request #438 from lioncash/swp
dyncom: Fix SWPB
2015-01-07 09:53:29 -05:00
bunnei 5ae3a9657d Merge pull request #434 from lioncash/sm
dyncom: Move over SMLALXY
2015-01-07 09:51:06 -05:00
Lioncash 75c211c10f dyncom: Fix SWPB 2015-01-07 09:36:06 -05:00
Lioncash 511e13f3e3 dyncom: Move over SMLALXY 2015-01-07 00:53:56 -05:00
bunnei 5217e3f873 Merge pull request #421 from linkmauve/remove-dead-platforms
Remove dead platform #ifdefs to make the code more readable.
2015-01-06 23:09:20 -05:00
bunnei 088863c921 Merge pull request #376 from Subv/arc_reorder
Archives: Change the folder layout of some archives.
2015-01-06 20:13:56 -05:00