Date: Wed, 10 Jul 2002 18:45:40 -0400 From: Jake Burkholder <jake@locore.ca> To: Serguei Tzukanov <tzukanov@narod.ru> Cc: freebsd-platforms@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: A question about S/390 port Message-ID: <20020710184540.C48985@locore.ca> In-Reply-To: <200207101554.09734.tzukanov@narod.ru>; from tzukanov@narod.ru on Wed, Jul 10, 2002 at 03:54:09PM %2B0400 References: <200207101554.09734.tzukanov@narod.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Apparently, On Wed, Jul 10, 2002 at 03:54:09PM +0400, Serguei Tzukanov said words to the effect of; > Some working notes. > > I've written the libc/csu part, kernel successfully starts init and init > forks off for the execve of -sh, > (http://tzukanov.narod.ru/freebsd390/bootlog.txt) > but there is problem with printing from userland, e.g. output from > userland are not visible. Write syscall to descs 1,2 in init returns > with success. > I'm sure it's something very stupid, so maybe someone have a clue? I think this is because your console driver (hc) doesn't have a tty interface, just the low level cn* stuff. If you look at the ofw_console driver, it provides a rudimentary tty interface using polling and cngetc, cnputc equivalents. Jake > > And another problem (well-known?): > __syscall returns 64-bit value but mmap returns 4-byte word in the > td->td_retval[0]. Wrapper for mmap in libc casts 64 rv to 32 and alays > gets zero. This leads to truncating to zero due to cast on 32-bit > big-endian architectures. > The solution is obvious - using constructs like > td->td_retval[_QUAD_LOWWORD] = xxx in MI code. > > For now I just avoid it with hack in syscall handler. > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020710184540.C48985>