shadPS4/src/common
Stephen Miller ee2bc97248
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Windows: Limit address space maximum when higher addresses are not needed (#3775)
* Earlier initialization of elf info.

Everything used for elf info initialization comes from the param.sfo, so we can initialize this earlier to have this information accessible during memory init.

* Extract compiled SDK version from pubtoolinfo string

Up until now, we've been using the game's reported "firmware version" as our compiled SDK version. This behavior is inaccurate, and is something that has come up in my hardware tests before.

For the actual compiled SDK version, we should use the SDK version in the PUBTOOLINFO string of the param.sfo, only falling back on the firmware version when that the sdk_ver component isn't present.

* Store compiled SDK version in ElfInfo

* Limit address space for compiled SDK version at or above FW 3

Sony placed a hard cap at 0xfc00000000, with a slight extension for stack mappings. For now, though stack mappings aren't implemented, there's no harm in keeping a slightly extended address space (since this cap is lower than our old user max).

Limiting the max through address space is necessary for Windows due to performance issues, in the future I plan to properly implement checks in memory manager code to properly handle this behavior for all platforms.

* Use compiled SDK version for sceKernelGetCompiledSdkVersion

I think this is pretty self explanatory.

* Log SDK version

Since this value is what most internal firmware version checks are against, logging the value will help with debugging.

* Update address_space.cpp

* Update emulator.cpp

* Backwards compatible logging

Because that's apparently an issue now
2025-11-10 17:07:17 +02:00
..
logging [Libs] Font lib HLE implementation (#2761) 2025-11-04 17:14:22 +02:00
support fix: fix #1457 again by moving av_err2str to a common header (#1688) 2024-12-08 00:52:03 +02:00
adaptive_mutex.h video_core: Page manager and memory tracker improvenets (#3155) 2025-06-26 18:38:53 +02:00
aes.h externals: Remove need for cryptopp build. (#2707) 2025-03-29 10:32:06 +02:00
alignment.h libraries: Add initial HLE JPEG encoder skeleton (#1607) 2024-11-30 21:43:12 +02:00
arch.h Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
assert.cpp Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
assert.h common: Rewrite logging based on cut down citra logger (#86) 2024-02-28 00:10:34 +02:00
bit_array.h bit_array: Remove non const operator~ (#3161) 2025-06-26 18:07:56 -07:00
bit_field.h Devtools improvements I (#1392) 2024-10-16 13:12:46 +03:00
bounded_threadsafe_queue.h texture_cache: Fix linear image uploads 2024-04-29 18:22:04 +03:00
concepts.h common: Rewrite logging based on cut down citra logger (#86) 2024-02-28 00:10:34 +02:00
config.cpp usbd: Implement usb backend system (#3737) 2025-10-31 11:11:14 +02:00
config.h usbd: Implement usb backend system (#3737) 2025-10-31 11:11:14 +02:00
cstring.h ime_dialog: Initial implementation (#1267) 2024-10-11 04:53:32 +03:00
debug.h build: exclude Tracy from release builds 2024-12-22 22:51:48 +01:00
decoder.cpp Implement shader resource tables (#1165) 2024-11-01 08:55:53 +02:00
decoder.h Implement shader resource tables (#1165) 2024-11-01 08:55:53 +02:00
discord_rpc_handler.cpp Don't use github as a CDN for Discord RPC icon (#1496) 2024-11-21 12:09:10 +02:00
discord_rpc_handler.h added discord rpc (#1178) 2024-10-08 18:14:37 +03:00
div_ceil.h Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
elf_info.h Windows: Limit address space maximum when higher addresses are not needed (#3775) 2025-11-10 17:07:17 +02:00
endian.h file formats and qt (#88) 2024-03-01 00:00:35 +02:00
enum.h video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
error.cpp core: Rework memory manager 2024-06-10 02:13:44 +03:00
error.h common: Rewrite logging based on cut down citra logger (#86) 2024-02-28 00:10:34 +02:00
fixed_value.h Message Dialog library (#767) 2024-09-08 23:27:50 +03:00
func_traits.h video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
hash.h Implement shader resource tables (#1165) 2024-11-01 08:55:53 +02:00
io_file.cpp Core: Simulate write-only file access with read-write access (#3360) 2025-11-04 10:57:26 +02:00
io_file.h Core: Simulate write-only file access with read-write access (#3360) 2025-11-04 10:57:26 +02:00
lru_cache.h video_core: garbage collector (part 1) (#3350) 2025-08-06 12:30:13 +02:00
memory_patcher.cpp Fix patches being applied multiple times redundantly (#3763) 2025-11-01 13:47:38 +02:00
memory_patcher.h Remove Qt from emulator (#3733) 2025-10-31 10:28:39 +02:00
native_clock.cpp native_clock: Remove unused process code. (#1989) 2024-12-31 10:04:26 +02:00
native_clock.h native_clock: Remove unused process code. (#1989) 2024-12-31 10:04:26 +02:00
ntapi.cpp Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
ntapi.h Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
number_utils.cpp amdgpu: Split liverpool registers and cleanup (#3707) 2025-10-05 13:42:40 -07:00
number_utils.h video_core: Rework clear values (#1381) 2024-10-16 12:55:45 +03:00
object_pool.h video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
path_util.cpp Remove Qt from emulator (#3733) 2025-10-31 10:28:39 +02:00
path_util.h Remove Qt from emulator (#3733) 2025-10-31 10:28:39 +02:00
polyfill_thread.h Bump to Clang 19 (#2434) 2025-02-18 15:55:13 +02:00
range_lock.h video_core: Page manager and memory tracker improvenets (#3155) 2025-06-26 18:38:53 +02:00
rdtsc.cpp code: Add clang-format target and CI workflow (#82) 2024-02-23 22:57:57 +02:00
rdtsc.h Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
recursive_lock.cpp video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
recursive_lock.h video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
scm_rev.cpp.in Fix SSH remote links (#3025) 2025-06-02 19:02:37 +03:00
scm_rev.h Fix SSH remote links (#3025) 2025-06-02 19:02:37 +03:00
scope_exit.h core: Implement new memory manager (#133) 2024-05-16 15:55:50 +03:00
sha1.h externals: Remove need for cryptopp build. (#2707) 2025-03-29 10:32:06 +02:00
shared_first_mutex.h Use shared_first_mutex (#3179) 2025-07-02 16:54:14 +03:00
signal_context.cpp Patch extrq (#943) 2024-09-23 19:19:52 +03:00
signal_context.h Patch extrq (#943) 2024-09-23 19:19:52 +03:00
singleton.h chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
slab_heap.h kernel: Rewrite pthread emulation (#1440) 2024-11-21 22:59:38 +02:00
slot_array.h Ajm (#1456) 2024-11-05 09:16:57 +02:00
slot_vector.h video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
spin_lock.cpp Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
spin_lock.h Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
stb.cpp cmake: unbundle stb (#1601) 2024-12-05 23:10:27 +02:00
stb.h cmake: unbundle stb (#1601) 2024-12-05 23:10:27 +02:00
string_literal.h FidelityFX FSR implementation (#2624) 2025-03-12 20:33:30 +02:00
string_util.cpp Devtools - Shader editing (#1705) 2024-12-09 21:11:11 +01:00
string_util.h Devtools - Shader editing (#1705) 2024-12-09 21:11:11 +01:00
thread.cpp externals: Remove winpthreads. (#2932) 2025-05-15 13:59:34 -07:00
thread.h externals: Remove winpthreads. (#2932) 2025-05-15 13:59:34 -07:00
types.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
uint128.h Added const reference params if possible, removed less 16 size 2024-08-22 02:56:01 +03:00
unique_function.h Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
va_ctx.h kernel: Clean up and fix some mistakes. (#2907) 2025-05-11 14:22:17 -07:00