Commit graph

6886 commits

Author SHA1 Message Date
Bruce Evans cfb95261b1 Quick fix for LINT breakage. KERNFORMAT went away, so don't use it
for trlld.o.
2000-01-09 07:50:42 +00:00
Peter Wemm 58fa7951a2 Bump configversion. The controller/device changes are upwards but not
downwards compatable.  If you try and config a s/controller/device/ kernel
with an old config(8), the results will be less than satisfactory.
2000-01-09 07:10:27 +00:00
Marcel Moolenaar dca60efcc9 Convert the filesystem type returned in struct statfs by syscalls
linux_statfs and linux_fstatfs. Linux binaries testing this expect
the filesystem's magic number and not our vnode's tag.

PR: 15425
Tested by: Vladimir N. Silyaev <vsilyaev@mindspring.com>
2000-01-08 21:09:41 +00:00
Bruce Evans 7190c15a73 Include <stddef.h> here so that <sys/assym.h> can be unpolluted.
Include <sys/param.h> before <sys/assym.h> in case any of the magic
in the former is ever needed in the latter.

Removed an unused forward declaration and an unused include.
2000-01-08 19:56:03 +00:00
Bruce Evans 7eed718873 Include <stddef.h> here so that <sys/assym.h> can be unpolluted.
Include <sys/param.h> before <sys/assym.h> in case any of the magic
in the former is ever needed in the latter.
2000-01-08 19:53:18 +00:00
Peter Wemm a052e7173c config(8) doesn't know anything about scsi devices like it used to, remove
the misleading comments to that effect.
Prune bogus 'at foo?' (smbus, iicbus, ppbus) appendages on things that
they are meaningless for.  It was just eye candy and wasn't used by
anything in the tree.  The interconnects were defined by the drivers
themselves and auto discovery.
(The new ppbus code may change this if it uses the resource_get_*() calls
 to find it's configured children if self discovery isn't possible)
2000-01-08 17:51:33 +00:00
Peter Wemm f31f62f872 Further sync Alpha and i386 Makefiles. Remove KERNFORMAT = elf stuff as
it's always true on these platforms (and is likely to be on others as
well since loader is the one that is configured for whatever the boot
requirements are)
2000-01-08 17:31:35 +00:00
Peter Wemm 0909397395 genassym is ELF-only, therefore the kernel is now ELF-only as well. 2000-01-08 17:12:15 +00:00
Peter Wemm 8ab2eee110 Sync the sym0 description while here. It doesn't conflict with ncr0
and is enabled in GENERIC.
2000-01-08 16:19:33 +00:00
Peter Wemm cecc952452 s/controller/device/ as per config(8) changes 2000-01-08 16:17:41 +00:00
Peter Wemm 70c43495f8 s/controller/device/ as per config(8) 2000-01-08 16:03:57 +00:00
Peter Wemm 62d128b859 s/controller/device/ as per config(8) changes 2000-01-08 15:59:12 +00:00
Bruce Evans c453bba744 Compile genassym.c with ordinary ${CFLAGS}. The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".
2000-01-08 15:52:22 +00:00
Peter Wemm 4a1e4cb727 Clean up the cfgmech/pci_mechanism debris. The reason for the existance
of this is no longer an issue as we have a replacement driver for the
one that needed it.

Reviewed by:	dfr
2000-01-08 08:31:24 +00:00
Bill Paul d04bb221f3 Add the vendor and device IDs for a whole bunch of additional USB
ethernet adapters that are supported by the aue and kue drivers.
There are actually a couple more out there from Accton, Asante and
EXP Computer, however I was not able to find any Windows device
drivers for these on their servers, and hence could not harvest
their vendor/device ID info. If somebody has one of these things
and can look in the .inf file that comes with the Windows driver,
I'd appreciate knowing what it says for 'VID' and 'PID.'

Additional adapters include: the D-Link DSB-650 and DSB-650TX, the
SMC 2102USB, 2104USB and 2202USB, the ATen UC10T, and the Netgear EA101.
These are all mentioned in the man pages, relnotes and LINT.

