mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-12-16 04:09:39 +00:00
Compare commits
4 Commits
a8b48ee90f
...
2cb0b61b3e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2cb0b61b3e | ||
|
|
04f71e5e6d | ||
|
|
eded73fe8b | ||
|
|
b2a57f4391 |
@ -143,17 +143,23 @@ bool ElfReader::LoadIntoMemory(Core::System& system, bool only_in_mem1) const
|
|||||||
{
|
{
|
||||||
Elf32_Phdr* p = segments + i;
|
Elf32_Phdr* p = segments + i;
|
||||||
|
|
||||||
INFO_LOG_FMT(BOOT, "Type: {} Vaddr: {:08x} Filesz: {} Memsz: {}", p->p_type, p->p_vaddr,
|
INFO_LOG_FMT(BOOT, "Type: {} Vaddr: {:08x} Paddr: {:08x} Filesz: {} Memsz: {}", p->p_type,
|
||||||
p->p_filesz, p->p_memsz);
|
p->p_vaddr, p->p_paddr, p->p_filesz, p->p_memsz);
|
||||||
|
|
||||||
if (p->p_type == PT_LOAD)
|
if (p->p_type == PT_LOAD)
|
||||||
{
|
{
|
||||||
u32 writeAddr = p->p_vaddr;
|
// Check LMA (paddr) first - some are nonsense, so fall back to VMA (vaddr) if invalid
|
||||||
|
u32 writeAddr = p->p_paddr;
|
||||||
|
if (writeAddr)
|
||||||
|
writeAddr |= 0x80000000; // map to virtual address
|
||||||
|
else
|
||||||
|
writeAddr = p->p_vaddr; // LMA is empty, fall back to VMA
|
||||||
|
|
||||||
const u8* src = GetSegmentPtr(i);
|
const u8* src = GetSegmentPtr(i);
|
||||||
u32 srcSize = p->p_filesz;
|
u32 srcSize = p->p_filesz;
|
||||||
u32 dstSize = p->p_memsz;
|
u32 dstSize = p->p_memsz;
|
||||||
|
|
||||||
if (only_in_mem1 && p->p_vaddr >= memory.GetRamSizeReal())
|
if (only_in_mem1 && writeAddr >= memory.GetRamSizeReal())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
memory.CopyToEmu(writeAddr, src, srcSize);
|
memory.CopyToEmu(writeAddr, src, srcSize);
|
||||||
|
|||||||
@ -158,7 +158,7 @@ static std::optional<std::string> GetParentDeviceDescription(const WCHAR* hid_if
|
|||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnumerateRadios(std::invocable<EnumerationControl(HANDLE)> auto&& enumeration_callback)
|
void EnumerateRadios(std::invocable<HANDLE> auto&& enumeration_callback)
|
||||||
{
|
{
|
||||||
constexpr BLUETOOTH_FIND_RADIO_PARAMS radio_params{
|
constexpr BLUETOOTH_FIND_RADIO_PARAMS radio_params{
|
||||||
.dwSize = sizeof(radio_params),
|
.dwSize = sizeof(radio_params),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user