summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Rename 'at_ifaddr' list to 'at_ifaddr_list' so that the variable isrwatson2004-03-226-23/+23
| | | | more easily mechanically distinguished from 'struct at_ifaddr'.
* Compare pointers with NULL rather than 0, or treating them as boolans inrwatson2004-03-226-13/+14
| | | | | | | if statements. at_rmx gets a $FreeBSD$ out of the deal also (this code appears to be unused).
* MAC addresses are 8 bits in ARCNET. Adjust bcopy().mdodd2004-03-221-2/+2
|
* Also modify ddp_input.c with the following changes previously appliedrwatson2004-03-221-90/+90
| | | | | | | | | | | | | | to other files in netatalk: Log: Since I have my hands all over netatalk adding locking and restructuring it, cinch the file's style closer to style(9) with regard to parenthesis: s/( /(/g s/ )/)/g s/return(/return (/g s/return 0/return (0)/ s/return 1/return (1)/
* Since I have my hands all over netatalk adding locking and restructuringrwatson2004-03-225-582/+582
| | | | | | | | | | it, cinch the file's style closer to style(9) with regard to parenthesis: s/( /(/g s/ )/)/g s/return(/return (/g s/return 0/return (0)/ s/return 1/return (1)/
* Dont count bytes being sent to a disconnected hook.julian2004-03-221-4/+4
| | | | MFC after: 3 days
* The Intel 2200BG NDIS driver does an alloca() of about 5000 byteswpaul2004-03-223-8/+32
| | | | | | | | | | | | | | | | | when it associates with a net. Because FreeBSD's kstack size is only 2 pages by default, this blows the stack and causes a double fault. To deal with this, we now create all our kthreads with 8 stack pages. Also, we now run all timer callouts in the ndis swi thread (since they would otherwise run in the clock ithread, whose stack is too small). It happens that the alloca() in this case was occuring within the interrupt handler, which was already running in the ndis swi thread, but I want to deal with the callouts too just to be extra safe. NOTE: this will only work if you update vm_machdep.c with the change I just committed. If you don't include this fix, setting the number of stack pages with kthread_create() has essentially no effect.
* The kthread_create() API is supposed to allow you to create threadswpaul2004-03-221-3/+4
| | | | | | | | | | | | | | | | | | | with more than the normal amount of stack pages, however the stack pointer always wound up being initialized using KSTACK_PAGES. It should be using td->td_kstack_pages instead. This means that although the vm subsystem would give you all the stack pages you asked for, %esp would always be initialized as if you had just 2 pages, and the rest would go to waste. I wanted to use the 'give me more stack pages' feature of kthread_create() because the Intel 2200BG NDIS driver does an alloca() of about 5000 bytes, which wrecks the stack with the default 2 page size, and I was baffled that no matter how much code I shoved into thread contexts with allegedly larger stacks, the thing would still crash unless I changed KSTACK_PAGES. Note: this bug is present in _ALL_ arches at this point. Peter has promised to merge this fix into all of them.
* Add an implementation of uiomove_fromphys() for i386. This implementationalc2004-03-212-0/+133
| | | | | uses sf_buf_alloc() and sf_buf_free() to create and destroy the necessary ephemeral mappings.
* Make if_ndis_pci.c and if_ndis_pccard.c use bus_alloc_resource() againwpaul2004-03-212-12/+12
| | | | | | | | instead of bus_alloc_resource_any() to restore source compatibility with 5.2-REL and 5.2.1-REL systems. bus_alloc_resource_any() doesn't really do anything besides hide some of bus_alloc_resource()'s arguments from us, and in my opinion this isn't worth breaking backwards compatibility for people who want to use the NDISulator code on 5.2.x.
* Quote NM in case you need to force it to something with args.obrien2004-03-211-1/+1
| | | | Submitted by: jmallett
* Give a more reasonable CPU time to the threads which are using schedulerobrien2004-03-211-6/+3
| | | | | | | | | | | | | activation (i.e., applications are using libpthread). This is because SCHED_ULE sometimes puts P_SA processes into ksq_next unnecessarily. Which doesn't give fair amount of CPU time to processes which are using scheduler-activation-based threads when other (semi-)CPU-intensive, non-P_SA processes are running. Further work will no doubt be done by jeffr at a later date. Submitted by: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp> Reviewed by: rwatson, freebsd-current@
* - Fix indentation lost by 'diff -b'.mdodd2004-03-211-5/+4
| | | | - Un-wrap short line.
* Fix $FreeBSD$.obrien2004-03-211-4/+4
| | | | Reported by: Daniel O'Connor <doconnor@gsoft.com.au>
* - Correct variable name.mdodd2004-03-211-2/+2
| | | | | | - Correct unnecessary use of htons(). Reported by: many.
* Massively up the (artificial) limit on system scope threadsjulian2004-03-212-4/+4
| | | | | | | in a process from 50 to 500 Also up the number of process scope threads allowed to be in the kernel at one time from 150 to 1500 (per process)
* Remove interface type specific code from arprequest(), and in_arpinput().mdodd2004-03-211-111/+19
| | | | | | | The AF_ARP case in the (*if_output)() routine will handle the interface type specific bits. Obtained from: NetBSD
* Handle AF_ARP.mdodd2004-03-211-0/+27
|
* Compile the kernel with -O2 on ia64 by default.marcel2004-03-211-0/+2
|
* Spell "(struct foo *)0" as "NULL".rwatson2004-03-214-25/+23
|
* In breakpoint(), use a different immediate to make sure we canmarcel2004-03-211-2/+3
| | | | | | | | distinguish between debugger inserted breakpoints and fixed breakpoints. While here, make sure the break instruction never ends up in the last slot of a bundle by forcing it to be an M-unit instruction. This makes it easier for use to skip over it.
* Change (yet again, sorry!) the path of the 32 bit ld-elf.so.1.peter2004-03-211-2/+2
|
* Fix another Intel 2200BG bug: don't schedule ndis_ticktask() on mediawpaul2004-03-211-1/+2
| | | | disconnect events if the link wasn't even up yet.
* - Rewrite the timer and event API routines in subr_ndis.c so that theywpaul2004-03-206-217/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are actually layered on top of the KeTimer API in subr_ntoskrnl.c, just as it is in Windows. This reduces code duplication and more closely imitates the way things are done in Windows. - Modify ndis_encode_parm() to deal with the case where we have a registry key expressed as a hex value ("0x1") which is being read via NdisReadConfiguration() as an int. Previously, we tried to decode things like "0x1" with strtol() using a base of 10, which would always yield 0. This is what was causing problems with the Intel 2200BG Centrino 802.11g driver: the .inf file that comes with it has a key called RadioEnable with a value of 0x1. We incorrectly decoded this value to '0' when it was queried, hence the driver thought we wanted the radio turned off. - In if_ndis.c, most drivers don't accept NDIS_80211_AUTHMODE_AUTO, but NDIS_80211_AUTHMODE_SHARED may not be right in some cases, so for now always use NDIS_80211_AUTHMODE_OPEN. NOTE: There is still one problem with the Intel 2200BG driver: it happens that the kernel stack in Windows is larger than the kernel stack in FreeBSD. The 2200BG driver sometimes eats up more than 2 pages of stack space, which can lead to a double fault panic. For the moment, I got things to work by adding the following to my kernel config file: options KSTACK_PAGES=8 I'm pretty sure 8 is too big; I just picked this value out of a hat as a test, and it happened to work, so I left it. 4 pages might be enough. Unfortunately, I don't think you can dynamically give a thread a larger stack, so I'm not sure how to handle this short of putting a note in the man page about it and dealing with the flood of mail from people who never read man pages.
* Don't make having ${DESTDIR}/boot/device.hints a prerequisite tomarcel2004-03-201-1/+7
| | | | installing a kernel on ia64.
* Add uart_subr.cmarcel2004-03-201-1/+1
|
* Don peril-sensitive sunglasses and add PCI Id's for two new cards. I'vescottl2004-03-201-0/+4
| | | | | | only done minimal testing on one of these cards and the firmware folks have been extremely uncooperative in answering my qeustions about them, so hopefully they will work ok for everyone.
* - Add uiomove_fromphys() implementations to alpha and ia64. These onlyalc2004-03-205-1/+267
| | | | | differ trivially from amd64. - Correct a spelling error in a comment.
* Fix loop termination condition for parsing resources in _PRS buffers.njl2004-03-201-19/+18
| | | | | | This completes the effort to handle dependent functions, which are used in some machines for irq link resources. Also, clean up some nearby comments while I'm at it.
* Introduce the cpumask_t type. The purpose of the type is to create amarcel2004-03-208-0/+8
| | | | | | | | | | | | | | | | | | | level of abstraction for any and all CPU mask and CPU bitmap variables so that platforms have the ability to break free from the hard limit of 32 CPUs, simply because we don't have more bits in an u_int. Note that the type is not supposed to solve massive parallelism, where the number of CPUs can be larger than the width of the widest integral type. As such, cpumask_t is not supposed to be a compound type. If such would be necessary in the future, we can deal with the issues then and there. For now, it can be assumed that the type is integral and unsigned. With this commit, all MD definitions start off as u_int. This allows us to phase-in cpumask_t at our leasure without breaking anything. Once cpumask_t is used consistently, platforms can switch to wider (or smaller) types if such would be beneficial (or not; whatever :-) Compile-tested on: i386
* Let ether_ifattach() announce our MAC address.mdodd2004-03-202-10/+0
| | | | Submitted by: Marius Strobl <marius@alchemy.franken.de>
* Don't announce MAC addresses twice.mdodd2004-03-204-11/+0
| | | | (ieee80211_ifattach() calls ether_ifattach().)
* Introduce uiomove_fromphys(). This is a variant of uiomove() that takesalc2004-03-203-0/+135
| | | | | a collection of physical pages as the source. On amd64 it is implemented using the direct virtual-to-physical map.
* Fix the ioctl types for two ioctls. I'm not sure if the switch was myscottl2004-03-201-2/+2
| | | | | | | fault or the vendor's fault when I brought in rev 1.5. This allows the 'storcon' utility to work again. Sponsored by: freebsdsystems.com
* Fix braino in previous commit: getenv() can return NULL.marcel2004-03-201-0/+2
|
* Put the event notification back where it was for freeBSD, after device creation.julian2004-03-201-2/+2
| | | | | | | Since NetBSD doesn't have devfs the order for them doesn't matter.. Reverses one part of 1.60->1.61 NetBSD diff reduction. Obtained from: Not NetBSD
* Replace uint64_t with unsigned long in struct dbreg.marcel2004-03-201-2/+2
|
* Actually program the list of recording devices in sv_mix_setrecsrc().marcel2004-03-201-0/+1
| | | | | | | | | | | | | This change has not been tested. This change was triggered by a gcc(1) warning on ia64 at -O2. The variable v was not used after being computed, which resulted in enough dead code elimination (DCE) to confuse the compiler and emit a bogus warning about the use of the variable i without prior definition. The variable i is the loop variable. Submitted by: des Responsibility: marcel
* Remove the last traditional hints. These hints only served the purposemarcel2004-03-201-3/+1
| | | | | | for uart(4) to figure out which device to use as console. Use this file to define hw.uart.console instead so that we don't have to put it in the default loader.conf, which makes it hard to override.
* Introduce the hw.uart.console and hw.uart.dbgport environment variablesmarcel2004-03-209-57/+305
| | | | | | | | | | | | | | | | | | | | | | | | | to select a serial console and debug port (resp). On ia64 these replace the use of hints completely and take precedence over hints on alpha, amd64 and i386. On sparc64 these variables are not yet recognised. The reasons for introducing these variables are: 1. Hints have side-effects. They reserve the unit number for use by isa or acpi devices and therefore cannot be used to select a pci device. Also, the use of a unit number to select a device prior to bus enumeration is nonsense. The new variables have no side- effects and are not based on unit numbers. 2. Hints don't have the expression power to allow the sysadmin to select UARTs that are not legacy PC devices and need the support of compile-time constants to give the sysadmin some level of flexibility. The hw.uart.console and hw.uart.dbgport variables specify a list of attributes. An attribute is a tag-value pair, seperated by a colon. Attributes are seperated by a comma. Where possible, tags are the same as those in /etc/remote (only br and pa in practice). Details can be found in the manpage (not part of this commit). Not tested on: amd64, pc98
* solid reports that it is buggy *and* that it slows down transmitsilby2004-03-191-0/+20
| | | | | | | | | speed. Buggy report: Matt Dillon & others Slowness report: I can't find the e-mail MFC After: 1 minute
* - Remove some unused #includes.alc2004-03-191-72/+58
| | | | - Apply some style fixes to mdstart_swap().
* This commit was generated by cvs2svn to compensate for changes in r127208,des2004-03-191-3/+5
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Sync with OpenBSD (two-year old bug fix)des2004-03-191-3/+5
| |
* | Delete local junk in previous commit. Sorry.obrien2004-03-191-6/+0
| |
* | Add generic support for the recent Adaptec flavors of ServeRAID.scottl2004-03-192-4/+14
| |
* | Depend on rev 1.40.obrien2004-03-191-2/+10
| | | | | | | | Submitted by: ru
* | When doing round-robin reads from a multi-plex volume, only switch to thele2004-03-193-4/+20
| | | | | | | | | | | | | | next plex if the sector to be read isn't nearby the last read sector. Submitted by: Vsevolod Lobko <seva@ip.net.ua> via ru@ Approved by: grog (mentor)
* | Diff reduction to NetBSDjulian2004-03-191-22/+35
| | | | | | | | | | | | | | Bring over sundry small fixes from NetBSD Obtained from: NetBSD MFC after: 1 week
* | Isolate PCB-specific ethertalk DDP functions in ddp_pcb.c, removing themrwatson2004-03-194-604/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from ddp_usrreq.c. Functions moved are: at_pcballoc() at_pcbconnect() at_pcbdetach() at_pcbdisconnect() at_pcbsetaddr() at_sockaddr() Also moved are ddp_ports and ddpcb, global variables associated with DDP pcbs. This makes PCB implementation more parallel to inet, inet6, and ipx.
OpenPOWER on IntegriCloud