9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] sparc64 port
@ 2006-08-26 14:40 Sascha Retzki
  2006-09-16 14:57 ` Sascha Retzki
  0 siblings, 1 reply; 2+ messages in thread
From: Sascha Retzki @ 2006-08-26 14:40 UTC (permalink / raw)
  To: 9fans


Hi friends,


I tried out Newshams sparc64 ports today (the latest tarball), and I experienced two and a half problems.

First of, there is a file missing in /sys/src/ape/lib/9/sparc64: getcallerpc.s.
As it is a oneliner which just returns 'something' ( I failed to parse it, honestly my asm is bad ), I just copied over the sparc/getcallerpc.s. (Hit me with your cluesticks later)

That again made ghostscript (and only ghostscript) not compile, syntax errors in gdevddrw.c arround an int64_t c; .. anyway. I won't use gs on sparci right now, anyway ;)


The other major problem is that the kernel does not build. I don't know how it is supposed to work, anyway. main.c modulglobally declares FPsave initfp which is used in main.c/miscinit(): savefpregs(&initfp); but also in trap.c/fpenable(): restorefpregs(&initfp);, which is called by trapinit() (which makes me think trap.c is a 'young' module which has never been tested).


Furthermore, I had to copy pc/pcf to sparc64/sparc64f, including a lot of tweaks of course - a working default-config may have been cool :P


That's how far I got. Tim, are you still here? Any comments? Anybody looked into this more deeply? Made it work?



Mfg, Sascha



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [9fans] sparc64 port
  2006-08-26 14:40 [9fans] sparc64 port Sascha Retzki
@ 2006-09-16 14:57 ` Sascha Retzki
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Retzki @ 2006-09-16 14:57 UTC (permalink / raw)
  To: 9fans

> main.c modulglobally declares FPsave initfp which is used in main.c/miscinit(): savefpregs(&initfp); but also in trap.c/fpenable(): restorefpregs(&initfp);, which is called by trapinit() (which makes me think trap.c is a 'young' module which has never been tested).
> 

Fixed (passing some pointer arround so that trap.c knows about it, via trapinit().. good practise?)

Now it fails with:
uc -FVw devsd2.c
devsd2.c:356 not a member of struct/union: id
devsd2.c:357 not a member of struct/union: id
devsd2.c:894 not a member of struct/union: stat
devsd2.c:895 not a member of struct/union: stat
warning: devsd2.c:897 set and not used: p
mk: uc -FVw devsd2.c  : exit status=rc 1722: uc 1724: error


The four lines in question are:
		if(sdifc[i]->id)
			sdifc[i]->id(sdlist);

			if(sdev->ifc->stat)
				p = sdev->ifc->stat(sdev, p, e);

Both structures are SDifc, ../port/sd.h. There have not been id() and stat() pointers since 2003 (/n/sourcesdump/2003/0202/plan9/sys/src/9/port/sd.h has them, but 2004 doesn't). What are the alternatives? What did the old ones do, what do the new ones do differently? 

> 
> Furthermore, I had to copy pc/pcf to sparc64/sparc64f, including a lot of tweaks of course - a working default-config may have been cool :P
> 
> 

Untrue. After I fixed the mkfile today (strip(1) works differently from the 2003-strip(1), as it seems :) ), I found out there are config-files. However I managed to not see them.

> That's how far I got. Tim, are you still here? Any comments? Anybody looked into this more deeply? Made it work?
> 
> 

:/ 

> 
> Mfg, Sascha



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-09-16 14:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-26 14:40 [9fans] sparc64 port Sascha Retzki
2006-09-16 14:57 ` Sascha Retzki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).