summaryrefslogtreecommitdiff
path: root/src/core/loader/kip.cpp
diff options
context:
space:
mode:
authorGravatar Markus Wick2020-01-12 16:51:07 +0100
committerGravatar Markus Wick2020-01-18 08:29:19 +0100
commit7e94e544f40ee8fc58fdea7c71fe48d8edd6fcb6 (patch)
treed98500be6d85b3b32653180ba9021464403e400f /src/core/loader/kip.cpp
parentMerge pull request #3305 from ReinUsesLisp/point-size-program (diff)
downloadyuzu-7e94e544f40ee8fc58fdea7c71fe48d8edd6fcb6.tar.gz
yuzu-7e94e544f40ee8fc58fdea7c71fe48d8edd6fcb6.tar.xz
yuzu-7e94e544f40ee8fc58fdea7c71fe48d8edd6fcb6.zip
core/loaders: Simplify PhysicalMemory usage.
It is currently a std::vector, however we might want to replace it with a more fancy allocator. So we can't use the C++ iterators any more.
Diffstat (limited to 'src/core/loader/kip.cpp')
-rw-r--r--src/core/loader/kip.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/loader/kip.cpp b/src/core/loader/kip.cpp
index 474b55cb1..092103abe 100644
--- a/src/core/loader/kip.cpp
+++ b/src/core/loader/kip.cpp
@@ -2,6 +2,7 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <cstring>
5#include "core/file_sys/kernel_executable.h" 6#include "core/file_sys/kernel_executable.h"
6#include "core/file_sys/program_metadata.h" 7#include "core/file_sys/program_metadata.h"
7#include "core/gdbstub/gdbstub.h" 8#include "core/gdbstub/gdbstub.h"
@@ -76,8 +77,8 @@ AppLoader::LoadResult AppLoader_KIP::Load(Kernel::Process& process) {
76 segment.addr = offset; 77 segment.addr = offset;
77 segment.offset = offset; 78 segment.offset = offset;
78 segment.size = PageAlignSize(static_cast<u32>(data.size())); 79 segment.size = PageAlignSize(static_cast<u32>(data.size()));
79 program_image.resize(offset); 80 program_image.resize(offset + data.size());
80 program_image.insert(program_image.end(), data.begin(), data.end()); 81 std::memcpy(program_image.data() + offset, data.data(), data.size());
81 }; 82 };
82 83
83 load_segment(codeset.CodeSegment(), kip->GetTextSection(), kip->GetTextOffset()); 84 load_segment(codeset.CodeSegment(), kip->GetTextSection(), kip->GetTextOffset());