(GX) Cleanups

This commit is contained in:
twinaphex 2014-10-22 06:11:00 +02:00
parent 13778b314b
commit 9717359e6d
3 changed files with 8 additions and 11 deletions

View file

@ -62,7 +62,7 @@ u32 load_elf_image (void *elfstart)
phdrs = (Elf32_Phdr*)(elfstart + ehdr->e_phoff);
for(i=0;i<ehdr->e_phnum;i++)
for (i = 0; i < ehdr->e_phnum; i++)
{
if(phdrs[i].p_type != PT_LOAD)
continue;
@ -80,9 +80,6 @@ u32 load_elf_image (void *elfstart)
memcpy ((void *) phdrs[i].p_paddr, (const void *) image, phdrs[i].p_filesz);
sync_before_exec ((void *) phdrs[i].p_paddr, phdrs[i].p_memsz);
//if(phdrs[i].p_flags & PF_X)
//ICInvalidateRange ((void *) phdrs[i].p_paddr, phdrs[i].p_memsz);
}
return ((ehdr->e_entry & 0x3FFFFFFF) | 0x80000000);

View file

@ -6,13 +6,11 @@
void sync_before_exec(const void *p, u32 len)
{
u32 a, b;
u32 a = (u32)p & ~0x1f;
u32 b = ((u32)p + len + 0x1f) & ~0x1f;
a = (u32)p & ~0x1f;
b = ((u32)p + len + 0x1f) & ~0x1f;
for ( ; a < b; a += 32)
asm("dcbst 0,%0 ; sync ; icbi 0,%0" : : "b"(a));
for ( ; a < b; a += 32)
asm("dcbst 0,%0 ; sync ; icbi 0,%0" : : "b"(a));
asm("sync ; isync");
asm("sync ; isync");
}

View file

@ -2,7 +2,9 @@
#define __SYNC_H_
void sync_before_read(void *p, u32 len);
void sync_after_write(const void *p, u32 len);
void sync_before_exec(const void *p, u32 len);
#endif