Commit Graph

4740 Commits

Author SHA1 Message Date
sommerfeld e8d906afaa Validate gate targets.
Fix by myself and Charles Hannum.
2001-01-16 23:32:21 +00:00
augustss 46130fb7e5 Add uyap. 2001-01-16 03:38:22 +00:00
mycroft b9e3ed1f0a Allow read-write descending memory segments (not that anybody ever uses
descending segments).
2001-01-16 01:50:36 +00:00
martin a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
simonb 38de3f1a70 Enable the APM_IOC_DEV_CTL ioctl. Works at least for turning off & on
a LCD screen on a Dell Inspiron 5000e (and probably many others).
2001-01-12 03:36:50 +00:00
augustss d968e32c3a Add usscanner. 2001-01-11 06:03:21 +00:00
thorpej 3a7c4f5973 Don't panic if we detect an IRQ combination that can't be shared,
just return NULL.
2001-01-10 01:15:32 +00:00
fvdl 5395f63f35 Revert apparently accidental commit. 2001-01-09 12:03:15 +00:00
enami 7a36660307 If there remains no memory in a segment after we chopped off ``the last
page,'' skip the segment.  Fixes boot problem on Compaq ProLiant ML370
reported at current-users by Mark Davies.
2001-01-09 03:45:49 +00:00
lukem 7a9f0b9a95 sync to GENERIC 1.390:
- add an NIC & vlan
- add auich, esm, neo audio
2001-01-09 00:47:18 +00:00
lukem 6ac8983e9d sort auich in respect to auvia 2001-01-09 00:40:53 +00:00
martin f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
rh c6274d6e3d Add and enable the esm PCI audio driver 2001-01-08 20:48:11 +00:00
fvdl 3947143db7 Define __HAVE_OLD_DISKLABEL in <machine/types.h> for i386 (where the
other __HAVE_* defines are). Conditionalize definition of old
disklabel struct and ODIOC* definitions on it, allowing other ports
to bump the number of partitions in the label if they want to
(see comment in sys/disklabel.h).
2001-01-07 17:55:40 +00:00
martin 7e14d8a67c Cosmetics 2001-01-05 23:58:02 +00:00
martin ebb91e152f Disable the daic driver for now. It's microcode handling needs
some thougths (legal problems), and the driver is not ready
for prime time anyway.
2001-01-05 23:22:01 +00:00
tsutsui 8303e98e40 Fix typo (s/req/reg/). 2001-01-05 19:08:04 +00:00
aymeric 6a808ce8c8 Initialize VIA Technologies' 82C686's ICU as if it were a 82C586.
This fixes interrupt allocation problems on modern Compaq laptops.
2001-01-05 18:39:12 +00:00
martin 242656c78a Enable the imported ISDN4BSD based ISDN subsystem.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
2001-01-05 13:09:15 +00:00
martin c3cb638bca Initial import of ISDN4BSD release 0.96 2001-01-05 12:49:52 +00:00
thorpej d04f6f6d57 Just garbage-collect the #if 0'd pmap_transfer() stuff. 2001-01-04 00:17:43 +00:00
fvdl 3456657259 Bump shm max pages value to a more realistic one. 2001-01-03 20:19:33 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
tron 0ce4a9a0de Use highest bit of minor as an extra bit for the partition number to
bump the maximum partition number on NetBSD-i386 to 16. (Approved by fvdl)
2001-01-02 23:06:54 +00:00
thorpej bee6e31c0d Don't equate pmap_update() with tlbflush(), but instead call
tlbflush() when that's what we mean (currently everywhere, except
in the one place in MI code where it is called).

The whole pmap_update() thing needs to be reexamined, but this helps
to clarify things a little with the currently-defined semantics of
that function.
2001-01-01 22:13:53 +00:00
mycroft c95706b81d Long gone. 2000-12-29 21:52:03 +00:00
mycroft efc2dc7903 ZHADUM is dead, ZSR doesn't need to be checked in. 2000-12-29 21:50:43 +00:00
sommerfeld 851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
jdolecek 69fa90cc78 s/SYS_NSYSENT/FREEBSD_&/ 2000-12-27 23:20:29 +00:00
itojun efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
tv 35670ca600 Undo 1.385; put wss0 back in GENERIC.
Just like any ISA device, if you don't have the device at the configured IRQ,
you could lose if something else decides it wants that IRQ.  wss is not
a special case.
2000-12-22 16:35:51 +00:00
hubertf 4dfc667a6d Add pseudo-device vlan, OK'd by Manuel Bouyer. 2000-12-21 10:36:15 +00:00
itojun 823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
enami 28f80d692b Redo previous slight differently. 2000-12-21 05:20:24 +00:00
enami 5575e1f704 Print cpu features line only when corresponding part of bits are set. 2000-12-21 05:11:00 +00:00
enami 58f16f5f39 - Zero is a valid random data. Don't give up to attach.
- 4 cycle is enough to get 4 octet of data.
2000-12-21 02:43:04 +00:00
augustss 81ab9f2251 Put 'an* at isapnp?' in alphabetical order. 2000-12-20 10:44:29 +00:00
bouyer ba933b24f7 Add peudo-device vlan 2000-12-19 10:34:11 +00:00
thorpej f2242e9329 Gah, fix braino in last. 2000-12-18 23:41:58 +00:00
thorpej 895f21a679 Prototype freebsd_syscall_intern() in freebsd_machdep.h so that
freebsd_exec.c has access to it.
2000-12-18 23:29:46 +00:00
jdolecek 02f7f5ef0e make compilable within LKM 2000-12-18 20:49:17 +00:00
jdolecek 6701524af4 put back the rval[1] microoptimization, this is no longer used by FreeBSD emulation 2000-12-18 20:40:25 +00:00
jdolecek 2db538c869 separate the freebsd syscall code similarily to other emulations 2000-12-18 20:38:27 +00:00
jdolecek 214db5ca6b Store edx to rval[1], so that it won't get zeroed spuriously - this made
shared FreeBSD binaries coredump.
This solves port-i386/11708 by Atsushi Onoe.

XXX it may be worth it to split FreeBSD syscall code off syscall.c similar way
XXX as other emulations
2000-12-18 11:37:08 +00:00
jmc 3926121843 Comment out the isa wss driver.
GENERIC is the kernel used on new installs and too many things overlap the
resources (irq mostly) the default isa version may be using which causes
panics on reboot.
2000-12-17 22:53:52 +00:00
thorpej 0a8ec4baf3 Add an at isapnp. 2000-12-17 20:35:45 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jmc d1c6f1123f Add pnpbios_getiosize 2000-12-17 07:59:14 +00:00
jmc 50445038df Change the attach routine so it handles all the known cases that pnpbios
returns for floppy controllers i/o ports. i.e.

1. 1 range of length 4 (which conveniently "forgets" the ctl i/o port),
2. 2 ranges: 1 of length 4 and the ctl i/o port.
3. 1 range of length 6 which goes to the end of the ctl i/o.

Make this line up with the MI fdc code by mapping in a range of 4 on the
base i/o and then either direct or submapping the ctl i/o. In the one case
where the BIOS lies and says it's not there just map it in anyways. (but note
the fact to the end user).
2000-12-17 07:58:37 +00:00
thorpej cd414d81ab Glue in ALTQ. 2000-12-14 23:55:31 +00:00
mycroft e06ad67fa5 Remove ALTENTRY(). It's dangerous and should not be used. 2000-12-14 20:15:26 +00:00
mycroft 33d5c07c1b Clean up #includes. 2000-12-14 18:34:59 +00:00
onoe a7125e435c Add PCI version of Aironet, not tested at all.
ISA/ISApnp version won't come since I don't know about isa...
2000-12-14 04:11:25 +00:00
mycroft 716c484ada Remove unnecessary #includes. 2000-12-13 01:24:46 +00:00
he 4ce4648c24 Add the an(4) driver to these configurations as well. 2000-12-12 21:14:51 +00:00
mycroft a7889f8229 Whoops. Previous change was not correct. 2000-12-12 20:30:12 +00:00
mycroft 2c7eaf2b50 Minor code rearrangement. 2000-12-12 20:22:49 +00:00
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