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 +07:00
bunnei
e213f91373
Fix Windows build
2015-01-10 12:32:28 +07:00
bunnei
e7d2118858
Merge pull request #342 from uppfinnarn/master
...
Build improvements
2015-01-10 02:03:07 +07:00
bunnei
d0ed01bc7f
Merge pull request #454 from chinhodado/patch-1
...
Cleanup: Remove redundant /Oi flag
2015-01-09 14:23:24 +07:00
bunnei
6ae12424df
Merge pull request #444 from yuriks/handle-reform2
...
Kernel Lifetime Reform Pt. 2
2015-01-09 12:59:35 +07: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 +07:00
chinhodado
f689e97380
Cleanup: Remove redundant /Oi flag
...
`/Oi` is included in `/Ox` already
2015-01-09 10:59:01 +07:00
bunnei
e5cf344155
Merge pull request #453 from yuriks/vs-parallel
...
CMake: Enable VS parallel builds for a good reduction in compile times
2015-01-09 10:15:43 +07:00
Johannes Ekberg
b027f7fe15
Looks like that might be needed on OSX after all
2015-01-09 15:50:47 +07: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 +07:00
Johannes Ekberg
1351819810
Link Cocoa, IOKit and CoreVideo on OSX
...
These are implicitly linked by Xcode, but with this, you can also build it with any other generator, which does not have this behavior.
CoreFoundation is included as a part of Cocoa (which is an umbrella framework), and Cocoa is generally recommended to link against, rather than its individual components (CoreFoundation, Foundation, libobjc, ...).
2015-01-09 15:50:46 +07: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 +07:00
Yuri Kunde Schlesner
f983d955f9
CMake: Enable VS parallel builds for a good reduction in compile times
...
This enables the /MP compiler flag, which parallelizes builds of by
distributing compilation of individual object files across workes
processes, instead of being limited to per-project parallelism.
Reduces the time for a full compile from 72 s to 45 s on my machine.
2015-01-09 12:42:35 +07:00
Yuri Kunde Schlesner
78ea76e12f
Thread: Fix nullptr access in a logging function
2015-01-09 04:02:28 +07:00
Yuri Kunde Schlesner
7f1557fbbd
Thread: Rename thread_queue => thread_list
2015-01-09 04:02:17 +07:00
Yuri Kunde Schlesner
9bf8462b96
Thread: Reduce use of Handles and move some funcs to inside the class.
2015-01-09 04:02:15 +07:00
Yuri Kunde Schlesner
ba72208cd4
Kernel: Move Thread's definition to the header file
2015-01-09 03:51:55 +07:00
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 +07:00
bunnei
d46f650036
Merge pull request #255 from Subv/cbranch_3
...
Implemented timers
2015-01-08 22:38:33 +07:00
bunnei
97cfdd16e6
Merge pull request #451 from Subv/wut
...
Core: Fixed a crash and removed some unused variables.
2015-01-08 22:20:42 +07: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 +07:00
Subv
07044651ef
SVC: Implemented the Timer service calls.
2015-01-08 21:22:14 +07:00
bunnei
0d0d6ef31a
Merge pull request #450 from Subv/ticks_fix
...
Timing: Use CoreTiming::GetTicks to keep track of ticks.
2015-01-08 20:01:19 +07:00
Subv
fc842963c8
DynCom: Add a comment to GetTicks.
2015-01-08 19:46:00 +07: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 +07:00
bunnei
cf1bbe8705
Merge pull request #443 from Subv/sleep_thread
...
SVC: Fixed SleepThread
2015-01-08 18:45:35 +07: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 +07:00
bunnei
2432f317e4
Merge pull request #446 from lioncash/umaal
...
dyncom: Fix UMAAL
2015-01-08 11:22:20 +07:00
Lioncash
1cef6e92d5
dyncom: Fix UMAAL
...
These need to be done as a 64-bit operation.
2015-01-08 11:09:21 +07:00
bunnei
72915423c3
Merge pull request #441 from Kingcom/CallStack
...
Add check for valid address to call stack
2015-01-07 21:00:46 +07:00
bunnei
91d96840ea
Merge pull request #439 from Subv/idle_thread_m
...
Threads: Use a dummy idle thread when no other are ready.
2015-01-07 20:45:05 +07: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 +07: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 +07:00
bunnei
f7a3f45f1e
GSP: Toggle active framebuffer each frame
2015-01-07 18:06:00 +07:00
bunnei
e6864a1f41
Merge pull request #431 from yuriks/thread-queue-cleanup
...
Common: Clean up ThreadQueueList
2015-01-07 17:58:31 +07: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 +07:00
bunnei
4c583732f2
Merge pull request #442 from lioncash/smul
...
dyncom: Fix SMULWB/SMULWT
2015-01-07 16:49:30 +07:00
Lioncash
df5e0f9f28
dyncom: Fix SMULWB/SMULWT
...
Wasn't doing proper sign-extension
2015-01-07 16:41:08 +07:00
Kingcom
693f6c54e5
citra-qt: Add check for valid address to call stack
2015-01-07 21:39:40 +07: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 +07:00
bunnei
3eca33c6a4
Merge pull request #425 from Subv/coretiming
...
Ported the CoreTiming namespace from PPSSPP
2015-01-07 15:30:46 +07: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 +07:00
bunnei
43ba29f3bf
Merge pull request #440 from yuriks/lifetime-fix
...
Fix double-free in Service manager during shutdown
2015-01-07 14:57:36 +07:00
Yuri Kunde Schlesner
a6ad68190f
Fix double-free in Service manager during shutdown
...
Fixes #423 .
2015-01-07 17:32:31 +07:00
bunnei
317fe1e528
Merge pull request #438 from lioncash/swp
...
dyncom: Fix SWPB
2015-01-07 09:53:29 +07:00
bunnei
5ae3a9657d
Merge pull request #434 from lioncash/sm
...
dyncom: Move over SMLALXY
2015-01-07 09:51:06 +07:00
Lioncash
75c211c10f
dyncom: Fix SWPB
2015-01-07 09:36:06 +07:00
Lioncash
511e13f3e3
dyncom: Move over SMLALXY
2015-01-07 00:53:56 +07: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 +07: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 +07:00