64-bit fixes

General 64-bit fixes and a hack for x86 to Sparc64 crosscompiling problem,
where x86 misses 128-bit types.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@68 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Stefan Reinauer
2006-07-18 21:42:16 +00:00
parent b03ab3d3ae
commit e492087dbe
12 changed files with 117 additions and 39 deletions

View File

@@ -35,6 +35,7 @@ entry:
! Extract NWINDOWS from %ver
rdpr %ver, %g1
and %g1, 0xf, %g1
dec %g1
wrpr %g1, 0, %cleanwin
wrpr %g1, 0, %cansave
wrpr %g0, 0, %canrestore
@@ -102,9 +103,9 @@ entry:
bne 1b
nop
! setup .rodata
! setup .rodata, also make .text readable
setx _data, %g7, %g5
setx _rodata, %g7, %g4
setx _start, %g7, %g4
sub %g5, %g4, %g5
srlx %g5, 16, %g6 ! %g6 = # of 64k .rodata pages
set 48, %g7

View File

@@ -49,8 +49,8 @@ static void init_memory(void)
* than that we have serious bloat.
*/
PUSH((unsigned int)&_heap);
PUSH((unsigned int)&_eheap);
PUSH((ucell)&_heap);
PUSH((ucell)&_eheap);
}
static void
@@ -128,6 +128,5 @@ int openbios(void)
#endif
enterforth((xt_t)PC);
return 0;
}