Commit Graph

4450 Commits

Author SHA1 Message Date
James Benton
583bf20aa8 cpu: Change function pointer to work like std::function<R(Args...)> 2018-06-22 12:30:59 +01:00
James Benton
3ea3775561 common: Add align_check for non pointer types 2018-06-22 12:30:59 +01:00
James Benton
8dadab6239 interpreter: Fix call to branch trace handler. 2018-06-22 12:30:58 +01:00
James Benton
dc38e15474 common: Change FrameAllocator alignment arg to be size_t 2018-06-22 12:30:58 +01:00
James Benton
fd3c52363b ios: Add ios::Handle for IpcRequest. 2018-06-22 12:30:58 +01:00
James Benton
2addaaeb0b coreinit: Implement OSLoadCoroutine and OSSaveCoroutine. 2018-06-22 12:30:58 +01:00
James Benton
ac66bd5303 cpu: Add virt_addr_range and phys_addr_range alias. 2018-06-22 12:30:58 +01:00
James Benton
ecf373476c cpu: Add waitNextInterrupt that will sleep until next interrupt with a timeout. 2018-06-22 12:30:58 +01:00
James Benton
df0cd30b02 cpu: Change interrupt handles to all pass the core as argument. 2018-06-22 12:30:58 +01:00
James Benton
adc6eb8682 cpu: Add explicit Address::operator uint32_t 2018-06-22 12:30:58 +01:00
James Benton
1a95e8cde3 common: Add an abort with provided stack trace to decaf_assert. 2018-06-22 12:30:58 +01:00
James Benton
394be7df04 common: Use MAX_SYM_NAME in platform_win_stacktrace 2018-06-22 12:30:58 +01:00
James Benton
1890864108 ios: Set AHBLT.0 to SdHostController 2018-06-22 12:30:58 +01:00
James Benton
73dede0e1b ios/mcp: Start work on /dev/ppc_app and /dev/ppc_kernel 2018-06-22 12:30:57 +01:00
James Benton
73bb863de6 ios/mcp: Set cafe title path during initialisation. 2018-06-22 12:30:57 +01:00
James Benton
26d56cb847 ios/mcp: Add LoadLibraryChunk request. 2018-06-22 12:30:57 +01:00
James Benton
84fc3ec3c6 ios: Fix MCP_Open actually opening /dev/fsa.
Damn copy pasta!
2018-06-22 12:30:57 +01:00
James Benton
45ff0ea740 cpu: Rework some be2_struct stuff.
Remove implicit cast from X_ptr <-> X_addr.
Change X_cast<T> to X_cast<T *> in order to support X_cast<X_addr>.
2018-06-22 12:30:57 +01:00
James Benton
534a670835 common: Add TeenyHeap default constructor and reset function. 2018-06-22 12:30:57 +01:00
James Benton
84859a5532 common: Add a single-producer single-consumer queue to AtomicQueue. 2018-06-22 12:30:57 +01:00
James Benton
b53b93c6ee cpu: Add FunctionPointer class 2018-06-22 12:30:56 +01:00
James Benton
615ca539a3 cpu: Add Address::operator &(uint32_t) 2018-06-22 12:30:56 +01:00
James Benton
af20226cd1 ios/kernel: Fix getOpenResource incorrectly handling closed devices. 2018-06-22 12:30:56 +01:00
James Benton
7f6e6d320a ios/kernel: Fix allocResourceHandle always returning handle[0]. 2018-06-22 12:30:56 +01:00
James Benton
94b366be24 ios/kernel: Fix freeResourceRequest incorrectly handling id 0. 2018-06-22 12:30:56 +01:00
James Benton
b14cb37840 ios/kernel: Fix allocResourceRequest setting nextIdx instead of prevIdx. 2018-06-22 12:30:56 +01:00
James Benton
fb50e7608b ios/kernel: Fix findResourceManager ignoring id 0. 2018-06-22 12:30:56 +01:00
James Benton
d5ad8ca48b ios/kernel: Fix usage of the wrong resource handle manager. 2018-06-22 12:30:56 +01:00
James Benton
b1a942d989 ios/kernel: Fix dispatchRequest using the wrong message queue. 2018-06-22 12:30:56 +01:00
James Benton
aac844914c ios/kernel: Fix IOS_CreateTimer return value. 2018-06-22 12:30:56 +01:00
James Benton
16838eb90a ios/mcp: Add missing IOS_ResourceReply for /dev/pm ioctl. 2018-06-22 12:30:55 +01:00
James Benton
e9f6ad80c5 ios/mcp: Fix handling of unimplemented /dev/pm resource managers. 2018-06-22 12:30:55 +01:00
James Benton
bd84299493 ios/mcp: Fix always using /dev/crypto as process name in pm manager list. 2018-06-22 12:30:55 +01:00
James Benton
2301bbb756 ios/kernel: Fix 0x7FFFFFFF to be the magic value in getClientCapability. 2018-06-22 12:30:55 +01:00
James Benton
6751c3e5b1 ios/fs: Add FS service thread. 2018-06-22 12:30:55 +01:00
James Benton
a00f558c10 cpu: Fix BigEndianValue operator[] return type.
IT WASN OT RETURNIGN A REFERNCE!!!!Uyh12397u41h23
(aka the dangers of auto)
2018-06-22 12:30:55 +01:00
James Benton
b75c24f29a ios: Make process local heap allocations more explicit. 2018-06-22 12:30:55 +01:00
James Benton
0f0e6cd2ea ios/kernel: Implement ordered insertion in IOS_RegisterResourceManager. 2018-06-22 12:30:55 +01:00
James Benton
a38ecc4391 Move IPC address translation into the Cafe kernel IPC driver. 2018-06-22 12:30:54 +01:00
James Benton
5c802bf04a ios/kernel: Fix RegisterResourceManager returning Exists if No Exists! 2018-06-22 12:30:54 +01:00
James Benton
47e1157b98 ios: Fix copypasta of NonBlocking receive everywhere! 2018-06-22 12:30:54 +01:00
James Benton
319925e53e ios/kernel: Add unregister event handler. 2018-06-22 12:30:54 +01:00
James Benton
83136c74d7 kernel: Fix submitting wrong ipc address to ios. 2018-06-22 12:30:54 +01:00
James Benton
dbbff6502e ios/mcp: localHeapBuffer requries 0x20 byte alignment.
I'm sure this won't be the first localHeapBuffer we need to use alignas on,
maybe consider explicitly allocating this separately from StaticData?
2018-06-22 12:30:54 +01:00
James Benton
245188c042 ios/kernel: Change allocProcessStatic to use 16 byte alignment. 2018-06-22 12:30:54 +01:00
James Benton
c965734925 ios/kernel: Allow the kernel to call IOS_StartThread for any process. 2018-06-22 12:30:54 +01:00
James Benton
aca768af93 ios/kernel: Fix priority inversion in scheduler.
Copy & pasted from CafeOS where lower priority value means higher priority,
on IOS it is the opposite.
2018-06-22 12:30:54 +01:00
James Benton
4b7af1dde7 ios/kernel: Add some missing scheduler unlocks.
Should really use a scope guard...
2018-06-22 12:30:53 +01:00
James Benton
a6d8f8ff54 ios/kernel: Fix wrong itnerrupt being set when an IPC is submitted. 2018-06-22 12:30:53 +01:00
James Benton
1ad25dce3f ios/kernel: Fix some heap bugs.
Also visual studio debugger shits the bed with every type being called
StaticData, so unique names should be used.
2018-06-22 12:30:53 +01:00