2211 Commits

Author SHA1 Message Date
izzy2lost 827c176998 Update pr_build.yml 2024-06-28 20:15:18 -04:00
izzy2lost 0f13b75fe7 Update pr_build.yml 2024-06-28 19:49:23 -04:00
izzy2lost 0770f942b5 Update pr_build.yml 2024-06-28 19:11:37 -04:00
izzy2lost 3e82b1c72b Update build.yml 2024-06-28 19:00:34 -04:00
TheASVigilante ae1566a482 Fix accidental recursion with trap handling 2024-04-28 20:04:22 +02:00
lynxnb 83111c2ae7 Move memory trapping infrastructure outside of NCE 2024-04-27 16:15:29 +02:00
TheASVigilante 9dd03dc2bb Replace sirit submodule 2024-04-27 15:52:09 +02:00
lynxnb a503ca19bc Use a repository variable to control CI artifact upload for PRs 2024-03-01 10:54:05 +01:00
lynxnb d5d6e677ca Rework CI to only upload artifacts for PR builds
CI now performs build checks on pushes to the master branch only.
For pull requests, the dev variant of the app is built and artifacts are uploaded for ease of testing and side-by-side installation. PR builds use autogenerated debug signing keys, resulting in different keys being used for each build on purpose to ensure they cannot be installed over each other, avoiding any possible conflict between two PRs.
2024-02-27 23:11:15 +01:00
TGP17 812b1d7646 Build the correct app variant in CI (#248) 2024-02-27 11:04:05 +01:00
lynxnb 686a25120b Move SvcTable definition out of header files 2024-02-23 15:06:40 +01:00
lynxnb 18626a4251 Introduce a generic register context for SVCs
`SvcContext` represents a common interface for accessing registers from SVCs, decoupling them from a particular thread context.
2024-02-23 15:06:40 +01:00
Niccolò Betto 44225a6237 Merge pull request #245 from strato-emu/memman-guestaddr
Rework `MemoryManager` to use guest addresses everywhere
2024-02-22 08:59:33 +01:00
lynxnb 80b3b223c8 KProcess: correctly handle empty optional chunk 2024-02-22 08:53:45 +01:00
lynxnb b51c31dc72 memory: update KMemory to use guest addresses 2024-02-21 15:40:23 +01:00
lynxnb 8addba3273 memory: use guest addresses everywhere
The memory manager has been reworked to handle addresses in the guest address space, and applying an offset to get the address on the host whenever memory needs to be mapped/unmapped/reprotected.
2024-02-21 15:40:05 +01:00
lynxnb d693cac5da memory: fix insertion at the beginning of the chunks map
The memory manager was incorrectly inserting chunks when the new chunk was being inserted at the beginning of the chunks map (no previous chunk available). The existing chunk was resized to an empty chunk (correctly), but the new chunk was never inserted because of `std::map::insert` skipping insertion on an already existing key.
This resulted in an empty chunk being left at the beginning of the map, causing infinite loops for code that worked by scanning the chunks map.

Usages of `std::map::operator[]` have also been replaced with the safer `insert_or_assign`.
2024-02-21 15:39:48 +01:00
Niccolò Betto 914c28aa91 Merge pull request #244 from strato-emu/symbol
Loader modifications to support 32-bit executables
2024-02-21 15:37:00 +01:00
lynxnb f9f9b6de71 Loader: skip patching non 64-bit executables 2024-02-21 15:17:51 +01:00
lynxnb bdb4e3fdd8 Loader: make dynsym handling more generic
dynsym is not hardcoded to handle Elf64_Sym only anymore, and a templated ResolveSymbol function has been introduced to easily support Elf32_Sym lookup in the future.
2024-02-21 15:04:44 +01:00
lynxnb 1102f42730 Move symbol hooking setup code out of loader 2024-02-21 15:04:35 +01:00
Pablo González c87f753893 Make navigation bar transparent (#203) 2024-01-29 17:31:08 +01:00
Niccolò Betto 0b0e48c647 Fix invalid switch-case syntax resulting from nvdrv macro expansion (#242) 2024-01-29 17:19:03 +01:00
Adrien Bouillon 6346c2693c Add basic support for Google Game Dashboard (#240) 2024-01-29 17:11:05 +01:00
Pablo González d2b2b0fabe Add toString to exceptions in Gradle (#241) 2024-01-29 17:10:06 +01:00