Also correct the date in the kue(4) man page. I wrote this thing
on Jan, 4 2000, not 1999.
2000-01-07 22:18:49 +00:00
Mark Newton 6e2972b825 Changes as suggested by bde
Submitted by:	bde
2000-01-07 14:41:12 +00:00
Marcel Moolenaar 3abe5082ad Use genassym(1). The definitions of NKPDE and NKPT have been removed
because they are already defined in pmap.h, resulting in duplicate
definitions.

Reviewed by: bde
2000-01-07 11:50:46 +00:00
Luoqi Chen 5c8b298e0e Allow SMP && NCPU == 1 to work. From now on, there's no restriction on the
value of NCPU relative to the number of cpus physically present, the actual
number of cpus utilized will be the smaller of the two.
2000-01-07 08:49:25 +00:00
Peter Wemm 31f723c7bc Bring the Alpha and x86 Makefiles closer together. 2000-01-07 05:12:12 +00:00
Warner Losh 46121c1271 FDC_YE has been removed as a valid option.
Noticed by: bde
2000-01-06 16:45:56 +00:00
Mark Newton 0e741a5b5b Add documentation for SVR4 options in LINT. 2000-01-05 21:41:16 +00:00
Mark Newton d5b0df04b2 Unbreak LINT -- typedefs from signal.h are needed to make prototypes in
this file make sense.
2000-01-05 21:28:46 +00:00
Bill Paul dfd1e98eac Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
Matthew Dillon eb6088c84d Update some of the network driver documentation in the LINT file, which
is where most people look to match drivers up with cards.

Reviewed by:	wpaul
2000-01-04 23:09:42 +00:00
Tor Egge 82916a1126 ISA device drivers use the ISA source interrupt number in locations where
the low level interrupt handler number should be used.  Change
setup_apic_irq_mapping() to allocate low level interrupt handler X (Xintr${X})
for any ISA interrupt X mentioned in the MP table.

Remove an assumption in the driver for the system clock (clock.c) that
interrupts mentioned in the MP table as delivered to IOAPIC #0 intpin Y
is handled by low level interrupt handler Y (Xintr${Y}) but don't assume
that low level interrupt handler 0 (Xintr0) is used.

Don't allocate two low level interrupt handlers for the system clock.
Reviewed by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
2000-01-04 22:24:59 +00:00
Matt Jacob b6ca8f5a13 add wx0 driver 2000-01-04 11:17:35 +00:00
Matt Jacob 9b8ea2242c Add in ISP_TARGET_MODE description. 2000-01-04 00:04:27 +00:00
Mark Newton ad20e57ae2 Add options for COMPAT_SVR4 and DEBUG_SVR4 for completeness. 2000-01-03 20:37:15 +00:00
Marcel Moolenaar e8c295abe6 Make offsetof equivalent with <stddef.h>. This paves the way for
further enhancements/reorganisations.

Discussed with: bde
2000-01-03 16:49:39 +00:00
Poul-Henning Kamp f8515dd800 Move the "sti" instruction to right before the "hlt" to close a tiny
race condition.

Obtained from:	bde and/or obrien
2000-01-02 15:18:12 +00:00
Hellmuth Michaelis a8d08723fb Implement scrollback for pcvt based on code submitted by
Aaron Campbell <aaron@cs.dal.ca>.

Use SHIFT-PgUp and SHIFT-PgDn to scroll back and forward.

Aarons original code was enhanced to have a separate scrollbuffer
for every virtual terminal and to preserve the screen contents
when switching screen sizes.

The scrollbuffer size is currently fixed at 8 pages but this
will be made configurable through the use of scon(1) in the
near future.

