Commit Graph

34 Commits

Author SHA1 Message Date
jake
a72383027f Rename some fields in struct frame to be compatible with NetBSD/OpenBSD,
and add some compatibility defines.  Add fields for ins and locals to
struct reg also for the same reason; these aren't filled in yet because
getting at those registers sucks and I'd rather not save them in the
trapframe just for this.  Reorder struct reg to be ABI compatible as
well.  Add needed include of machine/emul.h.

This gets pmdb (poor man's debugger) from OpenBSD mostly compiling but it
doesn't work yet :(
2002-04-09 00:57:23 +00:00
tmm
c944152856 htonl() and ntohl() operate on unsinged types, so they must zero-extend,
not sign-extend. Fix a comment in the former to that effect, and change
the latter over to do the right conversion.
2002-04-06 00:07:15 +00:00
obrien
b1189e8930 Fix the style of the SCM ID's.
I believe have made all of libc .h's as consistent as possible.
2002-03-22 23:42:05 +00:00
obrien
d90536e35b Fix the style of the SCM ID's.
I believe have made all of libc .c's as consistent as possible.
2002-03-22 21:53:29 +00:00
obrien
6754aaaeed SCM ID tweak. 2002-03-22 09:27:59 +00:00
obrien
3b73ce2319 Remove __P() usage. 2002-03-21 22:49:10 +00:00
obrien
1196344bb3 Remove 'register' keyword. 2002-03-21 18:49:23 +00:00
tmm
bef62c8ae4 Fix some bugs that would prevent %fsr to be set correctly, and add
support for fcmp and fcmpe instructions with a condition code
specification other than %fcc0.
This (primarily the first part) seems to fix a lot of problems that
people were seeing, e.g. perl and gawk failures.

Reported and analyzed by:	wollman
2002-03-11 03:18:17 +00:00
tmm
add3c8c972 Account for <machine/fsr.h> no longer being usable for assembler code. 2002-03-11 03:13:02 +00:00
tmm
30dcded43a Fix __dtoul to work on sparc64 (it used a half-way v8 stack layout),
and make it PIC-aware.
2002-03-11 03:10:55 +00:00
tmm
9d0a7ccb85 Save/restore the %y register around calls to the C user trap handler;
gcc emits the deprecated sparc v8 instructions that use this register
when optimizing for UltraSparc machines because they are apparetly
faster then their v9 counterpars there.
2002-03-11 02:53:03 +00:00
jake
605c439175 Add fpsetmask(). Needed to build miniperl.
Obtained from:	netbsd
2002-03-05 04:03:57 +00:00
jake
e4766db304 Fix a bug where siglongjmp would clobber the argument to return from
sigsetjmp.  It would return the value of the signal flag, instead.

Pointy hat to:	jake
2002-03-05 04:02:04 +00:00
tmm
1e66eafc6c Connect the sparc64 userland fp emulator to the build. 2002-03-05 00:00:40 +00:00
tmm
c0c8cd1eeb Add userland floating point emulator code for sparc64. This is a port
of the (never committed) in-kernel version (with some optimizations and
cleanups), which in turn was ported from NetBSD.
2002-02-23 21:37:18 +00:00
jake
9cdf1cce75 Fix wrong offsets. Add offsets for %fsr and %tstate.
Submitted by:	tmm
2002-02-23 19:01:22 +00:00
jake
a349eff875 Add space for %fsr and %tstate to utrapframe. Save them in the generic
user trap entry code.  Restore %asi and %ccr from the saved %tstate before
returning to the trapping user code.

Submitted by:	tmm
2002-02-23 19:00:30 +00:00
mike
bcee06d42c o Move NTOHL() and associated macros into <sys/param.h>. These are
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
  source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
  Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
  POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
  and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
  complexities associated with having MD (asm and inline) versions, and
  having to prevent exposure of these functions in other headers that
  happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
  third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.

Tested on:	alpha, i386
Reviewed by:	bde, jake, tmm
2002-02-18 20:35:27 +00:00
jake
cc0e9cda25 Connect user trap code to the build. 2002-01-01 21:59:53 +00:00
jake
bf1d0034f8 Add libc side of user trap handling.
Add support for handling floating point disabled traps mostly in userland
for the simple single threaded case.  Not yet enabled by default.
Implement __sparc_utrap_install as specified by the sparc abi.
2002-01-01 21:58:32 +00:00
jake
19d78fb18d Make sure curbrk is well aligned. 2001-12-29 06:40:58 +00:00
jake
6f9fc42c7d Use jmpbuf offsets, not ucontext_t. 2001-12-29 06:40:35 +00:00
jake
3483475ed5 Add .register directives for gcc3.
Adapt to jmpbuf no longer being a ucontext_t.
Restore the context "by hand" in longjmp and call sigprocmask, instead
of just using sigreturn.
2001-12-29 06:39:53 +00:00
jake
56db29dc1a __infinity is not const. 2001-12-29 06:38:31 +00:00
jake
2e0c4bb65d Add jmpbuf offsets. Remove ucontext offsets. 2001-12-29 06:38:06 +00:00
jake
3e3b7768f5 Add .register directives for gcc3.
Adapt to jmpbuf no longer being a ucontext_t.
Call abort if longjmperror returns.
2001-12-29 06:37:33 +00:00
jake
7e615e1838 Include utrap.h for soft trap types. 2001-12-29 06:36:07 +00:00
jake
6a36fe07de Actually build new files.
Forgotten by:	jake
2001-11-19 00:19:49 +00:00
jake
7ba51fcfef Need .type and .size here too. 2001-11-18 04:48:34 +00:00
jake
710eac603d Add more libc stuff.
Obtained from:	netbsd
2001-11-18 04:40:30 +00:00
jake
a85982e09c Catch up to jmpbuf changes. Define offsets used from assmebly language
in another file so that it is easy to see what they are and keep them in
sync with the headers (grafted from the kernel generated assym.s).
2001-11-18 04:35:09 +00:00
jake
00a4946854 Remove fork and vfork wrappers. The kernel does the right thing. 2001-11-18 04:31:36 +00:00
jake
d7cd5a1a91 Add .type and .size pseudo-ops to system call macros so that dynamic binaries
will link.  They must be used for weak symbols as well as strong ones.
2001-11-18 04:29:20 +00:00
jake
e655c7bdca Minimal libc for sparc64.
Reviewed by:	obrien
2001-10-26 05:40:07 +00:00