Files
AnyPS5/core/libs/prx/libkernel/Unimplemented.cpp
T
STL1teandClaude Opus 5.5 c206f7049a feat(kernel, libc): memory, files and threads for retail title boot
libkernel:
- direct memory keeps its contents per physical page across unmap and
  remap; a page mapped at two live addresses at once throws
- sceKernelDirectMemoryQuery answers from tracked allocations
- SCE protections read back as set, GPU and AMPR bits included
- APR prefix path resolve, file size and stat by id, positional reads,
  fsync/pread/pwrite; directories open as descriptors on Windows
- sceKernelCheckReachability, getpeername, shutdown
- Dinkumware C11 threads (_Mtx_*, _Cnd_*, _Thrd_*) in the title libc
  layout; any pthread stack size, rounded at thread creation

libc:
- unaddressed guest mappings go to the system-managed area from
  0x2_0000_0000, leaving the application area to fixed mappings
- the process starts in /app0
- guest sscanf on Windows; a null %s prints as (null) as on FreeBSD
- localeconv, _FNan, _FDtest, _FExp, __udivti3, wcsncpy_s, aligned
  operator new, _Throw_Cpp_error

Tests: direct memory following physical pages, guest formatting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:22:13 +03:00

44 lines
894 B
C++

#include <cstdint>
#include <cstddef>
#include "SceTypes.hpp"
#include "prx/libc/include/General.hpp"
extern "C" {
int APS5_VABI rename_nid_postfix() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceCoredumpWriteUserData() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceKernelAprResolveFilepathsToIdsAndFileSizesForEach() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceKernelAprResolveFilepathsToIdsForEach() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceKernelAprResolveFilepathsWithPrefixToIdsAndFileSizesForEach() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceKernelAprResolveFilepathsWithPrefixToIdsForEach() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceKernelFtruncate() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}