Commit Graph
16460 Commits
Author SHA1 Message Date
Emanueleandmugurc 190ed6c8fb feat(libkernel): guest memory protection and VirtualQuery on macOS hosts
- mprotect: the guest rounds a range to its 16 KiB pages. A Mach-O image
  is loaded at a multiple of the host page size only (4 KiB under
  Rosetta), so the pages are counted from where the ELF address 0 of the
  image holding the range was loaded, and a rounded edge smaller than a
  guest page that lies in the gap between two segments, where no host page
  exists, is left out. The write watch is told the new protection.
- sceKernelVirtualQuery reads the region with mach_vm_region.
- sceKernelMunlockall unlocks the ranges libkernel locked, one by one:
  macOS has no munlockall, which fails there with ENOSYS and would
  overwrite errno.
- The stack protect test reads page protections with mach_vm_region.

This is mugurc's f66a4df741 from his macOS series, without the mlock
check that #10889 adds.

Co-authored-by: mugurc <[email protected]>
2026-10-27 08:16:35 +01:00
Dean 81267b2204 Merge pull request #8725 from orezraey/fix/libkernel-sync-on-address-measured-ps5
fix(libkernel): follow sceKernelSyncOnAddressWait and Wake as measured on a PS5
2026-10-27 20:03:20 +13:00
Dean 6af5e2de7f Merge pull request #10563 from bipinkrish/feat/opus-encoder-libraries
feat(core): implement the Opus encoder libraries
2026-10-27 20:02:48 +13:00
Adrià 76dec1794b Merge pull request #8998 from MarcZX10/codex/f32-image-store-rtz-8282
fix(agc): round 16-bit float image stores toward zero
2026-10-27 07:59:23 +01:00
Adrià b241428c63 Merge pull request #10984 from EagleBearerYS/fix/count-throwing-done-exports
fix(prx): report four exports that always throw as not implemented
2026-10-27 07:59:18 +01:00
Adrià bf83eae375 Merge pull request #10947 from roboterspinne/fix/relinker-windows-tls-template-imports
fix(relinker): reject Windows executable imports bound into the TLS template
2026-10-27 07:59:13 +01:00
Adrià 7f289b53df Merge pull request #10946 from roboterspinne/fix/relinker-macos-tls-export-at-block-end
fix(relinker): accept a zero-size TLS export at the end of the macOS TLS block
2026-10-27 07:59:08 +01:00
Adrià 63d5eb00e4 Merge pull request #10892 from EagleBearerYS/feat/scefont-glyph-render-image-v2
feat(libSceFont): render generated glyphs with sceFontGlyphRenderImage
2026-10-27 07:59:02 +01:00
Adrià 589799aa53 Merge pull request #10889 from krishalivaibhav/fix/macos-mlock-prot-none
fix(libkernel): refuse mlock on PROT_NONE ranges on macOS
2026-10-27 07:58:57 +01:00
Adrià 8730eda992 Merge pull request #10876 from krishalivaibhav/fix/macos-process-parameters-macho
fix(macos): read application process parameters from Mach-O images
2026-10-27 07:58:53 +01:00
Adrià 951e5963a4 Merge pull request #11718 from MarcZX10/marc/fix-macos-unwind-test-header
test(libkernel): use the libkernel public header in the macOS unwind module info test
2026-10-27 07:44:38 +01:00
Dean b7105f7285 Merge pull request #11590 from oneandonlydean/astro/unary-special-rows-v2
test(shader): check the unary special results on 32 more rows
2026-10-27 19:09:10 +13:00
Dean 5283d89b95 Merge pull request #11569 from olegon85/test-net-byte-order
test(libSceNet): cover the sceNetHton and sceNetNtoh byte-order conversions
2026-10-27 19:08:55 +13:00
Dean 7556e38a6a Merge pull request #11548 from milescoviello/test/npcommon-rtc
test(libSceNpCommon): cover the NP RTC conversion to POSIX time and RFC 3339 formatting
2026-10-27 19:08:17 +13:00
Dean c2bbbce814 Merge pull request #11545 from milescoviello/test/https-ca-list
test(libSceHttp): cover sceHttpsGetCaList and sceHttpsFreeCaList with a null and a filled list
2026-10-27 19:07:21 +13:00
Dean 1f2c139a8b Merge pull request #11544 from milescoviello/test/nputility-bandwidth-abort-status
test(libSceNpUtility): cover sceNpBandwidthTestAbort and sceNpBandwidthTestGetStatus before a test starts
2026-10-27 19:07:06 +13:00
Dean 4807400cc1 Merge pull request #11541 from milescoviello/test/npsessionsignaling-activate-user-connection-info
test(libSceNpSessionSignaling): cover sceNpSessionSignalingActivateUser and sceNpSessionSignalingGetConnectionInfo without a session
2026-10-27 19:06:30 +13:00
Dean 3c36c5a6ba Merge pull request #11539 from milescoviello/test/npmanager-signed-out-state
test(libSceNpManager): cover the signed-out answers of the NP state, sign-up, reachability and premium queries
2026-10-27 19:06:12 +13:00
Dean 182a74381c Merge pull request #11537 from milescoviello/test/pthread-rename
test(libkernel): cover scePthreadRename's rename and its null checks
2026-10-27 19:05:56 +13:00
Dean a428de6911 Merge pull request #11535 from milescoviello/test/npsessionsignaling-activate-session
test(libSceNpSessionSignaling): cover sceNpSessionSignalingActivateSession's argument, context and mode checks
2026-10-27 19:05:19 +13:00
Dean 783b391bca Merge pull request #11534 from milescoviello/test/kernel-gettimeofday
test(libkernel): cover sceKernelGettimeofday's null check and the time it reads
2026-10-27 19:05:03 +13:00
Dean ad29cabe9e Merge pull request #11533 from milescoviello/test/playgo-progress-and-install-chunks
test(libScePlayGo): cover scePlayGoGetProgress's checks and scePlayGoGetInstallChunkId on a chunk table
2026-10-27 19:04:44 +13:00
Dean 8001b11043 Merge pull request #11517 from milescoviello/test/npmanager-get-account-id-a
test(libSceNpManager): cover sceNpGetAccountIdA's signed-out answer
2026-10-27 19:02:37 +13:00
Dean e6c793fcd0 Merge pull request #11515 from milescoviello/test/systemservice-launch-player-dialog
test(libSceSystemService): cover sceSystemServiceLaunchPlayerDialog with a null and an initialized param
2026-10-27 19:02:22 +13:00
Dean c8e7e1fdb4 Merge pull request #11514 from milescoviello/test/playgo-set-install-speed
test(libScePlayGo): cover scePlayGoSetInstallSpeed's handle check and the speed it stores
2026-10-27 19:02:06 +13:00
Dean d37a8d0e24 Merge pull request #11501 from pushkarreddyy/test/npsnsfacebookdialog-uninitialized-null-argument-coverage
test(libSceNpSnsFacebookDialog): cover null argument handling before initialization
2026-10-27 19:01:32 +13:00
Dean 9e2e90dc00 Merge pull request #11498 from pushkarreddyy/test/npfriendlistdialog-uninitialized-null-argument-coverage
test(libSceNpFriendListDialog): cover null argument handling before initialization
2026-10-27 19:00:53 +13:00
Dean eccb92d9bb Merge pull request #11497 from pushkarreddyy/test/hmdsetupdialog-uninitialized-null-argument-coverage
test(libSceHmdSetupDialog): cover null argument handling before initialization
2026-10-27 19:00:38 +13:00
Dean 32906a0659 Merge pull request #11494 from iAbdulrrahman/feat/libc-bit-search-functions
feat(libc): implement ffs, ffsl, ffsll, fls and flsll bit search functions
2026-10-27 19:00:19 +13:00
Dean fe2b52c7e4 Merge pull request #11474 from heditrigui/test/errordialog-param-validation
test(libSceErrorDialog): cover uninitialized and invalid size arguments in sceErrorDialogOpen
2026-10-27 18:40:10 +13:00
Dean a8ff389dee Merge pull request #11462 from xXPBSXx/test/usleep-behavior
test(libkernel): cover the return value and duration of usleep
2026-10-27 18:39:37 +13:00
Dean a453b29ebe Merge pull request #11434 from LeandroLP23/test/shader-cache-smb-posix-rename
test(shader): skip open-entry cache replacements where SMB has no POSIX rename
2026-10-27 18:38:46 +13:00
Dean 35ba44f7fa Merge pull request #11424 from josealissonbr/fix/posix-spawn-test-utf8-environment
test(libSceLibcInternal): pass the spawn test's environment as UTF-8 on Windows
2026-10-27 18:37:39 +13:00
Dean f52fcfd749 Merge pull request #11422 from Mherberts/codex/fix-mingw-ucrt-fixture-build
fix(build): link the UCRT test fixture without -mcrtdll
2026-10-27 18:37:16 +13:00
Dean 05736d76fe Merge pull request #11411 from PrivacyOnion/test/companion-httpd-null-precedence
test(libSceCompanionHttpd): cover null parameter precedence before initialization in GuestCompanionHttpd
2026-10-27 18:36:57 +13:00
Dean c54bf393c2 Merge pull request #11410 from PrivacyOnion/test/playgo-progress-and-install-speed
test(libScePlayGo): cover progress query and install speed argument validation in GuestPlayGo
2026-10-27 18:36:42 +13:00
Dean 2f0840ef0d Merge pull request #11409 from PrivacyOnion/test/savedata-get-event-result-coverage
test(libSceSaveData.native): cover empty queue and null result in sceSaveDataGetEventResult
2026-10-27 18:36:23 +13:00
Dean 8277369258 Merge pull request #11408 from PrivacyOnion/test/player-selection-dialog-null-uninitialized
test(libScePlayerSelectionDialog): cover null argument validation before initialization in GuestPlayerSelectionDialog
2026-10-27 18:36:09 +13:00
Dean 42c7f48f5a Merge pull request #11406 from PrivacyOnion/test/screenshot-negative-offset-bounds
test(libSceScreenShot): cover negative offset and valid origin parameter bounds in GuestScreenShot
2026-10-27 18:35:54 +13:00
Dean ce7a561cfd Merge pull request #11404 from xXPBSXx/test/libc-cxa-guard-behavior
test(libc): cover the __cxa_guard_acquire, release and abort behaviour
2026-10-27 18:35:35 +13:00
Dean 9be54a9b5a Merge pull request #11395 from PrivacyOnion/test/pad-vibration-mode-special-handle
test(libScePad): cover special handle vibration mode in GuestPadVibrationMode
2026-10-27 18:35:17 +13:00
Dean cda9c9bedf Merge pull request #11394 from PrivacyOnion/test/random-null-max-size
test(libSceRandom): cover null buffer at and above maximum size in sceRandomGetRandomNumber
2026-10-27 18:35:02 +13:00
Dean edc34d746d Merge pull request #11393 from Elma7e/test/game-custom-data-dialog-null-argument-coverage
test(libSceGameCustomDataDialog): cover null parameter and result argument validation
2026-10-27 18:34:46 +13:00
Dean a8bc4474c4 Merge pull request #11090 from roboterspinne/fix/relinker-windows-gs-trap-entry-roots
fix(relinker): refuse GS traps that overwrite a code entry point in Windows output
2026-10-27 18:32:02 +13:00
Dean 570002610e Merge pull request #11084 from roboterspinne/fix/relinker-output-directory-paths
fix(relinker): reject an existing directory at any output path before writing
2026-10-27 18:31:47 +13:00
Dean 07a9a43cfe Merge pull request #11059 from MarcZX10/marc/fix-libc-fp-contract
fix(libc): build libc without floating-point contraction
2026-10-27 18:30:44 +13:00
Dean 0886ead564 Merge pull request #11001 from SandstromPL/test/agc-readback-label-off-skip
test(agc): pass the label-store negative control only on the stale read it expects
2026-10-27 18:30:15 +13:00
Dean 26c451905c Merge pull request #10973 from MarcZX10/marc/fix-asan-copy-guest-bytes-alignment
fix(agc): read unaligned guest words through a one-byte-aligned type in the ASan copy
2026-10-27 18:29:32 +13:00
Dean 1eb876b63a Merge pull request #10907 from imellag/test/libc-math-standard-exception-flags
test(libc): compare the C exception flags in the scaled hyperbolic checks
2026-10-27 18:28:30 +13:00
MarcZX10 039408c144 test(libkernel): use the libkernel public header in the macOS unwind module info test
The test declared sceKernelGetModuleInfoForUnwind itself, so the header already declares it and the test declares it twice and public_headers fails on main.
2026-10-27 05:26:56 +00:00