For pcvt_kbd.h, a longstanding compiler warning was fixed by
using excessive backetizing of the key2ascii[] table.
1999-12-30 16:17:11 +00:00
Peter Wemm 664a31e496 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +00:00
Bill Paul ed63a7aaef This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory
1999-12-28 02:01:18 +00:00
Bruce Evans 654f6be1c8 Changed the type used to represent the user stack pointer from `long *'
to `register_t *'.  This fixes bugs like misplacement of argc and argv
on the user stack on i386's with 64-bit longs.  We still use longs to
represent "words" like argc and argv, and assume that they are on the
stack (and that there is stack).  The suword() and fuword() families
should also use register_t.
1999-12-27 10:42:55 +00:00
Peter Wemm e1f75a9fa6 Zap kvm_kernel.db stuff now that libkvm gets it directly from the running
kernel.
1999-12-27 07:17:51 +00:00
Seigo Tanimura fdba49eb7e Add support of SB for PC98 into VoxWare 3.5, and more $FreeBSD$.
Submitted by:		T.Yamaoka <taka@windows.squares.net>
Pressed to review by:	nyan
1999-12-27 04:37:19 +00:00
Bruce Evans 22ddeb4b77 Fixed stripping of aout debugging kernels.
Fixed some style bugs (always use precisely 1 space after `:' in
dependency specifications).
Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}.
1999-12-26 17:07:15 +00:00
Bruce Evans 9bcde22f7a Don't include <isa/isavar.h> or compile code depending on it when isa
is not configured.  Including <isa/isavar.h> when it is not used is
harmful as well as bogus, since it includes "isa_if.h" which is not
generated when isa is not configured.
1999-12-26 16:21:19 +00:00
Bruce Evans ffd344ddbb Replaced the INTRMASK and INTRUNMASK macros by "|" and "&~" operations.
Some interface botches went away, leaving the macros unused outside of
the implementation of interrupt masking, and it was silly for the
implementation to use the macros in only one place each.
1999-12-26 12:43:47 +00:00
Bruce Evans 265cdeddb7 Fixed breakage of read-only opening of /dev/*mem at securelevel > 0 in
previous pair of commits.

Spell the "securelevel > 0" check consistently.

Use the proc arg instead of curproc in mmopen() and mmclose().
1999-12-26 11:44:45 +00:00
Bruce Evans 0f19e631e2 Fixed races accessing the RTC. The races apparently caused
apm_default_resume() to sometimes set a very wrong time.
(1) Accesses to the RTC index and data registers were not atomic enough.
    Interrupts were not masked.  This was only good enough until an
    interrupt handler (rtcintr()) started accessing the RTC in FreeBSD-2.0.
(2) Access to the block of time registers in inittodr() was not atomic
    enough.  inittodr() has 244us to read the time registers.  Interrupts
    were not masked.  This was only good enough until something (apm)
    started calling inittodr() after boot time in FreeBSD-2.0.
The fix for (2) also makes the timecounter update more atomic, although
this is currently unimportant due to the low resolution of the RTC.

Problem reported by:	mckay
1999-12-25 15:30:31 +00:00
Marcel Moolenaar a9d61af021 Update config rules for making {linux|svr4}_assym.h
Assembler symbols are now made using genassym(1).
1999-12-23 21:52:17 +00:00
Marcel Moolenaar 7ce77f279b Use genassym(1) and <sys/assym.h> to generate assembler symbols. 1999-12-23 21:19:32 +00:00
Marcel Moolenaar 00d6d49adc Use genassym(1) and <sys/assym.h> to generate assembler symbols. 1999-12-23 19:59:47 +00:00
Bruce Evans 58f9831e32 Removed vestiges of BAD144 support. 1999-12-23 17:52:00 +00:00
Bruce Evans aae2ba6305 Removed vestiges of BAD144 support.
Removed -mno-486 from CFLAGS since it is no longer supported by gcc.
1999-12-23 17:48:52 +00:00
Bill Paul b6219c623c Fix minor typo in comments about WaveLAN/IEEE driver: 802.1 -> 802.11 1999-12-23 05:32:53 +00:00
Yoshinobu Inoue 6a800098cc IPSEC support in the kernel.
pr_input() routines prototype is also changed to support IPSEC and IPV6
chained protocol headers.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-22 19:13:38 +00:00
Warner Losh 3e356c0cb2 sn driver is no longer using isa_compat layer 1999-12-22 09:40:35 +00:00
David E. O'Brien 19b132d78b Turn on the sym' driver by default. It lives well beside the ncr' driver
now.  On one machine with <825a> and <875> controllers, `sym' correctly
attached.  On another one with only a <ncr 53c810 fast10 scsi>, the `ncr'
driver correctly attached.
1999-12-22 05:52:04 +00:00