Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A question about S/390 port



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?

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@xxxxxxxxxxx
with "unsubscribe freebsd-platforms" in the body of the message