Commit Graph

1787 Commits

Author SHA1 Message Date
a9b3f29b90 Merge pull request #483 from yuriks/cmake-fix
CMake: Inform the user when architecture auto-detection fails
2015-02-03 12:42:46 -05:00
d64c836369 Merge pull request #532 from lioncash/warn
core: Fix some warnings on OSX
2015-02-03 12:40:16 -05:00
676daef3c7 core: Fix some warnings on OSX 2015-02-03 08:14:42 -05:00
7f730ed158 Merge pull request #523 from yuriks/kernel-lifetime5
Kernel Lifetime Reform Pt. 5: The Reckoning
2015-02-02 13:04:04 -05:00
88a4a808c6 Kernel: Stop creating useless Handles during object creation
They're finally unnecessary, and will stop cluttering the application's
handle table.
2015-02-02 15:37:09 -02:00
52f58e64ef Kernel: Make WaitObjects share ownership of Threads waiting on them
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.

If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.

The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
2015-02-02 15:37:08 -02:00
7725256f64 Explicitly instantiate constructors/destructors for Kernel objects
This should speed up compile times a bit, as well as enable more liberal
use of forward declarations. (Due to SharedPtr not trying to emit the
destructor anymore.)
2015-02-02 15:37:07 -02:00
12232e0b08 Update boost external 2015-02-02 15:37:06 -02:00
4e84df8be3 Mutex: Replace g_mutex_held_locks with a set inside Thread 2015-02-02 15:37:06 -02:00
0f69668fc6 HID: Fix crash when pressing a key when the emulator is stopped 2015-02-02 15:37:05 -02:00
c4208c1171 SVC: Enable CloseHandle, clean up DuplicateHandle 2015-02-02 15:37:04 -02:00
e8330dd162 Kernel: Fix bug in HandleTable::Close 2015-02-02 15:37:04 -02:00
5354a479bc Kernel: Remove Object::GetHandle (it's not used anymore :D) 2015-02-02 15:37:04 -02:00
869ec46683 Kernel: Introduce unique Object ids for debugging 2015-02-02 15:37:03 -02:00
a9b86db3cf Kernel: Use separate Handle tables for CoreTiming userdata
This is to support the removal of GetHandle soon
2015-02-02 15:37:03 -02:00
ec9c773251 Kernel: Remove previous scheduled event when a Timer is re-Set 2015-02-02 15:37:02 -02:00
8441591659 FS: Remove use of GetHandle 2015-02-02 15:37:01 -02:00
664c79ff47 Thread: Modernize two functions that slipped through previous rebases 2015-02-02 15:37:01 -02:00
6e11570862 Service: Store function names as const char* instead of std::string
Uses less memory (strings and function table is stored in constant data)
and speeds up start up (no need to allocate and copy strings).
2015-02-02 15:37:00 -02:00
a79d21c83e Service: Clean-up Interface 2015-02-02 15:36:59 -02:00
8779b31fe6 Make Port/Service registration and querying more HW-accurate 2015-02-02 15:36:59 -02:00
5e91fc0d1a Filesys: Move creation of Handles for File/Directory to service handlers 2015-02-02 15:36:58 -02:00
e1f9f9ea04 Merge pull request #517 from bunnei/blend-factors
Pica: Implement blend factors.
2015-02-01 12:00:10 +01:00
c915d0b727 Merge pull request #514 from rohit-n/fix-warnings
Silence a few warnings.
2015-02-01 00:31:06 -05:00
c8628f5d56 Merge pull request #525 from lioncash/armwarn
vfp: Get rid of some compile warnings
2015-02-01 00:28:50 -05:00
a4b1e8ce52 Merge pull request #524 from lioncash/state
arm: Clean up ARMul_State
2015-02-01 00:28:29 -05:00
8c944bd1f0 vfp: Get rid of some compile warnings 2015-01-31 22:14:00 -05:00
3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
1a82721ad2 Merge pull request #522 from lioncash/adios
arm: Adios armemu
2015-01-31 21:11:34 -05:00
f44781fd7b arm: Adios armemu 2015-01-31 20:43:03 -05:00
73a7a379d6 Merge pull request #512 from lioncash/assignment
shared_memory: Fix assignments in SharedMemory::Map
2015-01-31 12:59:00 +01:00
72cc512b1e Pica: Implement blend factors. 2015-01-31 01:40:05 -05:00
dbff4e5e12 Merge pull request #516 from lioncash/cleanup
ARM: More cleanup.
2015-01-30 17:11:12 -05:00
b6cfc48a0b dyncom: clean up arm_dyncom_dec.h 2015-01-30 16:28:52 -05:00
fc1a9e35fb arm: Move headers over to pragma once 2015-01-30 16:17:02 -05:00
83bc1a3120 arm: Get rid of armcpu.h and skyeye_types.h 2015-01-30 16:16:58 -05:00
904194c3e8 arm: Clean out armos.h and armmmu.h 2015-01-30 15:48:57 -05:00
88a62b671b Merge pull request #513 from lioncash/cleanup
arm: Cleanup.
2015-01-30 15:30:30 -05:00
5ebf35db96 Silence a few warnings. 2015-01-30 19:20:34 +00:00
c8c3a94b20 Merge pull request #511 from lioncash/warnings
Fix a few warnings.
2015-01-30 13:57:08 -05:00
09a66860e2 arm: Throw out a lot of unnecessary code 2015-01-30 13:32:03 -05:00
3dfef1701c armdefs: Move some defines over to enums 2015-01-30 12:43:58 -05:00
96c174aed4 shared_memory: Fix assignments in SharedMemory::Map 2015-01-30 11:37:53 -05:00
0c4685ca12 loader: Add missing printf argument 2015-01-30 11:34:05 -05:00
551264f815 archive: Fix initializer list order for the File class. 2015-01-30 11:30:22 -05:00
0c53cc52bd apt_u: Fix missing printf specifiers 2015-01-30 11:28:09 -05:00
28702cbfeb Merge pull request #503 from yuriks/kernel-lifetime4
Kernel Lifetime Reform Pt. 4
2015-01-30 15:00:17 +01:00
d917a9bf77 Kernel: Mark all appropriate kernel objects as "final" 2015-01-30 11:49:46 -02:00
58b544db99 SVC: Use CASCADE_RESULT in SVC handlers 2015-01-30 11:49:46 -02:00
09ae6e1fa3 Remove result.h InvalidHandle
It was only being used in two places, where it was replaced by a local
constant.
2015-01-30 11:49:45 -02:00