mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-15 03:08:36 +12:00
- Implemented RAW SPU.
- Implemented memory mapping.
This commit is contained in:
parent
027a31bd84
commit
559852a8fc
43 changed files with 1106 additions and 224 deletions
|
@ -413,16 +413,6 @@ bool ELF64Loader::LoadShdrData(u64 offset)
|
|||
{
|
||||
Elf64_Shdr& shdr = shdr_arr[i];
|
||||
|
||||
if(shdr.sh_addr < min_addr)
|
||||
{
|
||||
min_addr = shdr.sh_addr;
|
||||
}
|
||||
|
||||
if(shdr.sh_addr + shdr.sh_size > max_addr)
|
||||
{
|
||||
max_addr = shdr.sh_addr + shdr.sh_size;
|
||||
}
|
||||
|
||||
if(i < shdr_name_arr.GetCount())
|
||||
{
|
||||
const wxString& name = shdr_name_arr[i];
|
||||
|
@ -445,6 +435,22 @@ bool ELF64Loader::LoadShdrData(u64 offset)
|
|||
|
||||
if(size == 0 || !Memory.IsGoodAddr(offset + addr, size)) continue;
|
||||
|
||||
if(shdr.sh_addr < min_addr)
|
||||
{
|
||||
min_addr = shdr.sh_addr;
|
||||
}
|
||||
|
||||
if(shdr.sh_addr + shdr.sh_size > max_addr)
|
||||
{
|
||||
max_addr = shdr.sh_addr + shdr.sh_size;
|
||||
}
|
||||
|
||||
if((shdr.sh_type == SHT_RELA) || (shdr.sh_type == SHT_REL))
|
||||
{
|
||||
ConLog.Error("ELF64 ERROR: Relocation");
|
||||
continue;
|
||||
}
|
||||
|
||||
switch(shdr.sh_type)
|
||||
{
|
||||
case SHT_NOBITS:
|
||||
|
@ -457,6 +463,10 @@ bool ELF64Loader::LoadShdrData(u64 offset)
|
|||
elf64_f.Read(&Memory[addr], shdr.sh_size);
|
||||
*/
|
||||
break;
|
||||
|
||||
case SHT_RELA:
|
||||
ConLog.Warning("ELF64: RELA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue