Commit Graph

4630 Commits

Author SHA1 Message Date
mycroft
0175db6e40 #ifdef KTRACE some stuff. 2000-12-12 03:33:16 +00:00
onoe
9c25e9208a Port 'an' driver for Aironet PC4500/PC4800 IEEE802.11 card from FreeBSD.
This is very adhoc work for IETF meeting.
- Since it seems that 'an' and 'wi' have similar hardware, low level
  functions should be shared.
- There are PCI/ISA cards of Aironet but not supported yet.
- The wiconfig interface is changed so that wiconfig cannot be used.
- 'ancontrol' of FreeBSD is not ported.
- Only infrastructure mode is tested.
- WEP is not supported.

Though I only have an Aironet card, Cisco card should be expected to work.
2000-12-11 23:16:50 +00:00
mycroft
9a8fbe25bc Handle the VM86-mode syscall problem by changing the syscall vector when
jumping in or out of VM86 mode.
2000-12-11 17:36:03 +00:00
mycroft
1ef2795be9 Separate the syscall handlers into two versions -- one which does ktrace, and
one which doesn't.  Dynamically switch.
There's more to do on this, but I have to go to work.
2000-12-11 16:49:15 +00:00
tron
d0de1ec852 Protect against multiple inclusion. 2000-12-11 11:39:06 +00:00
tron
c6cdb692f3 Include "machine/frame.h" to avoid lint errors while building "libc". 2000-12-11 10:22:55 +00:00
mycroft
e6d33b69ec Nuke reference to trace.h. 2000-12-11 05:41:06 +00:00
mycroft
0f17615da7 There is no Berkeley code in any of these files. 2000-12-11 05:37:01 +00:00
mycroft
f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
mycroft
6a4dfe5f24 Slight tweak. 2000-12-11 02:48:07 +00:00
mycroft
66610a4779 Introduce PROC_PC(), which is used to get a process's user PC. If this is
defined, call addupc_intr() directly from statclock() in the system time case,
using the same P_OWEUPC path if the copyin/copyout fails.
Use this in i386 to remove profiling code from the normal userret() path.
2000-12-10 19:29:30 +00:00
jdolecek
8ca533ee5b since this is now standalone and not called via syscall(), we need to
update statistics and set p->p_md.md_regs accordingly here
do the errno translation uncoditionally
2000-12-10 12:23:50 +00:00
jdolecek
603884ff22 syscall(): no emulation using this needs errno mapping, G/C the code 2000-12-10 12:09:59 +00:00
jdolecek
44d7fef20a make locore.s call emulation-specific syscall code directly
this should improve speed of emulation syscall path (avoids one function call,
and emulations syscall can use the trapframe trick)
Idea: Charles Hannum
2000-12-09 13:20:04 +00:00
jdolecek
6f0fceeb1d the call to emulation-specific syscall function will be handled differently,
don't do it explicitly
2000-12-09 12:57:17 +00:00
jdolecek
87a6bee3a9 prototype ibcs2_syscall() in compat/ibcs2/ibcs2_exec.c 2000-12-09 12:45:44 +00:00
jdolecek
8f9b01eba1 prototype svr4_syscall() (only) in compat/svr4/svr4_exec.c 2000-12-09 12:44:26 +00:00
jdolecek
45144cbd17 put userret() into header file machine/userret.h and pull it where needed 2000-12-09 11:21:52 +00:00
mycroft
b2052e5951 GC garbage in userret() and *_syscall(). 2000-12-09 06:34:07 +00:00
mycroft
afc49e36eb Set md_regs before call the alternate syscall handler.
Remove the EMUL_HAS_SYS___syscall test, because the handler is no longer shared
with SVR4.
Rather than comparing with e_nsysent, just mask the value.  This is only done
to protect us from malicious programs anyway.
2000-12-09 06:33:15 +00:00
mycroft
3340782619 Add a separate svr4_syscall(). 2000-12-09 06:30:54 +00:00
mycroft
7a70c438c8 Couple more tweaks to eliminate unnecessary cycles. 2000-12-09 02:46:17 +00:00
mycroft
57fdd67be5 Do the resched check *only* on an AST.
Also, there is no reason to save the original PC; there are no restartable
syscalls that change the PC -- and even if there were, they wouldn't do it
in the restart case.
2000-12-09 02:18:16 +00:00
mycroft
5415a63e13 Rework the way the nested task and trace flags are handled when entering the
old (lcall) syscall gate.  This speeds up that path a little.
2000-12-08 23:14:04 +00:00
mycroft
985a81f23b GC unneeded code. 2000-12-08 22:32:09 +00:00
thorpej
55ecab37a0 Fix a silly MP race condition introduced in the previous. 2000-12-07 21:53:46 +00:00
thorpej
ac083d0b74 Use a pool cache for PDPs. This results in a 20% improvement in a
loop of 10000 fork/exit operations on a 400MHz Celeron.
2000-12-07 20:19:05 +00:00
thorpej
0abaa8b70d Nothing calls pmap_release() except for pmap_destroy(). Merge the two. 2000-12-07 17:12:21 +00:00
thorpej
b4b01fe8e6 Nothing calls pmap_pinit() except for pmap_create(), so merge the two. 2000-12-07 17:09:26 +00:00
chs
4fa4734937 go back to the first version of the pte/pde dance now that kvtopte()
has been changed to consisently return a pointer into the recursive
page table mapping.
2000-12-06 03:20:35 +00:00
chs
2a95fc3517 in kvtopte(), return the mapping of the pde in the recursive page-table
mapping space rather than the mapping in the kernel address space.
2000-12-06 03:13:47 +00:00
jdolecek
94e024dc14 constify 2000-12-05 10:45:09 +00:00
jdolecek
dae7d6d77c actually, pte is normally in user address space, but can also be in kernel
address space for LARGEPAGES kernel; to handle both, do the same dance
as for loc
2000-12-05 10:26:12 +00:00
ad
f237da87bf Hook the iop device in. 2000-12-03 13:19:07 +00:00
jdolecek
2b0dca1878 db_disasm(): pte is in kernel address space, so use kvtopte() to get pde,
otherwise it would trip over KASSERT() in vtopte() and cycle
2000-12-02 19:34:54 +00:00
jdolecek
e9b63338d7 add prototype for ibcs2_syscall() 2000-12-02 16:13:34 +00:00
jdolecek
65203b4ec6 if IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put ibcs2_syscall to
emul_ibcs2
define IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL in i386 ibcs2_machdep.h
2000-12-02 16:09:44 +00:00
jdolecek
6719ee1cf7 as discussed on tech-kern, put linux and ibcs2 syscall code to separate
files and change syscall() to call p->p_emul->e_syscall() if it's not NULL
2000-12-02 16:03:23 +00:00
soren
ff0f7c1ab4 No longer used. 2000-12-01 07:56:18 +00:00
soren
2cc519bba5 <pc/display.h> has been moved to <dev/ic/pcdisplay.h>. 2000-12-01 07:55:10 +00:00
jdolecek
73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
aymeric
5deecf29d2 Fall back to previous memory segments detection code if BIOS reports no
correct memory segment.
This prevents some systems from losing with `can't find end of memory'.
Discussed with Bill Sommerfeld.
2000-11-29 09:56:02 +00:00
augustss
f9450fa993 Put neo* in alphabetical position. 2000-11-28 19:44:07 +00:00
thorpej
3f877e127e Add auich(4) and neo(4). 2000-11-28 05:18:42 +00:00
soren
66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +00:00
jdolecek
cee3939088 comment out entries accidentaly committed together with previous
change
2000-11-26 20:48:39 +00:00
ad
57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
jdolecek
bc435e5551 rename COMPAT_locore.s to COMPAT_sigcode.s - that is more suitable name for it
make the files compilable within LKM
2000-11-26 11:18:20 +00:00
takemura
3c9d9276dc Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
itojun
c40695f5ad a complete kernel for wildlab LAMB, http://www.wildlab.com/. 2000-11-26 03:28:41 +00:00