68568 Commits

Author SHA1 Message Date
jake
8d86fe1163 1. Adapt to new trap types.
2. Make trap_pfault more like it is on other architectures.
3. Fix a bug in syscall() which caused system calls with more than
   six arguments that are called through the wild card syscall to
   have their arguments scrambled.  This affected mmap due to the
   (bogus) wrapper in libc.

Submitted by:	tmm (3)
2001-12-29 07:45:49 +00:00
jake
d4c9aeb452 Add .register directives for gcc3.
Add some traces that can be useful but are also very loud.
Use defines for offsets into jmpbuf instead of magic numbers.
Fix a style bug.
Fixup comments.
2001-12-29 07:34:42 +00:00
jake
db696058e8 Assert at compile time that structures which need to be a power of
2 really are.
Move a trace to before flushw in case it goes off the deep end.
2001-12-29 07:32:56 +00:00
jake
0fd4afe777 Remove a debug printf.
Setup new dedicated global register (alternate, and mmu).
Make setregs readable again.
Adapt to moving of many things into trapframe.
2001-12-29 07:28:20 +00:00
jake
ae6ea0bdb1 intr_handlers is an array of function pointers, not small structures.
Assert at compile time that structures which need to be a power of 2
in size really are.
2001-12-29 07:24:57 +00:00
jake
1c81a8edd7 Add .register directive for gcc3.
Enforce in hardware the non-use of floating point in the kernel.
2001-12-29 07:22:27 +00:00
jake
5491e87b91 1. Make this more name space friendly (* -> emul_*).
2. Don't whine about unaligned fixups by default.
3. Adapt to removal of mmuframe.

Submitted by:	tmm (1, 2)
2001-12-29 07:20:20 +00:00
jake
4e971946c3 Be paranoid about the sizeof passed to db_get_value, not all trapframe
fields are u_long.
Print useful information about traps in backtraces.
GC some dead code.
2001-12-29 07:16:45 +00:00
jake
14f9eb3c0f Implement dcache_inval_phys, which shoots the cache lines that correspond
to a specific physical address.  This is used for page copy and zero
routines which use physical addresses directly.

Submitted by:	tmm
2001-12-29 07:14:07 +00:00
alfred
f097734c27 Make AIO a loadable module.
Remove the explicit call to aio_proc_rundown() from exit1(), instead AIO
will use at_exit(9).

Add functions at_exec(9), rm_at_exec(9) which function nearly the
same as at_exec(9) and rm_at_exec(9), these functions are called
on behalf of modules at the time of execve(2) after the image
activator has run.

Use a modified version of tegge's suggestion via at_exec(9) to close
an exploitable race in AIO.

Fix SYSCALL_MODULE_HELPER such that it's archetecuterally neutral,
the problem was that one had to pass it a paramater indicating the
number of arguments which were actually the number of "int".  Fix
it by using an inline version of the AS macro against the syscall
arguments.  (AS should be available globally but we'll get to that
later.)

Add a primative system for dynamically adding kqueue ops, it's really
not as sophisticated as it should be, but I'll discuss with jlemon when
he's around.
2001-12-29 07:13:47 +00:00
jake
f96a367719 Rename definitions to better match the hardware wstate fields.
Don't include WSTATE_TRANSITION in WSTATE_NORMAL_MASK.
2001-12-29 07:12:30 +00:00
jake
2fa6dd41be Add definitions for TSTATE_MM_* and TSTATE_{I,X}CC_*.
Implement TSTATE_SECURE in terms of PSTATE_SECURE.
2001-12-29 07:11:00 +00:00
jake
2b14434bd9 Rename and renumber trap types to comply with the user trap types as
specified by the sparc abi.  We use numerically higher values for all
internal kernel types.
Remove soft trap types which need to be exposed to userland.  They will
move to utrap.h.
2001-12-29 07:09:50 +00:00
jake
a3769d0f6a 1. Certain tlb operations need to be atomic, so disable interrupts for
their duration.  This is still only effective as long as they are
   only used in the static kernel.  Code in modules may cause instruction
   faults which makes these break in different ways anyway.
2. Add a load bearing membar #Sync.
3. Add an inline for demapping an entire context.

