From owner-freebsd-ia64 Sun Sep 2 7:49:20 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 7962B37B406; Sun, 2 Sep 2001 07:49:15 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f82EnFM29675; Sun, 2 Sep 2001 07:49:15 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 2B512380A; Sun, 2 Sep 2001 07:49:15 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: ia64@freebsd.org Cc: jhb@freebsd.org, dfr@freebsd.org Subject: ia64 + kse == not happy.. Date: Sun, 02 Sep 2001 07:49:15 -0700 From: Peter Wemm Message-Id: <20010902144915.2B512380A@overcee.netplex.com.au> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org After doing an alpha-style conversion of the ia64 code in the kse tree to get it to build/run, I have run into a brick wall. :-( loading kernel.kse... starting kernel... Memory descriptor count: 1 MD 0: type 7 pa 0x200000 cnt 0x4000 Descriptor 0 contains kernel Loading chunk before kernel: 0x200 / 0x500 Loading chunk after kernel: 0x819 / 0x4200 step 1: proc0uarea = 0xe000000000200000 proc0kstack = 0xe000000000201000 td_pcb = 0xe000000000204920 td_frame = 0xe0000000002046d0 pcb_sp = 0xe0000000002046c0 pcb_bspstore = 0xe000000000201000 made it to the end of ia64_init Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #4: Sun Sep 2 07:28:56 PDT 2001 peter@overcee.netplex.com.au:/home/peter/fbp4/kse/sys/ia64/compile/SIM real memory = 67108864 (65536K bytes) Physical memory chunk(s): 0x00209000 - 0x004fffff, 3108864 bytes (759 pages) 0x00819000 - 0x041f7fff, 60682240 bytes (14815 pages) avail memory = 60399616 (58984K bytes) made it to the end of cpu_startup linker_preload: in linker_preload: out mem: Calibrating clock(s) ... failed, using firmware default of 0 Hz fatal kernel trap: trap vector = 0x18 (General Exception) cr.iip = 0x0 cr.ipsr = 0x0 cr.isr = 0x0 cr.ifa = 0x0 cr.iim = 0x0 curthread = 0xe000000000815c20 pid = 0, comm = swapper Stopped at db> 20000e ? The actual change is at: http://people.freebsd.org/~peter/p4db/chv.cgi?CH=1344 And you can see any other changes at: http://people.freebsd.org/~peter/p4db/chb.cgi?FSPC=//depot/projects/kse/... http://people.freebsd.org/~peter/p4db/chb.cgi?FSPC=//depot/projects/kse/sys/ia64/... And, as announced elsewhere, the source can be had either from p4 if you have a freefall account, or from cvsup10.freebsd.org (collection=p4-cvs-all, release=cvs). Key questions and changes: Under KSE, the U area is split into two entities. One contains struct user, and the other contains the kernel stack + pcb. We have been putting the pcb at the *top* of the kernel stack on alpha / i386 since we have a grow-down stack and we slip in a guard page underneath it. I did this on the ia64 as well, but I think it may be a mistake as it looks like the grow-up and grow-down stacks will collide before then and cause a bigger mess. This can be easily backed out for testing, I'll try that soon. The old code did some odd things like subtracting 16 from the trapframe for various stack pointers. I'm not quite sure what is going on here but I tried to preserve it. I'd appreciate it if somebody could look over the changes to machdep.c / vm_machdep.c etc in this area. I would really appreciate it if somebody could look over my *.s changes. Any ideas? I'm falling asleep. :-) Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 1:41: 0 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 00BB537B401; Mon, 3 Sep 2001 01:40:54 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f838erM32345; Mon, 3 Sep 2001 01:40:53 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 9E998380A; Mon, 3 Sep 2001 01:40:53 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: ia64@FreeBSD.ORG Cc: jhb@FreeBSD.ORG, dfr@FreeBSD.ORG Subject: Re: ia64 + kse == not happy.. In-Reply-To: <20010902144915.2B512380A@overcee.netplex.com.au> Date: Mon, 03 Sep 2001 01:40:53 -0700 From: Peter Wemm Message-Id: <20010903084053.9E998380A@overcee.netplex.com.au> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I finally solved it. I did a s/proc0/thread0/ in locore.s, forgetting that proc0 is a structure, and thread0 is a pointer that requires indirection. Can somebody explain "rnatloc |= 0x1f8;" in vm_machdep.c:cpu_fork()? Anyway, ia64 + kse is happy so far. Some things I have noticed are missing: setjmp/longjmp() (these look non-trivial given the register stack :-( ) lots and lots and lots of minor things. :-) I have been considering taking a shot at porting loader(8) to run under ski, and have *it* load the kernel via reading via sscdisk style operations.. This should enable us to have better control of our boot environment, symbol tables, etc. I think. :-] Peter Wemm wrote: > After doing an alpha-style conversion of the ia64 code in the kse > tree to get it to build/run, I have run into a brick wall. :-( > > loading kernel.kse... > starting kernel... > Memory descriptor count: 1 > MD 0: type 7 pa 0x200000 cnt 0x4000 > Descriptor 0 contains kernel > Loading chunk before kernel: 0x200 / 0x500 > Loading chunk after kernel: 0x819 / 0x4200 > step 1: > proc0uarea = 0xe000000000200000 > proc0kstack = 0xe000000000201000 > td_pcb = 0xe000000000204920 > td_frame = 0xe0000000002046d0 > pcb_sp = 0xe0000000002046c0 > pcb_bspstore = 0xe000000000201000 > made it to the end of ia64_init > Copyright (c) 1992-2001 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD 5.0-CURRENT #4: Sun Sep 2 07:28:56 PDT 2001 > peter@overcee.netplex.com.au:/home/peter/fbp4/kse/sys/ia64/compile/SIM > real memory = 67108864 (65536K bytes) > Physical memory chunk(s): > 0x00209000 - 0x004fffff, 3108864 bytes (759 pages) > 0x00819000 - 0x041f7fff, 60682240 bytes (14815 pages) > avail memory = 60399616 (58984K bytes) > made it to the end of cpu_startup > linker_preload: in > linker_preload: out > mem: > Calibrating clock(s) ... failed, using firmware default of 0 Hz > > fatal kernel trap: > > trap vector = 0x18 (General Exception) > cr.iip = 0x0 > cr.ipsr = 0x0 > cr.isr = 0x0 > cr.ifa = 0x0 > cr.iim = 0x0 > curthread = 0xe000000000815c20 > pid = 0, comm = swapper > > Stopped at > db> 20000e > ? > > The actual change is at: > http://people.freebsd.org/~peter/p4db/chv.cgi?CH=1344 > > And you can see any other changes at: > http://people.freebsd.org/~peter/p4db/chb.cgi?FSPC=//depot/projects/kse/... > http://people.freebsd.org/~peter/p4db/chb.cgi?FSPC=//depot/projects/kse/sys/i a64/... > > And, as announced elsewhere, the source can be had either from p4 if you > have a freefall account, or from cvsup10.freebsd.org (collection=p4-cvs-all, > release=cvs). > > Key questions and changes: > > Under KSE, the U area is split into two entities. One contains struct user, > and the other contains the kernel stack + pcb. We have been putting > the pcb at the *top* of the kernel stack on alpha / i386 since we have > a grow-down stack and we slip in a guard page underneath it. I did this > on the ia64 as well, but I think it may be a mistake as it looks like the > grow-up and grow-down stacks will collide before then and cause a bigger mess . > This can be easily backed out for testing, I'll try that soon. > > The old code did some odd things like subtracting 16 from the trapframe > for various stack pointers. I'm not quite sure what is going on here > but I tried to preserve it. I'd appreciate it if somebody could look over > the changes to machdep.c / vm_machdep.c etc in this area. > > I would really appreciate it if somebody could look over my *.s changes. > > Any ideas? I'm falling asleep. :-) > > Cheers, > -Peter > -- > Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au > "All of this is for nothing if we don't go to the stars" - JMS/B5 > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-ia64" in the body of the message > > Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 2:15: 2 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id D2F8737B407 for ; Mon, 3 Sep 2001 02:14:57 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f839Evs79419 for ; Mon, 3 Sep 2001 02:14:57 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f839F5M49086 for ia64@FreeBSD.org; Mon, 3 Sep 2001 02:15:05 -0700 (PDT) (envelope-from marcel) Date: Mon, 3 Sep 2001 02:15:05 -0700 From: Marcel Moolenaar To: ia64@FreeBSD.org Subject: Roadmap? Message-ID: <20010903021505.A48870@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.21i Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Guys, HP has given me an old (A1 stepping) Itanium box to play with. I don't know for how long, so I want to make the best use of it. Can someone tell me where we are on ia64? Also, what's the story with gcc. It doesn't look like we have a working ia64 compiler in the tree. Any ETA's on that front? I'll talk to the sysadmin next week, for I don't even know where the box is. After that I'll play with it to figure out what I can do and how best to do it. Any suggestions are welcome, -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 3:36:29 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from anchor-post-31.mail.demon.net (anchor-post-31.mail.demon.net [194.217.242.89]) by hub.freebsd.org (Postfix) with ESMTP id 6350137B409; Mon, 3 Sep 2001 03:36:21 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by anchor-post-31.mail.demon.net with esmtp (Exim 2.12 #1) id 15dr5W-000Ogn-0V; Mon, 3 Sep 2001 11:36:18 +0100 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f83AZ2c30617; Mon, 3 Sep 2001 11:35:02 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 3 Sep 2001 11:35:02 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: , , Subject: Re: ia64 + kse == not happy.. In-Reply-To: <20010903084053.9E998380A@overcee.netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, 3 Sep 2001, Peter Wemm wrote: > I finally solved it. I did a s/proc0/thread0/ in locore.s, forgetting that > proc0 is a structure, and thread0 is a pointer that requires indirection. > > Can somebody explain "rnatloc |= 0x1f8;" in vm_machdep.c:cpu_fork()? Each register has an associated bit which determines whether it contains a valid value. These "not a thing" bits are accumulated into the ar.rnat register as registers are written to the register stack. After stacking 63 registers, the accumulated NaT bits are written to the stack. This happens when the ar.bspstore pointer rolls past xxxxx1f8. To correctly fork a child process, we must initialise its register stack and ar.rnat value so that it contains reasonable values when its resumed. The correct ar.rnat value is either the current process' ar.rnat if it has not yet been flushed out since we entered the kernel or the value stored at rnatloc otherwise. We determine this by checking to see if the current process' ar.bspstore has gone past rnatloc. > > Anyway, ia64 + kse is happy so far. :-) > > Some things I have noticed are missing: > setjmp/longjmp() (these look non-trivial given the register stack :-( ) > lots and lots and lots of minor things. :-) I started working on this as part of an effort to get ficl working in the EFI based loader. I got a bit stuck though - I probably should set up a testcase that I can run under ski. > > I have been considering taking a shot at porting loader(8) to run under > ski, and have *it* load the kernel via reading via sscdisk style > operations.. This should enable us to have better control of our > boot environment, symbol tables, etc. I think. :-] Ooh. I want one. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 3:58:46 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 636FC37B40A; Mon, 3 Sep 2001 03:58:39 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f83AwdM33067; Mon, 3 Sep 2001 03:58:39 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id EF3FF380C; Mon, 3 Sep 2001 03:58:38 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: Doug Rabson Cc: ia64@FreeBSD.ORG, jhb@FreeBSD.ORG, dfr@FreeBSD.ORG Subject: Re: ia64 + kse == not^H^H^Hnow happy.. In-Reply-To: Date: Mon, 03 Sep 2001 03:58:38 -0700 From: Peter Wemm Message-Id: <20010903105838.EF3FF380C@overcee.netplex.com.au> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Doug Rabson wrote: > On Mon, 3 Sep 2001, Peter Wemm wrote: > > > I finally solved it. I did a s/proc0/thread0/ in locore.s, forgetting that > > proc0 is a structure, and thread0 is a pointer that requires indirection. > > > > Can somebody explain "rnatloc |= 0x1f8;" in vm_machdep.c:cpu_fork()? > > Each register has an associated bit which determines whether it contains a > valid value. These "not a thing" bits are accumulated into the ar.rnat > register as registers are written to the register stack. After stacking 63 > registers, the accumulated NaT bits are written to the stack. This happens > when the ar.bspstore pointer rolls past xxxxx1f8. To correctly fork a > child process, we must initialise its register stack and ar.rnat value so > that it contains reasonable values when its resumed. The correct ar.rnat > value is either the current process' ar.rnat if it has not yet been > flushed out since we entered the kernel or the value stored at rnatloc > otherwise. We determine this by checking to see if the current process' > ar.bspstore has gone past rnatloc. Aha! that make some sense. I'm starting to understand the ia64 manuals now too. Question.. |= 1f8 depends on the stack starting at a xxxx000 address, right? The original committed ia64+kse stuff that worked had the pcb at the base of the stack, which meant that the bspstore started at some address like xxxx680. That |= 1f8 isn't space for a full 63 registers. Is it the address that is magic or the offset? Should it have been += 1f8 instead of |= ? In any case it shouldn't matter now since the bspstore starts at a xxx000 address now in the kse kernel (the pcb is at the top-of-stack, above trapframe and sp.) Speaking of sp, I've left some XXX comments about the -16 and +16 stuff... What is going on there? td2->td_pcb->pcb_sp = (u_int64_t)p2tf - 16; Is that just to arrange stack alignment on 16 byte boundaries? ie: like how we subtract sizeof(void *) in the i386 case but instead of 4 bytes it is 16? > > Some things I have noticed are missing: > > setjmp/longjmp() (these look non-trivial given the register stack :-( ) > > lots and lots and lots of minor things. :-) > > I started working on this as part of an effort to get ficl working in the > EFI based loader. I got a bit stuck though - I probably should set up a > testcase that I can run under ski. Out of curiosity, what kind of lengths will setjmp/longjmp need to go to? I'm suprised ddb hasn't exploded because of this.. If I had to guess, I would expect it to look a bit like the code in the tail end of cpu_fork().. ie: copy base registers, turn off rse, flush to backing store, turn rse back on? > > I have been considering taking a shot at porting loader(8) to run under > > ski, and have *it* load the kernel via reading via sscdisk style > > operations.. This should enable us to have better control of our > > boot environment, symbol tables, etc. I think. :-] > > Ooh. I want one. Heh. dont we all. :-) Seriously, I think loader-under-ski is a good intermediate step before loader-under-efi, unless the efi case is already close to working. Even without ficl would be useful since we could have a real boot environment. Now to get the magic wand over to David O'Brien to get the gcc3 stuff with basic ia64 support in it. :-) Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 5:11: 7 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from tele-post-20.mail.demon.net (tele-post-20.mail.demon.net [194.217.242.20]) by hub.freebsd.org (Postfix) with ESMTP id 9550137B40B; Mon, 3 Sep 2001 05:11:01 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by tele-post-20.mail.demon.net with esmtp (Exim 2.12 #2) id 15dsZ9-000ALj-0K; Mon, 3 Sep 2001 12:10:59 +0000 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f83C02c30853; Mon, 3 Sep 2001 13:00:02 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 3 Sep 2001 13:00:02 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: , , Subject: Re: ia64 + kse == not^H^H^Hnow happy.. In-Reply-To: <20010903105838.EF3FF380C@overcee.netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, 3 Sep 2001, Peter Wemm wrote: > Doug Rabson wrote: > > On Mon, 3 Sep 2001, Peter Wemm wrote: > > > > > I finally solved it. I did a s/proc0/thread0/ in locore.s, forgetting that > > > proc0 is a structure, and thread0 is a pointer that requires indirection. > > > > > > Can somebody explain "rnatloc |= 0x1f8;" in vm_machdep.c:cpu_fork()? > > > > Each register has an associated bit which determines whether it contains a > > valid value. These "not a thing" bits are accumulated into the ar.rnat > > register as registers are written to the register stack. After stacking 63 > > registers, the accumulated NaT bits are written to the stack. This happens > > when the ar.bspstore pointer rolls past xxxxx1f8. To correctly fork a > > child process, we must initialise its register stack and ar.rnat value so > > that it contains reasonable values when its resumed. The correct ar.rnat > > value is either the current process' ar.rnat if it has not yet been > > flushed out since we entered the kernel or the value stored at rnatloc > > otherwise. We determine this by checking to see if the current process' > > ar.bspstore has gone past rnatloc. > > Aha! that make some sense. I'm starting to understand the ia64 manuals > now too. > > Question.. |= 1f8 depends on the stack starting at a xxxx000 address, right? > The original committed ia64+kse stuff that worked had the pcb > at the base of the stack, which meant that the bspstore started at some > address like xxxx680. That |= 1f8 isn't space for a full 63 registers. > Is it the address that is magic or the offset? Should it have been > += 1f8 instead of |= ? Its the address thats magic. It doesn't matter where the stack started, ar.rnat is always spilled at addresses ending in 0x1f8. > > In any case it shouldn't matter now since the bspstore starts at a xxx000 > address now in the kse kernel (the pcb is at the top-of-stack, above > trapframe and sp.) > > Speaking of sp, I've left some XXX comments about the -16 and +16 stuff... > What is going on there? > > td2->td_pcb->pcb_sp = (u_int64_t)p2tf - 16; > > Is that just to arrange stack alignment on 16 byte boundaries? ie: like > how we subtract sizeof(void *) in the i386 case but instead of 4 bytes > it is 16? The calling convention assumes that sp points at 16 bytes of scratch space on function entry. The +/- 16s are there to ensure this. > > > > Some things I have noticed are missing: > > > setjmp/longjmp() (these look non-trivial given the register stack :-( ) > > > lots and lots and lots of minor things. :-) > > > > I started working on this as part of an effort to get ficl working in the > > EFI based loader. I got a bit stuck though - I probably should set up a > > testcase that I can run under ski. > > Out of curiosity, what kind of lengths will setjmp/longjmp need to go > to? I'm suprised ddb hasn't exploded because of this.. > > If I had to guess, I would expect it to look a bit like the code in the > tail end of cpu_fork().. ie: copy base registers, turn off rse, flush > to backing store, turn rse back on? Its more similar to the code in cpu_switch() with some optimisations assuming that we only ever longjmp to somewhere which is further up our own stack. > > > > I have been considering taking a shot at porting loader(8) to run under > > > ski, and have *it* load the kernel via reading via sscdisk style > > > operations.. This should enable us to have better control of our > > > boot environment, symbol tables, etc. I think. :-] > > > > Ooh. I want one. > > Heh. dont we all. :-) > > Seriously, I think loader-under-ski is a good intermediate step before > loader-under-efi, unless the efi case is already close to working. Even > without ficl would be useful since we could have a real boot environment. The loader-under-efi case works well enough without ficl to get to the ok prompt. Some stubs need to be filled in to get the elf loader going and I need to write the magic trampoline code which turns on virtual addressing and bounces into the kernel. > > Now to get the magic wand over to David O'Brien to get the gcc3 stuff with > basic ia64 support in it. :-) Hmm. 3.0.1 doesn't compile KDE2 AFAIK. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 6: 7:10 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from finch-post-12.mail.demon.net (finch-post-12.mail.demon.net [194.217.242.41]) by hub.freebsd.org (Postfix) with ESMTP id 740B637B405 for ; Mon, 3 Sep 2001 06:07:07 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-12.mail.demon.net with esmtp (Exim 2.12 #1) id 15dtRS-0007eB-0C; Mon, 3 Sep 2001 13:07:06 +0000 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f83D5pc30990; Mon, 3 Sep 2001 14:05:51 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 3 Sep 2001 14:05:51 +0100 (BST) From: Doug Rabson To: Marcel Moolenaar Cc: Subject: Re: Roadmap? In-Reply-To: <20010903021505.A48870@dhcp01.pn.xcllnt.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, 3 Sep 2001, Marcel Moolenaar wrote: > Guys, > > HP has given me an old (A1 stepping) Itanium box to play with. I don't > know for how long, so I want to make the best use of it. Can someone > tell me where we are on ia64? > > Also, what's the story with gcc. It doesn't look like we have a working > ia64 compiler in the tree. Any ETA's on that front? > > I'll talk to the sysadmin next week, for I don't even know where the > box is. After that I'll play with it to figure out what I can do and > how best to do it. Any suggestions are welcome, I strongly suggest that you try upgrading to something more recent (B3 or C0). A1 is old and buggy and I would prefer not to have to support it. Linux has recently de-supported anything older than B3. Compiler wise, gcc 3.0.1 sounds promising apart from the fact that it doesn't compile KDE2, which makes it unlikely to be imported any time soon. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 6:59:22 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from anchor-post-31.mail.demon.net (anchor-post-31.mail.demon.net [194.217.242.89]) by hub.freebsd.org (Postfix) with ESMTP id B60A537B401; Mon, 3 Sep 2001 06:59:19 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by anchor-post-31.mail.demon.net with esmtp (Exim 2.12 #1) id 15duFy-0002rh-0V; Mon, 3 Sep 2001 14:59:18 +0100 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f83Dw2c31207; Mon, 3 Sep 2001 14:58:02 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 3 Sep 2001 14:58:02 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: , , Subject: Re: ia64 + kse == not happy.. In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, 3 Sep 2001, Doug Rabson wrote: > I started working on this as part of an effort to get ficl working in the > EFI based loader. I got a bit stuck though - I probably should set up a > testcase that I can run under ski. I managed to find my problem with longjmp - it was a result of wrongly working around a difference between Intel's assembler and GAS. Hopefully, this should get me a bit further with the EFI loader and will be suitable for a libc setjmp/longjmp implementation. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 7:15:46 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from zok.sgi.com (zok.SGI.COM [204.94.215.101]) by hub.freebsd.org (Postfix) with ESMTP id 21D6637B40E for ; Mon, 3 Sep 2001 07:15:40 -0700 (PDT) Received: from zeus-fddi.americas.sgi.com (zeus-fddi.americas.sgi.com [128.162.8.103]) by zok.sgi.com (8.11.4/8.11.4/linux-outbound_gateway-1.0) with ESMTP id f83EFXJ14146; Mon, 3 Sep 2001 07:15:38 -0700 Received: from tulip-e185.americas.sgi.com (tulip.americas.sgi.com [128.162.185.208]) by zeus-fddi.americas.sgi.com (8.9.3/americas-smart-nospam1.1) with ESMTP id JAA2873948; Mon, 3 Sep 2001 09:15:32 -0500 (CDT) Received: from kzerza.americas.sgi.com (kzerza.americas.sgi.com [128.162.190.117]) by tulip-e185.americas.sgi.com (980427.SGI.8.8.8/SGI-server-1.7) with ESMTP id JAA31745; Mon, 3 Sep 2001 09:15:31 -0500 (CDT) Date: Mon, 3 Sep 2001 09:15:31 -0500 From: Brent Casavant X-Sender: bcasavan@kzerza.americas.sgi.com Reply-To: Brent Casavant To: Marcel Moolenaar Cc: ia64@freebsd.org Subject: Re: Roadmap? In-Reply-To: <20010903021505.A48870@dhcp01.pn.xcllnt.net> Message-ID: Organization: "Silicon Graphics, Inc." MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, 3 Sep 2001, Marcel Moolenaar wrote: > HP has given me an old (A1 stepping) Itanium box to play with. I don't > know for how long, so I want to make the best use of it. Can someone > tell me where we are on ia64? Marcel, You should also know that late last year these boxes (I imagine you have what is known as "Big Sur", up to a 2P system) had a significant upgrade that replaced pretty much everything except the case, power supply, and fans. Oh, and the video card. That means that if you manage to get ahold of B3 or C0 processors they may or may not work correctly with the older motherboard/etc. Someone else may have experience in this area and be able to confirm whether newer processors will work. Brent -- Brent Casavant http://www.scc.net/~bcasavan b.j.casavant@ieee.org -.- -.. ..... . -- -... To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 10:10:33 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id AF70C37B408 for ; Mon, 3 Sep 2001 10:10:30 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f83HAU600602; Mon, 3 Sep 2001 10:10:30 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f83HAQv00839; Mon, 3 Sep 2001 10:10:26 -0700 (PDT) (envelope-from marcel) Date: Mon, 3 Sep 2001 10:10:26 -0700 From: Marcel Moolenaar To: Doug Rabson Cc: ia64@FreeBSD.org Subject: Re: Roadmap? Message-ID: <20010903101026.B554@dhcp01.pn.xcllnt.net> References: <20010903021505.A48870@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.21i Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, Sep 03, 2001 at 02:05:51PM +0100, Doug Rabson wrote: > On Mon, 3 Sep 2001, Marcel Moolenaar wrote: > > I strongly suggest that you try upgrading to something more recent (B3 or > C0). A1 is old and buggy and I would prefer not to have to support it. > Linux has recently de-supported anything older than B3. No deal here. HP has explicitly stated that a processor upgrade is out of the question. The fact that I happen to have an A1 doesn't mean we need to support it. If FreeBSD is itself stable enough, I can more easily hijack one of the newer machines we have in use by using a diskless configuration. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 10:14:56 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id D60C537B405 for ; Mon, 3 Sep 2001 10:14:54 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f83HEs600610; Mon, 3 Sep 2001 10:14:54 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f83HEn600887; Mon, 3 Sep 2001 10:14:49 -0700 (PDT) (envelope-from marcel) Date: Mon, 3 Sep 2001 10:14:49 -0700 From: Marcel Moolenaar To: Brent Casavant Cc: ia64@freebsd.org Subject: Re: Roadmap? Message-ID: <20010903101449.C554@dhcp01.pn.xcllnt.net> References: <20010903021505.A48870@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.21i Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, Sep 03, 2001 at 09:15:31AM -0500, Brent Casavant wrote: > > You should also know that late last year these boxes (I imagine you > have what is known as "Big Sur", up to a 2P system) had a significant [snip] I don't think it's a Big Sur. I believe it's a Lion box. But let me talk to the sysadmin first. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 20:45:49 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from mail.speakeasy.net (mail11.speakeasy.net [216.254.0.211]) by hub.freebsd.org (Postfix) with ESMTP id 6245137B40C for ; Mon, 3 Sep 2001 20:45:20 -0700 (PDT) Received: (qmail 44283 invoked from network); 4 Sep 2001 03:44:58 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([64.81.54.73]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 4 Sep 2001 03:44:58 -0000 Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Mon, 03 Sep 2001 20:44:55 -0700 (PDT) From: John Baldwin To: Doug Rabson Subject: Re: ia64 + kse == not^H^H^Hnow happy.. Cc: ia64@FreeBSD.ORG, Peter Wemm Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On 03-Sep-01 Doug Rabson wrote: > On Mon, 3 Sep 2001, Peter Wemm wrote: >> Now to get the magic wand over to David O'Brien to get the gcc3 stuff with >> basic ia64 support in it. :-) > > Hmm. 3.0.1 doesn't compile KDE2 AFAIK. Or kernels for that matter. It does evil things like convert 'printf("blah")' to 'puts("blah")' which doesn't work well for a kernel environment that doesn't have puts() or putchar(). :-/ -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 21:22:24 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id CB39B37B407; Mon, 3 Sep 2001 21:22:21 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f844MLM35720; Mon, 3 Sep 2001 21:22:21 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 7197C380C; Mon, 3 Sep 2001 21:22:21 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: John Baldwin Cc: Doug Rabson , ia64@FreeBSD.org Subject: Re: ia64 + kse == not^H^H^Hnow happy.. In-Reply-To: Date: Mon, 03 Sep 2001 21:22:21 -0700 From: Peter Wemm Message-Id: <20010904042221.7197C380C@overcee.netplex.com.au> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org John Baldwin wrote: > > On 03-Sep-01 Doug Rabson wrote: > > On Mon, 3 Sep 2001, Peter Wemm wrote: > >> Now to get the magic wand over to David O'Brien to get the gcc3 stuff with > >> basic ia64 support in it. :-) > > > > Hmm. 3.0.1 doesn't compile KDE2 AFAIK. > > Or kernels for that matter. It does evil things like convert 'printf("blah") ' > to 'puts("blah")' which doesn't work well for a kernel environment that doesn 't > have puts() or putchar(). :-/ This is easily fixed. :-) Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Sep 3 21:23:25 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 4071B37B406; Mon, 3 Sep 2001 21:23:23 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f844NNM35733; Mon, 3 Sep 2001 21:23:23 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id DC1BB380C; Mon, 3 Sep 2001 21:23:22 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: Doug Rabson Cc: ia64@FreeBSD.ORG, jhb@FreeBSD.ORG, dfr@FreeBSD.ORG Subject: Re: ia64 + kse == not happy.. In-Reply-To: Date: Mon, 03 Sep 2001 21:23:22 -0700 From: Peter Wemm Message-Id: <20010904042322.DC1BB380C@overcee.netplex.com.au> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Doug Rabson wrote: > On Mon, 3 Sep 2001, Doug Rabson wrote: > > > I started working on this as part of an effort to get ficl working in the > > EFI based loader. I got a bit stuck though - I probably should set up a > > testcase that I can run under ski. > > I managed to find my problem with longjmp - it was a result of wrongly > working around a difference between Intel's assembler and GAS. Hopefully, > this should get me a bit further with the EFI loader and will be suitable > for a libc setjmp/longjmp implementation. Do you have something that you could check in in some form? Even if it doesn't work yet, just having *something* would be nice. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Tue Sep 4 0:22:24 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from tele-post-20.mail.demon.net (tele-post-20.mail.demon.net [194.217.242.20]) by hub.freebsd.org (Postfix) with ESMTP id CAE5537B443; Tue, 4 Sep 2001 00:22:16 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by tele-post-20.mail.demon.net with esmtp (Exim 2.12 #2) id 15eAXG-000B3F-0K; Tue, 4 Sep 2001 07:22:14 +0000 Received: from salmon.nlsystems.com (salmon [10.0.0.3]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f847Kxc35738; Tue, 4 Sep 2001 08:20:59 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Tue, 4 Sep 2001 08:20:46 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: , , Subject: Re: ia64 + kse == not happy.. In-Reply-To: <20010904042322.DC1BB380C@overcee.netplex.com.au> Message-ID: <20010904082009.E9620-100000@salmon.nlsystems.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, 3 Sep 2001, Peter Wemm wrote: > Doug Rabson wrote: > > On Mon, 3 Sep 2001, Doug Rabson wrote: > > > > > I started working on this as part of an effort to get ficl working in the > > > EFI based loader. I got a bit stuck though - I probably should set up a > > > testcase that I can run under ski. > > > > I managed to find my problem with longjmp - it was a result of wrongly > > working around a difference between Intel's assembler and GAS. Hopefully, > > this should get me a bit further with the EFI loader and will be suitable > > for a libc setjmp/longjmp implementation. > > Do you have something that you could check in in some form? Even if it > doesn't work yet, just having *something* would be nice. I chedked it in yesterday. I'm planning to play with loader a bit this morning - if that works now, I'll check what I have there in too. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Tue Sep 4 0:31:36 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 0D0F837B407; Tue, 4 Sep 2001 00:31:30 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f847VTM36215; Tue, 4 Sep 2001 00:31:29 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id A7E5E380C; Tue, 4 Sep 2001 00:31:29 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: Doug Rabson Cc: ia64@FreeBSD.ORG, jhb@FreeBSD.ORG, dfr@FreeBSD.ORG Subject: Re: ia64 + kse == not happy.. In-Reply-To: <20010904082009.E9620-100000@salmon.nlsystems.com> Date: Tue, 04 Sep 2001 00:31:29 -0700 From: Peter Wemm Message-Id: <20010904073129.A7E5E380C@overcee.netplex.com.au> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Doug Rabson wrote: > On Mon, 3 Sep 2001, Peter Wemm wrote: > > > Doug Rabson wrote: > > > On Mon, 3 Sep 2001, Doug Rabson wrote: > > > > > > > I started working on this as part of an effort to get ficl working in t he > > > > EFI based loader. I got a bit stuck though - I probably should set up a > > > > testcase that I can run under ski. > > > > > > I managed to find my problem with longjmp - it was a result of wrongly > > > working around a difference between Intel's assembler and GAS. Hopefully, > > > this should get me a bit further with the EFI loader and will be suitable > > > for a libc setjmp/longjmp implementation. > > > > Do you have something that you could check in in some form? Even if it > > doesn't work yet, just having *something* would be nice. > > I chedked it in yesterday. I'm planning to play with loader a bit this > morning - if that works now, I'll check what I have there in too. Even if it doesn't, it would be nice if you could check it in.. That would save a lot of duplicated work for getting a ski-based hack to run. (I dont have real hardware yet). Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Tue Sep 4 2: 3:26 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from finch-post-10.mail.demon.net (finch-post-10.mail.demon.net [194.217.242.38]) by hub.freebsd.org (Postfix) with ESMTP id EB03837B403; Tue, 4 Sep 2001 02:03:20 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-10.mail.demon.net with esmtp (Exim 2.12 #1) id 15eC72-0009h3-0A; Tue, 4 Sep 2001 09:03:17 +0000 Received: from salmon.nlsystems.com (salmon [10.0.0.3]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f84921c37646; Tue, 4 Sep 2001 10:02:01 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Tue, 4 Sep 2001 10:01:48 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: , John Baldwin , Subject: Re: ia64 + kse == not happy.. In-Reply-To: <20010904073129.A7E5E380C@overcee.netplex.com.au> Message-ID: <20010904095947.Y9620-200000@salmon.nlsystems.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1211071170-999594108=:9620" Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1211071170-999594108=:9620 Content-Type: TEXT/PLAIN; charset=US-ASCII On Tue, 4 Sep 2001, Peter Wemm wrote: > Doug Rabson wrote: > > On Mon, 3 Sep 2001, Peter Wemm wrote: > > > > > Doug Rabson wrote: > > > > On Mon, 3 Sep 2001, Doug Rabson wrote: > > > > > > > > > I started working on this as part of an effort to get ficl working in t > he > > > > > EFI based loader. I got a bit stuck though - I probably should set up a > > > > > testcase that I can run under ski. > > > > > > > > I managed to find my problem with longjmp - it was a result of wrongly > > > > working around a difference between Intel's assembler and GAS. Hopefully, > > > > this should get me a bit further with the EFI loader and will be suitable > > > > for a libc setjmp/longjmp implementation. > > > > > > Do you have something that you could check in in some form? Even if it > > > doesn't work yet, just having *something* would be nice. > > > > I chedked it in yesterday. I'm planning to play with loader a bit this > > morning - if that works now, I'll check what I have there in too. > > Even if it doesn't, it would be nice if you could check it in.. That would > save a lot of duplicated work for getting a ski-based hack to run. (I dont > have real hardware yet). Ok, apart from this ficl patch which I sent to you and dcs, I'm done. I have a loader which 'works' both with and without ficl. You will need to freshen your copy of libstand.a - I suggest using the handy attached ia64-make script for this purpose. Index: words.c =================================================================== RCS file: /home/ncvs/src/sys/boot/ficl/words.c,v retrieving revision 1.35 diff -u -r1.35 words.c --- words.c 2001/05/27 16:30:10 1.35 +++ words.c 2001/09/04 08:26:02 @@ -1147,7 +1147,7 @@ static void elseCoIm(FICL_VM *pVM) { CELL *patchAddr; - int offset; + FICL_INT offset; FICL_DICT *dp = ficlGetDict(); assert(pBranchParen); -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 --0-1211071170-999594108=:9620 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=ia64-make Content-Transfer-Encoding: BASE64 Content-ID: <20010904100148.M9620@salmon.nlsystems.com> Content-Description: Content-Disposition: attachment; filename=ia64-make ZXhwb3J0IENDPSdpYTY0LXVua25vd24tbGludXgtZ2NjIC1PIC1EX19GcmVl QlNEX18gLVVfX2xpbnV4X18nDQpleHBvcnQgTEQ9aWE2NC11bmtub3duLWxp bnV4LWxkDQpleHBvcnQgTk09aWE2NC11bmtub3duLWxpbnV4LW5tDQpleHBv cnQgUkFOTElCPWlhNjQtdW5rbm93bi1saW51eC1yYW5saWINCmV4cG9ydCBP QkpEVU1QPWlhNjQtdW5rbm93bi1saW51eC1vYmpkdW1wDQpleHBvcnQgT0JK Q09QWT1pYTY0LXVua25vd24tbGludXgtb2JqY29weQ0KZXhwb3J0IE1BQ0hJ TkVfQVJDSD1pYTY0DQptYWtlICRADQo= --0-1211071170-999594108=:9620-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Wed Sep 5 3:32:47 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from anchor-post-33.mail.demon.net (anchor-post-33.mail.demon.net [194.217.242.91]) by hub.freebsd.org (Postfix) with ESMTP id CF05337B408; Wed, 5 Sep 2001 03:32:32 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by anchor-post-33.mail.demon.net with esmtp (Exim 2.12 #1) id 15eZyx-000BUT-0X; Wed, 5 Sep 2001 11:32:31 +0100 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f85AVFc43597; Wed, 5 Sep 2001 11:31:15 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Wed, 5 Sep 2001 11:31:15 +0100 (BST) From: Doug Rabson To: Cc: Subject: Making printf work on ia64 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Since the ia64 architecture has significantly different means for passing arguments than most others, it has an implementation of stdarg.h which doesn't work with our printf. In particular, you cannot take a pointer to the values returned by va_arg(). To get things to work, I had to change printf to copy the arguments instead of pointing to them. I have extensively tested this on ia64 and i386 and can't think of any problems with it. Still, it would be nice to have a few other eyes look over it. The QUAD_MAX part is down to a limitation with my ia64 build environment and should be harmless. Index: vfprintf.c =================================================================== RCS file: /home/ncvs/src/lib/libc/stdio/vfprintf.c,v retrieving revision 1.29 diff -u -r1.29 vfprintf.c --- vfprintf.c 2001/08/20 12:53:34 1.29 +++ vfprintf.c 2001/08/22 09:46:27 @@ -67,14 +67,35 @@ #include "local.h" #include "fvwrite.h" +#ifndef QUAD_MAX +#define QUAD_MAX LONG_MAX +#endif + /* Define FLOATING_POINT to get floating point. */ #define FLOATING_POINT +union arg { + int intarg; + unsigned int uintarg; + long longarg; + unsigned long ulongarg; + quad_t quadarg; + u_quad_t uquadarg; + void *pvoidarg; + char *pchararg; + short *pshortarg; + int *pintarg; + long *plongarg; + quad_t *pquadarg; + double doublearg; + long double longdoublearg; +}; + static int __sprint __P((FILE *, struct __suio *)); static int __sbprintf __P((FILE *, const char *, va_list)) __printflike(2, 0); static char * __ultoa __P((u_long, char *, int, int, char *)); static char * __uqtoa __P((u_quad_t, char *, int, int, char *)); -static void __find_arguments __P((const char *, va_list, void ***)); +static void __find_arguments __P((const char *, va_list, union arg **)); static void __grow_type_table __P((int, unsigned char **, int *)); /* @@ -330,8 +351,8 @@ struct __siov iov[NIOV];/* ... and individual io vectors */ char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */ char ox[2]; /* space for 0x hex-prefix */ - void **argtable; /* args, built due to positional arg */ - void *statargtable [STATIC_ARG_TBL_SIZE]; + union arg *argtable; /* args, built due to positional arg */ + union arg statargtable [STATIC_ARG_TBL_SIZE]; int nextarg; /* 1-based argument index */ va_list orgap; /* original argument pointer */ @@ -382,7 +403,7 @@ * argument (and arguments must be gotten sequentially). */ #define GETARG(type) \ - ((argtable != NULL) ? *((type*)(argtable[nextarg++])) : \ + ((argtable != NULL) ? *((type*)(&argtable[nextarg++])) : \ (nextarg++, va_arg(ap, type))) /* @@ -912,7 +933,7 @@ * It will be replaces with a malloc-ed one if it overflows. */ static void -__find_arguments (const char *fmt0, va_list ap, void ***argtable) +__find_arguments (const char *fmt0, va_list ap, union arg **argtable) { char *fmt; /* format string */ int ch; /* character from fmt */ @@ -1112,63 +1133,63 @@ * Build the argument table. */ if (tablemax >= STATIC_ARG_TBL_SIZE) { - *argtable = (void **) - malloc (sizeof (void *) * (tablemax + 1)); + *argtable = (union arg *) + malloc (sizeof (union arg) * (tablemax + 1)); } - (*argtable) [0] = NULL; + (*argtable) [0].intarg = 0; for (n = 1; n <= tablemax; n++) { switch (typetable [n]) { case T_UNUSED: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case T_SHORT: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case T_U_SHORT: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case TP_SHORT: - (*argtable) [n] = (void *) &va_arg (ap, short *); + (*argtable) [n].pshortarg = va_arg (ap, short *); break; case T_INT: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case T_U_INT: - (*argtable) [n] = (void *) &va_arg (ap, unsigned int); + (*argtable) [n].uintarg = va_arg (ap, unsigned int); break; case TP_INT: - (*argtable) [n] = (void *) &va_arg (ap, int *); + (*argtable) [n].pintarg = va_arg (ap, int *); break; case T_LONG: - (*argtable) [n] = (void *) &va_arg (ap, long); + (*argtable) [n].longarg = va_arg (ap, long); break; case T_U_LONG: - (*argtable) [n] = (void *) &va_arg (ap, unsigned long); + (*argtable) [n].ulongarg = va_arg (ap, unsigned long); break; case TP_LONG: - (*argtable) [n] = (void *) &va_arg (ap, long *); + (*argtable) [n].plongarg = va_arg (ap, long *); break; case T_QUAD: - (*argtable) [n] = (void *) &va_arg (ap, quad_t); + (*argtable) [n].quadarg = va_arg (ap, quad_t); break; case T_U_QUAD: - (*argtable) [n] = (void *) &va_arg (ap, u_quad_t); + (*argtable) [n].uquadarg = va_arg (ap, u_quad_t); break; case TP_QUAD: - (*argtable) [n] = (void *) &va_arg (ap, quad_t *); + (*argtable) [n].pquadarg = va_arg (ap, quad_t *); break; case T_DOUBLE: - (*argtable) [n] = (void *) &va_arg (ap, double); + (*argtable) [n].doublearg = va_arg (ap, double); break; case T_LONG_DOUBLE: - (*argtable) [n] = (void *) &va_arg (ap, long double); + (*argtable) [n].longdoublearg = va_arg (ap, long double); break; case TP_CHAR: - (*argtable) [n] = (void *) &va_arg (ap, char *); + (*argtable) [n].pchararg = va_arg (ap, char *); break; case TP_VOID: - (*argtable) [n] = (void *) &va_arg (ap, void *); + (*argtable) [n].pvoidarg = va_arg (ap, void *); break; } } -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Wed Sep 5 5:19:56 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from kawoserv.kawo2.rwth-aachen.de (kawoserv.kawo2.RWTH-Aachen.DE [134.130.180.1]) by hub.freebsd.org (Postfix) with ESMTP id 3BADA37B40D; Wed, 5 Sep 2001 05:19:49 -0700 (PDT) Received: from fump.kawo2.rwth-aachen.de (root@fump.kawo2.rwth-aachen.de [134.130.181.148]) by kawoserv.kawo2.rwth-aachen.de (8.9.3/8.9.3) with ESMTP id OAA12624; Wed, 5 Sep 2001 14:19:48 +0200 Received: (from alex@localhost) by fump.kawo2.rwth-aachen.de (8.11.3/8.11.3) id f85CJpn05692; Wed, 5 Sep 2001 14:19:51 +0200 (CEST) (envelope-from alex) Date: Wed, 5 Sep 2001 14:19:51 +0200 From: Alexander Langer To: Doug Rabson Cc: audit@FreeBSD.ORG, ia64@FreeBSD.ORG Subject: Re: Making printf work on ia64 Message-ID: <20010905141951.C5586@fump.kawo2.rwth-aachen.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from dfr@nlsystems.com on Wed, Sep 05, 2001 at 11:31:15AM +0100 X-PGP-Fingerprint: 44 28 CA 4C 46 5B D3 A8 A8 E3 BA F3 4E 60 7D 7F X-PGP-at: finger alex@big.endian.de X-Verwirrung: Dieser Header dient der allgemeinen Verwirrung. Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Thus spake Doug Rabson (dfr@nlsystems.com): > I have extensively tested this on ia64 and i386 and can't think of any > problems with it. Still, it would be nice to have a few other eyes look Performance differences? Alex To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Wed Sep 5 5:31: 4 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from tele-post-20.mail.demon.net (tele-post-20.mail.demon.net [194.217.242.20]) by hub.freebsd.org (Postfix) with ESMTP id B608237B405; Wed, 5 Sep 2001 05:30:59 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by tele-post-20.mail.demon.net with esmtp (Exim 2.12 #2) id 15ebpZ-000IfH-0K; Wed, 5 Sep 2001 12:30:57 +0000 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f85CTec43977; Wed, 5 Sep 2001 13:29:40 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Wed, 5 Sep 2001 13:29:40 +0100 (BST) From: Doug Rabson To: Alexander Langer Cc: , Subject: Re: Making printf work on ia64 In-Reply-To: <20010905141951.C5586@fump.kawo2.rwth-aachen.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Wed, 5 Sep 2001, Alexander Langer wrote: > Thus spake Doug Rabson (dfr@nlsystems.com): > > > I have extensively tested this on ia64 and i386 and can't think of any > > problems with it. Still, it would be nice to have a few other eyes look > > Performance differences? I haven't tried to measure any. I doubt that it performs any differently from the existing implementation. It might even be very slightly faster since it reads the argument exactly once and avoids the double-indirection of the existing code. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Wed Sep 5 9:37: 4 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from dragon.nuxi.com (trang.nuxi.com [66.92.13.169]) by hub.freebsd.org (Postfix) with ESMTP id 3275D37B401 for ; Wed, 5 Sep 2001 09:37:02 -0700 (PDT) Received: (from obrien@localhost) by dragon.nuxi.com (8.11.5/8.11.1) id f85GauN97174; Wed, 5 Sep 2001 09:36:56 -0700 (PDT) (envelope-from obrien) Date: Wed, 5 Sep 2001 09:36:56 -0700 From: "David O'Brien" To: Marcel Moolenaar Cc: ia64@FreeBSD.org Subject: Re: Roadmap? Message-ID: <20010905093656.E96880@dragon.nuxi.com> Reply-To: obrien@FreeBSD.org References: <20010903021505.A48870@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010903021505.A48870@dhcp01.pn.xcllnt.net>; from marcel@xcllnt.net on Mon, Sep 03, 2001 at 02:15:05AM -0700 X-Operating-System: FreeBSD 5.0-CURRENT Organization: The NUXI BSD group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, Sep 03, 2001 at 02:15:05AM -0700, Marcel Moolenaar wrote: > Also, what's the story with gcc. It doesn't look like we have a working > ia64 compiler in the tree. Any ETA's on that front? Please just use the same toolchain as DFR, JHB, and Peter. (freefall:~dfr) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Thu Sep 6 1:15:17 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id E083137B408; Thu, 6 Sep 2001 01:15:12 -0700 (PDT) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id SAA10883; Thu, 6 Sep 2001 18:14:47 +1000 Date: Thu, 6 Sep 2001 18:14:15 +1000 (EST) From: Bruce Evans X-X-Sender: To: Alexander Langer Cc: Doug Rabson , , Subject: Re: Making printf work on ia64 In-Reply-To: <20010905141951.C5586@fump.kawo2.rwth-aachen.de> Message-ID: <20010906181036.Y29648-100000@alphplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Wed, 5 Sep 2001, Alexander Langer wrote: > Thus spake Doug Rabson (dfr@nlsystems.com): > > > I have extensively tested this on ia64 and i386 and can't think of any > > problems with it. Still, it would be nice to have a few other eyes look > > Performance differences? Presumably null, since the changes are only for the nonstandard %$ feature which no one uses. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Thu Sep 6 13:13:12 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from smtp.monmouth.com (smtp.monmouth.com [209.191.58.6]) by hub.freebsd.org (Postfix) with ESMTP id 1143837B407 for ; Thu, 6 Sep 2001 13:13:10 -0700 (PDT) Received: from Debug (wwws.monmouth.com [205.231.236.12]) by smtp.monmouth.com (8.11.6/8.11.6) with SMTP id f86KD9T21010 for ; Thu, 6 Sep 2001 16:13:09 -0400 (EDT) Message-Id: <200109062013.f86KD9T21010@smtp.monmouth.com> To: ia64@FreeBSD.ORG From: patv@monmouth.com Subject: Looking to volunteer Date: Thu, 6 Sep 2001 16:09:56 est X-Mailer: MI-Webmail Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I just read through the mailing list archives and saw that there is a bit of activity on this port. I would like to help, and I have the linux simulator (I read the comments) and access to an Intel IA64 box running linux. Any suggestions on where I can help? Pat --------------------------------------------- This message was sent using MI-Webmail. No matter where you are, never lose touch. Get your Email using MI-Webmail. http://www.monmouth.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message