1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-26 13:52:21 +00:00

git subrepo clone --force --branch=develop https://github.com/m4xw/emummc

subrepo:
  subdir:   "emummc"
  merged:   "24bdbec8"
upstream:
  origin:   "https://github.com/m4xw/emummc"
  branch:   "develop"
  commit:   "24bdbec8"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
This commit is contained in:
Michael Scire 2020-11-15 22:39:39 -08:00
parent f72b21d665
commit 1525c66de7
4 changed files with 9 additions and 8 deletions

View file

@ -5,8 +5,8 @@
; ;
[subrepo] [subrepo]
remote = https://github.com/m4xw/emuMMC remote = https://github.com/m4xw/emuMMC
branch = exo2 branch = develop
commit = 6a814ebbe72cf5245b863b9edea9cd3801437a12 commit = 24bdbec869be2d29d3769a3e88a76d389d094bd5
parent = f551ca4461a79908c37307db10cd8cacf8b98f17 parent = f72b21d665657b27d8de41729a6416982a79fff3
method = rebase method = rebase
cmdver = 0.4.1 cmdver = 0.4.1

View file

@ -155,8 +155,8 @@ void __initheap(void)
static void _receive_process_handle_thread(void *_session_handle) { static void _receive_process_handle_thread(void *_session_handle) {
Result rc; Result rc;
// Convert the argument to a handle we can use. // Convert the argument to a handle copy we can use.
Handle session_handle = (Handle)(uintptr_t)_session_handle; Handle session_handle = *(Handle*)_session_handle;
// Receive the request from the client thread. // Receive the request from the client thread.
memset(armGetTls(), 0, 0x10); memset(armGetTls(), 0, 0x10);
@ -194,7 +194,7 @@ static void _init_process_handle(void) {
// Create a new thread to receive our handle. // Create a new thread to receive our handle.
Handle thread_handle; Handle thread_handle;
rc = svcCreateThread(&thread_handle, _receive_process_handle_thread, (void *)(uintptr_t)server_handle, temp_thread_stack + sizeof(temp_thread_stack), 0x20, 3); rc = svcCreateThread(&thread_handle, _receive_process_handle_thread, &server_handle, temp_thread_stack + sizeof(temp_thread_stack), 0x20, 3);
if (rc != 0) if (rc != 0)
{ {
fatal_abort(Fatal_BadResult); fatal_abort(Fatal_BadResult);

View file

@ -38,6 +38,7 @@ static inline uintptr_t _GetIoMapping(u64 io_addr, u64 io_size)
u64 vaddr; u64 vaddr;
u64 aligned_addr = (io_addr & ~0xFFFul); u64 aligned_addr = (io_addr & ~0xFFFul);
u64 aligned_size = io_size + (io_addr - aligned_addr); u64 aligned_size = io_size + (io_addr - aligned_addr);
if (emuMMC_ctx.fs_ver >= FS_VER_10_0_0) { if (emuMMC_ctx.fs_ver >= FS_VER_10_0_0) {
u64 out_size; u64 out_size;
if (svcQueryIoMapping(&vaddr, &out_size, aligned_addr, aligned_size) != 0) { if (svcQueryIoMapping(&vaddr, &out_size, aligned_addr, aligned_size) != 0) {
@ -48,6 +49,7 @@ static inline uintptr_t _GetIoMapping(u64 io_addr, u64 io_size)
fatal_abort(Fatal_IoMappingLegacy); fatal_abort(Fatal_IoMappingLegacy);
} }
} }
return (uintptr_t)(vaddr + (io_addr - aligned_addr)); return (uintptr_t)(vaddr + (io_addr - aligned_addr));
} }

View file

@ -18,8 +18,7 @@ for i in range(6):
if i < len(section_names): if i < len(section_names):
section["Name"] = section_names[i] section["Name"] = section_names[i]
section["OutOffset"], section["DecompressedSize"], section["CompressedSize"], section["Attribute"] = unpack( section["OutOffset"], section["DecompressedSize"], section["CompressedSize"], section["Attribute"] = unpack("IIII", section_bytes)
"IIII", section_bytes)
sections.append(section) sections.append(section)
print(section) print(section)