Submitted by:	tmm (1, 2)
2001-12-29 07:07:35 +00:00
jake
63826f10fa jmpbuf is no longer a ucontext_t since it does not need to be passed
to sigreturn.
Add definitions for array offsets.
2001-12-29 07:03:09 +00:00
jake
a97bd61c68 Add fprs to struct fpreg. 2001-12-29 07:02:12 +00:00
jake
1483b41331 Define PSTATE_MM_MASK in terms of PSTATE_MM_SIZE.
Implement PSTATE_SECURE.
2001-12-29 07:01:34 +00:00
jake
afadfc3910 Remove pcb_y. It has moved to trapframe. 2001-12-29 07:00:30 +00:00
jake
8b50e3dd58 Don't concatentate __func__.
Make page size constants explicitly long and unsigned.
Add a macro for compile time assertions.
2001-12-29 07:00:04 +00:00
jake
a086b0a1b0 Make it clear that IH_SHIFT is expected to be that of a pointer.
Make intr_handlers an array of function pointers instead of
small structures.
2001-12-29 06:57:55 +00:00
jake
9ca32fc440 Add definitions for magic numbers used in asm.
Bloat trapframe with many extra fields so we don't need extra structures.
Use small data types where possible.
Remove second copy of TF_DONE.
Remove mmuframe.
2001-12-29 06:56:11 +00:00
jake
fc3b645fd1 Change fpblock to be an array of ints instead longs.
Change fp_init_thread to take a thread instead of a pcb so we
can get at the trapframe.
2001-12-29 06:53:19 +00:00
jake
7404706e58 Add "memory" to the clobber list for membars.
Submitted by:	tmm
2001-12-29 06:51:50 +00:00
jake
b06f1a496e Implement CLKF_USERMODE so that user time is accounted properly.
Submitted by:	tmm
2001-12-29 06:51:14 +00:00
jake
265a5e8141 Add definitions for the number of bits in the icc and xcc fields
of the ccr, as well as the shifts and masks for each.

Submitted by:	tmm
2001-12-29 06:50:25 +00:00
jake
9a06dbc23e Use ASI_P instead of ASI_N if _KERNEL isn't defined so that these
can be used in userland.

Submitted by:	tmm
2001-12-29 06:48:43 +00:00
jake
9abebb43d0 Add macros for dedicated register variables, for use in assmebler.
Add a PUTS macro.
2001-12-29 06:47:50 +00:00
jake
4c18b11dbd Adapt to new kernel tsb structure. 2001-12-29 06:43:36 +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
158161c195 We use HIDENAME(minbrk) on sparc64 too. 2001-12-29 06:35:19 +00:00
jake
3d22a34351 Add device ofw_console so this kernel is usable.
This commit brought to you by a sun ultra 10 running freebsd.
2001-12-29 05:58:07 +00:00
imp
7d5273d3c7 "10/100Base FastEthernet PC CARD" (LNA-100) from Billionton Systems Inc.
Submitted by: "Torfinn Ingolfsen" <torfinn.ingolfsen@oslo.online.no>
2001-12-29 02:15:46 +00:00
ben
8bd06e165d Remove part of a diff committed at the end of the file. 2001-12-29 00:51:23 +00:00
joe
e16986212d Force raw printing of non-printable characters via the -w option.
PR:		bin/28007
2001-12-29 00:22:29 +00:00
joe
4771d61303 Restore these files to shiny KNF. 2001-12-29 00:18:16 +00:00
des
ab30f96094 Fix missing comma in previous commit.
Pointy hat to:	jhb
2001-12-28 23:51:48 +00:00
joerg
ba54d68227 Convert sppp_params() to use a malloced structure in order to reduce
kernel stack usage.

This effectively merges rev 1.3 of i4b's i4b_ispppsubr.c.

MFC after:	1 month
2001-12-28 23:36:35 +00:00
joerg
26773395ab Fix my breakage to the low-level hardware sync drivers brought by the
inclusion of VJ compression into sppp.

Now, instead of the need to include this and that and everything plus
the kitchensink in each of those drivers, struct sppp uses struct
slcompress as an opaque structure only referenced by a pointer.  The
actual structure is then malloced at initialization time.

While i was at it, also fixed a bug where received VJ packets would only
be recognized if INET6 was defined.
2001-12-28 23:20:12 +00:00
julian
993dd6cae8 Fix documentation to match reality 2001-12-28 22:24:26 +00:00
robert
099b3fa082 Avoid having the text and data sections merged into one program
header table entry by removing the -N flag from the LDFLAGS.
2001-12-28 22:12:38 +00:00
julian
c7d1e5d15e Document some behaviour I'm depending on.
(TAILQ_FOREACH leaves the variable NULL if there were no more to do)
2001-12-28 22:00:27 +00:00
joe
e208ef8e1a Convert some spaces into tabs that I missed first time around. 2001-12-28 21:55:23 +00:00
joe
d2121ec1c3 Revert most of rev 1.42, to restore KNF style.
Requested by:	bde
2001-12-28 21:47:33 +00:00
julian
f6dd852457 Fix ipfw fwd so that it acts as the docs say
when forwarding an incoming packet to another machine.

Obtained from:	Vicor Production tree
MFC after: 3 weeks
2001-12-28 21:21:57 +00:00