j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Author: stepan Date: 2006-06-10 04:04:54 +0200 (Sat, 10 Jun 2006) New Revision: 60
Modified: openbios-devel/arch/sparc32/romvec.c openbios-devel/arch/sparc64/tree.fs openbios-devel/include/sparc64/types.h openbios-devel/modules/build.xml Log: get sparc64 almost building (fails due to my binutils at the moment)
Modified: openbios-devel/arch/sparc32/romvec.c =================================================================== --- openbios-devel/arch/sparc32/romvec.c 2006-06-10 01:41:02 UTC (rev 59) +++ openbios-devel/arch/sparc32/romvec.c 2006-06-10 02:04:54 UTC (rev 60) @@ -52,6 +52,8 @@
static struct linux_romvec romvec0;
+static unsigned long free_ram; + static void doublewalk(__attribute__((unused)) unsigned int ptab1, __attribute__((unused)) unsigned int va) { @@ -367,18 +369,18 @@ return ret; }
-static void obp_dumb_memfree(char *va, unsigned sz) +static void obp_dumb_memfree(__attribute__((unused))char *va, + __attribute__((unused))unsigned sz) { DPRINTF("obp_dumb_memfree 0x%x(%d)\n", va, sz); }
-static char * obp_dumb_memalloc(char *va, unsigned size) +static char * obp_dumb_memalloc(char *va, unsigned int size) { - static char *pa = 0x4000000; + free_ram -= size; + DPRINTF("obp_dumb_memalloc req 0x%x of %d at 0x%x\n", va, size, free_ram); + obp_dumb_mmap(va, 1, free_ram, size);
- DPRINTF("obp_dumb_memalloc req 0x%x of %d at 0x%x\n", va, size, pa); - obp_dumb_mmap(va, 1, pa, size); - pa += size; return va; }
@@ -444,6 +446,8 @@ void * init_openprom(unsigned long memsize, const char *cmdline, char boot_device) { + free_ram = va2pa((int)&_data) - PAGE_SIZE; + ptphys = totphys; ptmap = totmap; ptavail = totavail; @@ -457,7 +461,7 @@
totavail[0].theres_more = NULL; totavail[0].start_adr = (char *) 0; - totavail[0].num_bytes = va2pa((int)&_data) - PAGE_SIZE; + totavail[0].num_bytes = free_ram;
totmap[0].theres_more = NULL; totmap[0].start_adr = &_start;
Modified: openbios-devel/arch/sparc64/tree.fs =================================================================== --- openbios-devel/arch/sparc64/tree.fs 2006-06-10 01:41:02 UTC (rev 59) +++ openbios-devel/arch/sparc64/tree.fs 2006-06-10 02:04:54 UTC (rev 60) @@ -3,8 +3,8 @@ 2 encode-int " #address-cells" property 1 encode-int " #size-cells" property
- : encode-unit encode-unit-sbus ; - : decode-unit decode-unit-sbus ; + \ : encode-unit encode-unit-sbus ; + \ : decode-unit decode-unit-sbus ;
new-device " memory" device-name
Modified: openbios-devel/include/sparc64/types.h =================================================================== --- openbios-devel/include/sparc64/types.h 2006-06-10 01:41:02 UTC (rev 59) +++ openbios-devel/include/sparc64/types.h 2006-06-10 02:04:54 UTC (rev 60) @@ -16,8 +16,8 @@ /* cell based types */ typedef int64_t cell; typedef uint64_t ucell; -typedef long long dcell; -typedef unsigned long long ducell; +typedef __int128_t dcell; +typedef __uint128_t ducell;
#define bitspercell (sizeof(cell)<<3) #define bitsperdcell (sizeof(dcell)<<3)
Modified: openbios-devel/modules/build.xml =================================================================== --- openbios-devel/modules/build.xml 2006-06-10 01:41:02 UTC (rev 59) +++ openbios-devel/modules/build.xml 2006-06-10 02:04:54 UTC (rev 60) @@ -9,6 +9,7 @@ <object source="elfnote.c" condition="X86"/> <object source="elfnote.c" condition="AMD64"/> <object source="elfnote.c" condition="SPARC32"/> + <object source="elfnote.c" condition="SPARC64"/> <object source="elfload.c" condition="PPC"/> <object source="linuxbios.c" condition="LINUXBIOS"/> <object source="cmdline.c" condition="CMDLINE"/>