From owner-freebsd-mobile Wed Nov 5 23:36:34 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id XAA27509 for mobile-outgoing; Wed, 5 Nov 1997 23:36:34 -0800 (PST) (envelope-from owner-freebsd-mobile) Received: from word.smith.net.au (vh1.gsoft.com.au [203.38.152.122]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id XAA27503 for ; Wed, 5 Nov 1997 23:36:30 -0800 (PST) (envelope-from mike@word.smith.net.au) Received: from word.smith.net.au (localhost.gsoft.com.au [127.0.0.1]) by word.smith.net.au (8.8.7/8.8.5) with ESMTP id RAA01727; Thu, 6 Nov 1997 17:59:22 +1030 (CST) Message-Id: <199711060729.RAA01727@word.smith.net.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: Poul-Henning Kamp cc: freebsd-mobile@FreeBSD.ORG Subject: Re: Libretto 50 - US Version and PAO In-reply-to: Your message of "Thu, 06 Nov 1997 07:41:06 BST." <1977.878798466@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 06 Nov 1997 17:59:20 +1030 From: Mike Smith Sender: owner-freebsd-mobile@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > In message <199711060121.LAA00464@word.smith.net.au>, Mike Smith writes: > > >One thing I was wondering; does > > > >pnp_func(u_int16_t a, u_int16_b) > > > >construct the stack properly, or will we still get int-sized objects on > >the stack? > > You still get 32bit stuff on the stack. C promotes them. As Shakespeare would have said, "Puck". Alright, let's try something even more ugly. /* * pnpcall(int dseg, int coffs, int cseg, * int retoffs, int retseg, u_int_16 stack[PNP_MAXSTACK]) * pass (retoffs) and (retseg) in as junk. */ ENTRY(pnpcall) movl %cs,%di movl %di,(5*4)(%esp) movl pnpret,(4*4)(%esp) popl %di movl %di,%ds lret pnpret: /* fossick return value etc. */ About all I can see here is that we don't save any registers across the call, which might be Bad. Comments? mike