summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* The getpages VOP was a good stab at getting scatter/gather I/O withoutphk2004-09-192-293/+5
| | | | | | | | | | | | | | | too much kernel copying, but it is not the right way to do it, and it is in the way for straightening out the buffer cache. The right way is to pass the VM page array down through the struct bio to the disk device driver and DMA directly in to/out off the physical memory. Once the VM/buf thing is sorted out it is next on the list. Retire most of vnode method. ffs_getpages(). It is not clear if what is left shouldn't be in the default implementation which we now fall back to. Retire specfs_getpages() as well, as it has no users now.
* MFamd64/i386alc2004-09-191-1/+2
| | | | Avoid recomputing PHYS_TO_VM_PAGE() unnecessarily in pmap_protect().
* MFp4:marcel2004-09-198-199/+353
| | | | | | Completely remove the remaining EFI includes and add our own (type) definitions instead. While here, abstract more of the internals by providing interface functions.
* Remove an outdated assertion from _pmap_allocpte(). (When vm_page_alloc()alc2004-09-193-9/+0
| | | | | succeeds, the page's queue field is unconditionally set to PQ_NONE by vm_pageq_remove_nowakeup().)
* Put in a commented out ispfw device under isp and note that this is usuallymjacob2004-09-191-0/+1
| | | | a module.
* Release the page queues lock earlier in pmap_protect() and pmap_remove() inalc2004-09-183-16/+13
| | | | order to reduce contention.
* Remove useless include of <machine/fpu.h>.marcel2004-09-182-4/+0
|
* Add Sitecom's LN-029 USB 2.0 Ethernet adapter.iedowse2004-09-182-0/+5
|
* Add support for the fxp(4) based card in ICH6 (i915) chipsets.mux2004-09-181-0/+1
| | | | | | This is a RELENG_5 candidate. Submitted by: Mike Tancsa <mike@sentex.net>
* pass in pointer to m_head to re_encap because m_defrag could free thejmg2004-09-181-13/+13
| | | | | | | original mbuf causing a free'd mbuf passed to bpf later and panic'ing the system.. This should only effect jumbo frames. MFC after: 5 days
* Single concat or striped plexes don't need no special initializationle2004-09-182-3/+21
| | | | if their subdisks are all available, so let them be brought up.
* Initialize new ttys a bit more.phk2004-09-181-8/+22
| | | | Check TS_GONE flag for gone-ness.
* Use tty->t_sc to find out softc.phk2004-09-182-12/+11
|
* Re-vamp how I/O is handled in volumes and plexes.le2004-09-189-663/+772
| | | | | | | | | | Analogous to the drive level, give each volume and plex a worker thread that picks up and processes incoming and completed BIOs. This should fix the data corruption issues that have come up a few weeks ago and improve performance, especially of RAID5 plexes. The volume level needs a little work, though.
* Actually this order (unlock, wakeup) in this case is race-safe and canpjd2004-09-181-1/+1
| | | | | | save us 2 context switches. Explained by: njl
* Log the renaming of an interface. This should make it easier to followbrooks2004-09-181-0/+3
| | | | kernel log files.
* A long, long time ago in a CVS branch far away (specifically, HEAD priorjhb2004-09-182-6/+6
| | | | | | | | | | | | | to 4.0 and RELENG_3), the BTX mini-kernel used paging rather than flat mode and clients were limited to a virtual address space of 16 megabytes. Because of this limitation, boot2 silently masked all physical addresses in any binaries it loaded so that they were always loaded into the first 16 Meg. Since BTX no longer has this limitation (and hasn't for a long time), remove the masking from boot2. This allows boot2 to load kernels larger than about 12 to 14 meg (12 for non-PAE, 14 for PAE). Submitted by: Sergey Lyubka devnull at uptsoft dot com MFC after: 1 month
* MFi386: revision 1.56 (Add -fno-unit-at-a-time to CFLAGS).nyan2004-09-181-0/+1
|
* Move makectx() after kdb_cpu_trap(), so the PCB will have possible MDmarcel2004-09-171-4/+4
| | | | corrections made to the trapframe. This is more logical.
* Fix an issue with ng_tty which (ab)used the tty->t_sc field which isphk2004-09-173-10/+13
| | | | | | reserved for the device drivers: Add a t_lsc field for line discipline private use.
* Provide our own FPSWA definitions, instead of depending on the Intelmarcel2004-09-174-50/+55
| | | | | | EFI headers and put them all in <machine/fpu.h>. The Intel EFI headers conflict with the Intel ACPI headers (duplicate type definitions), so are being phased out in the kernel.
* Remove useless inclusion of <machine/fpu.h>marcel2004-09-171-1/+0
|
* - Remove advertising clause from copyright [1]glebius2004-09-174-32/+4
| | | | | | - Change my email to glebius@FreeBSD.org Requested by: ru [1]
* Fix compiler warnings, when __stdcall is #defined, by adding explicit casts.bms2004-09-172-2/+2
| | | | | | | | | | These normally only manifest if the ndis compat module is statically compiled into a kernel image by way of 'options NDISAPI'. Submitted by: Dmitri Nikulin Approved by: wpaul PR: kern/71449 MFC after: 1 week
* Fix compilation again.phk2004-09-171-3/+0
|
* The long dead hand of the past has pushed forward useless bits in thisimp2004-09-174-28/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | driver. Trim its fingernails by removing some useless bits before fixing the 'thread not terminated on detach' problem. o dmacnt is no longer used now that we allocate at attach time. Remove it from struct fdc_data. o ISPNP was only ever set, but never tested. It used to be used for the allocation routines to change how it allocated resources. Since that's no longer necessary, retire the flag. o ISPCMICA was only ever tested, but never set. GC it. This removes a special case in determining the drive type. The drive type is now set in fdc_pcmcia.c, so the hack isn't needed anymore. Sadly, this isn't tested with a Y-E Data pcmcia floppy drive because there are a number of other issues that preclude it from working. o Fix ifdef for reading from the rtc. I'm of the opinion that this ifdef should be moved into fdc_isa.c, but not today as ideally there'd be other fixes to the probing of children. So now we just read it on i386 ! pc98 (there's no #define for MACHINE_ARCH, just MACHINE, hence this slightly inelegant kludge) and amd64. The PC98 exclusion likely isn't meaningful since pc98 uses a different driver, but will be when merging of the pc98 floppy code into this driver is complete (this is the other reason I think this block of code belongs outside fdc.c). All of these changes are safe to MT5.
* Overhaul ucom serial driver by using generic stuff instead of homerolledphk2004-09-175-440/+154
| | | | all over the place.
* Add ttyopen and ttyclose functions which will do the right stuff forphk2004-09-171-0/+97
| | | | | | | most if not all of our tty drivers in the future. Centralizing this stuff enables us to remove about 100 lines of almost but not quite perfectly copy&paste code from each tty driver.
* forward declare struct cdev, not cdevsw;phk2004-09-171-1/+1
|
* Allocate tty at attach time instead of open time.phk2004-09-171-9/+17
|
* Be slightly less bogus in struct tty allocation.phk2004-09-171-3/+2
|
* Use tty->t_sc, ttyalloc() and lock/init termios from struct tty.phk2004-09-172-142/+114
|
* Include <sys/malloc.h> to satisfy new isa_dma stuff.phk2004-09-172-0/+2
|
* Pass the idea of the make(1) binary to use down to newvers.sh.ru2004-09-172-2/+2
| | | | | | | | | | | | | This is necessary so source upgrades use the correct binary. MFC after: 3 days For the record: Problem spotted by Scott Long, who mentioned that source upgrades from 4.7 to recent 5.x and 6.0 are broken. Detailed analysis shows that 4.7 has a broken make(1) binary. A breakage was fixed in RELENG_4 in make/main.c,v 1.35.2.7 by imp@, though the commit log erroneously stated "MFC 1.68" while in fact it should have been spelled as "MFC 1.67".
* Add various stuff to struct tty and surounding areas in preparationphk2004-09-172-0/+28
| | | | for getting stuff from P4::phk_tty into -current.
* Use ttyalloc() instead of ttymalloc(NULL)phk2004-09-177-7/+7
|
* Add ttyalloc() which in due time will be the successor to ttymalloc(),phk2004-09-172-0/+8
| | | | but without the "struct tty *" argument.
* Commit patch to supress spurious link change events. Apparently, withwpaul2004-09-171-2/+11
| | | | | | | | | | | | | | | | | | | | | | | copper NICs, a link change event is posted whenever MII autopolling is toggled off and on, which happens whenever someone calls bge_miibus_readreg() or bge_miibus_writereg() to access the PHY registers. This means anytime someone called the SIOCGIFMEDIA ioctl on a bge interface, the link would reset. Even a simple "ifconfig bge0" would do it, though other apps like dhclient or the PPPoE daemon could trigger it as well. An obvious symptom of this problem is lots of "bgeX: gigabit link up" messages appearing on the console for no apparent reason. Through experimentation, I determined that when a real link change event occurs, the BGE_MIMODE_AUTOPOLL in the BGE_MI_MODE register is always set, so now if we have a copper NIC and an link change event occurs and the BGE_MIMODE_AUTOPOLL bit is clear, we ignore the event. Note that this does not apply to the original BCM5700 chip since we use a different method for sensing link changes with that chip (the status block method was broken), nor to fiber optic NICs since they don't use the GMII PHY access registers.
* Handle _FDE results of 5 bytes (vs. 5 uint32_t's). BIOS vendors find yetnjl2004-09-171-37/+54
| | | | | | | | | | another way to misinterpret the spec. Also, always fall back to the hints probe on any attach failure, not just when _FDE fails. Thanks to imp and scottl for finding this. Tested by: rwatson (minimally) MFC after: 5 days
* Destroy global tapmtx when the if_tap module is unloaded.rwatson2004-09-171-0/+2
| | | | RELENG_5 candidated.
* Break out altq_enable/disable from DIOC{START,STOP}ALTQ into sepratemlaier2004-09-171-41/+83
| | | | | | | | | | functions that can be called from enable/disable pf as well. This improves switching from non-altq ruleset to altq ruleset (and the other way 'round) by a great deal and makes pfctl act like the user would except it to. PR: kern/71746 Tested by: Aurilien "beorn" Rougemont (PR submitter) MFC after: 3 days
* - Make md(4) 64-bit clean.pjd2004-09-162-163/+91
| | | | | | | | | After this change it should be possible to use very big md(4) devices. - Clean up and simplify the code a bit. - Use humanize_number(3) to print size of md(4) devices. - Add 't' suffix which stands for terabyte. - Make '-S' to really work with all types of devices. - Other minor changes.
* There is no need to keep 'npage' value inside our softc structure,pjd2004-09-161-8/+8
| | | | | | | it is only used in one function. While doing so, change its type to vm_ooffset_t. We are still limited for swap-backed devices to 16TB on 32-bit architectures where PAGE_SIZE is 4096 bytes.
* Attach ng_netflow to kernel build.glebius2004-09-165-0/+16
| | | | Approved by: julian (mentor)
* A netgraph node implementing Netflow version 5.glebius2004-09-164-0/+1670
| | | | | Supported by: Bestcom ISP, Rinet ISP Approved by: julian (mentor)
* Allocate tty at attach time rather than open time.phk2004-09-161-49/+43
| | | | | | | | Use the init/lock*in/out fields in struct tty and remove them from our softc. Use tty->t_sc to find out softc when convenient. Mostly OK'ed by: bde
* - Do not use bio_pblkno as it is going away anyway.pjd2004-09-161-13/+14
| | | | - Prefer bio_length than bio_bcount.
* First wakeup, then unlock.pjd2004-09-161-2/+1
|
* Type 'int' is too small for 'i' and 'lastp' variables. Use proper type,pjd2004-09-161-2/+2
| | | | which is vm_pindex_t (unsigned 64bit on i386).
* Fix an out of bounds write during the initialization of the PF_INET protocolandre2004-09-161-4/+14
| | | | | | | | | family to the ip_protox[] array. The protocol number of IPPROTO_DIVERT is larger than IPPROTO_MAX and was initializing memory beyond the array. Catch all these kinds of errors by ignoring protocols that are higher than IPPROTO_MAX or 0 (zero). Add more comments ip_init().
OpenPOWER on IntegriCloud