summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Getaddrinfo(), getnameinfo(), and etc support in libc/net.shin1999-12-281-1/+1
| | | | | | | Several udp and raw apps IPv6 support. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
* This commit adds device driver support for the ADMtek AN986 Pegasuswpaul1999-12-2822-24/+1888
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Two nits and disable isa probe due to its overly agressive claiming ofimp1999-12-282-4/+4
| | | | | | | | | | | | devices. o Return ENXIO from sn_isa_probe o Fix SN_DEBUG printf o Use IFQ_MAXLEN rather than 8 I'll fix the isa probe when I get access to a real isa attachment device to test against here in a few days. Overly agressive snagging behavior noticed by: phk
* Add ipsec_esp option to files which depend on crypto.shin1999-12-271-15/+15
| | | | | | Now you can build a kernel which support IPsec message authentication but don't support message encryption, by defining IPSEC in your kernel config file and not defining IPSEC_ESP.
* Fix typo "," vs ";"peter1999-12-272-2/+2
| | | | | PR: 15696 Submitted by: Takashi Okumura <taka@cs.pitt.edu>
* Fixed namespace pollution in rev.1.24 (don't implement <sys/signal.h> here).bde1999-12-271-4/+5
| | | | Fixed long lines.
* Synced with sys/isa/sio.c rev 1.282.kato1999-12-272-10/+96
|
* Synced with sys/i386/isa/clock.c rev 1.148. This is a cosmetic changekato1999-12-273-12/+48
| | | | | because PC-98 doesn't have RTC and RTC related code is included by `#ifndef PC98' and `#endif'.
* Synced with sys/i386/conf/Makefile.i386 rev 1.169.kato1999-12-272-22/+8
|
* Synced with Makefile.i386. The following cleanups in Makefile.i386bde1999-12-272-6/+6
| | | | | | | | | | rev.1.168 should have been committed concurrently: Fixed some style bugs (always use precisely 1 space after `:' in dependency specifications). Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}. Reminded by: peter
* This should have been committed with related changes to .c files.bde1999-12-271-1/+1
| | | | | | | | | 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.
* Changed the type used to represent the user stack pointer from `long *'bde1999-12-274-20/+20
| | | | | | | | 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.
* Fixed some type mismatches. p_retval[0] in struct proc has typebde1999-12-274-36/+44
| | | | | | register_t, so pointers to it must be passed around as `register_t *', not as `int *'. The type mismatches were non-benign on alphas, but the broken code is normally only configured by LINT.
* Connect up the bootforth glue and compile it, but don't initialize itpeter1999-12-271-3/+13
| | | | | | at runtime as it has a nasty habit of crashing on the Alpha :-(. This is being done this way so we have a common starting point for debugging.
* Add in missing ENABLE TARGET MODE opcode.mjacob1999-12-271-0/+2
|
* Include opt_nfs.hpeter1999-12-271-0/+1
| | | | | PR: 15711 Submitted by: Wilko Bulte <wilko@yedi.iaf.nl>
* Zap the kvm_kernel.db juggling at 'make install' time, it isn't neededpeter1999-12-272-14/+0
| | | | any more.
* Zap kvm_kernel.db stuff now that libkvm gets it directly from the runningpeter1999-12-273-21/+0
| | | | kernel.
* Correct an uninitialized variable use, which, unlike most times, isgreen1999-12-271-4/+2
| | | | | | | actually a bug this time. Submitted by: bde Reviewed by: bde
* Recognize the GVC0505 (GVC 56k Faxmodem) as a sio device.peter1999-12-272-0/+2
| | | | Obtained from: Dan J Fraser <dfraser@capybara.org> (for NetBSD)
* Add support of SB for PC98 into VoxWare 3.5, and more $FreeBSD$.tanimura1999-12-276-1/+85
| | | | | Submitted by: T.Yamaoka <taka@windows.squares.net> Pressed to review by: nyan
* Fixed stripping of aout debugging kernels.bde1999-12-263-12/+12
| | | | | | Fixed some style bugs (always use precisely 1 space after `:' in dependency specifications). Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}.
* Don't include <isa/isavar.h> or compile code depending on it when isabde1999-12-268-2/+42
| | | | | | 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.
* Updated a comment to match code.bde1999-12-261-1/+1
|
* Removed unused includes.bde1999-12-261-26/+12
| | | | | | | Rumoved unused compatibility cruft for dup(). Using it today would just break dup() on fd's >= 64. Fixed some style bugs.
* Use vfs_timestamp() instead of getnanotime() to set timestamps. Thisbde1999-12-261-3/+4
| | | | | | | fixee incoherency of pipe timestamps relative to file timestamps in the usual case where getnanotime() is not used for the latter. (File and pipe timestamps are still incoherent relative to real time unless the vfs_timestamp_precision sysctl is set to 2 or 3).
* Replaced the INTRMASK and INTRUNMASK macros by "|" and "&~" operations.bde1999-12-266-16/+8
| | | | | | 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.
* Fixed breakage of read-only opening of /dev/*mem at securelevel > 0 inbde1999-12-262-6/+8
| | | | | | | | previous pair of commits. Spell the "securelevel > 0" check consistently. Use the proc arg instead of curproc in mmopen() and mmclose().
* Fix a mistake in the PNP EISA-encoding of the Avance ALS120 id.peter1999-12-261-1/+1
| | | | Submitted by: Bryan Liesner <bleez@netaxs.com>
* Oops, deactivate ed drivers because of undefiend references fromkato1999-12-262-22/+22
| | | | if_ed_pci.o.
* Added Allied Telesis SIU-98-D support.kato1999-12-263-25/+42
| | | | | | Submitted by: Isizu Takaaki <isizu-t01@aso-group.co.jp> chi@bd.mbn.or.jp (Chiharu Shibata) (w/ minor change by kato)
* - Cut down amount of memory in 64MB when BIOS tells the amount ofkato1999-12-262-2/+18
| | | | | | | | | memory >= 64MB. - Don't perform destructive memory inspection for 15 - 16MB system area. Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp> chi@bd.mbn.or.jp (Chiharu Shibata)
* Fixed races accessing the RTC. The races apparently causedbde1999-12-255-20/+80
| | | | | | | | | | | | | | | 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
* Fix the firmware build number output (again).msmith1999-12-251-1/+1
|
* Don't pass u_int32_t pointers to BUS_READ_IVAR since it tends to makedfr1999-12-243-9/+9
| | | | alphas panic.
* * Set the devclass of a device before calling the probe method. This allowsdfr1999-12-241-1/+12
| | | | | device_printf() etc. to print something intelligible. * Allow device_set_devclass(dev, 0) for clearing the devclass.
* Fixed a cast of a pointer to an integer of a possibly different size.bde1999-12-243-8/+8
| | | | | Fixed casts of non-`void *' pointers to uintptr_t. Fixed related style bugs. This file uses perfectly non-KNF formatting for casts.
* Removed unnecessary const poisoning (redundant casting) which was addedbde1999-12-241-2/+2
| | | | in rev.1.4.
* Merge from sys/i386/conf/files.i386 rev 1.293.kato1999-12-242-28/+28
|
* Merge from sys/i386/conf/GENERIC rev 1.218 & 1.219.kato1999-12-242-4/+4
|
* Removed -mno-486 from CFLAGS.kato1999-12-241-1/+0
|
* Cosmetic fix; get the firmware build code and customisation tag themsmith1999-12-241-1/+1
| | | | | | right way around. Submitted by: "Chris D. Faulhaber" <jedgar@fxp.org>
* Update config rules for making {linux|svr4}_assym.hmarcel1999-12-232-20/+20
| | | | Assembler symbols are now made using genassym(1).
* Use genassym(1) and <sys/assym.h> to generate assembler symbols.marcel1999-12-232-28/+9
|
* Use genassym(1) and <sys/assym.h> to generate assembler symbols.marcel1999-12-233-44/+13
|
* o Define `offsetof' when not already defined,marcel1999-12-231-5/+10
| | | | | | | o Define ASSYM(sym, v) as the primary macro to use, o Define ASSYM_SELF and ASSYM_OFFSET in terms of ASSYM, Psychological manipulation by: bde <grin>
* Fix problem reported by Matt Dillon. Occasionally, very small receivedwpaul1999-12-231-1/+14
| | | | | | | | | | frames would be handled incorrectly due to bad usage of m_pullup() in the case where the frame wraps from the end of the receive buffer back the beginning. Also, when manually extending small packets to pad them to the minimum frame length during transmission, zero out the pad area to make some really paranoid people happy.
* Removed vestiges of BAD144 support.bde1999-12-231-1/+2
|
* Removed vestiges of BAD144 support.bde1999-12-232-4/+1
| | | | Removed -mno-486 from CFLAGS since it is no longer supported by gcc.
* Fixed missing declarations of futimes(2) and lutimes(2).bde1999-12-232-0/+4
|
OpenPOWER on IntegriCloud