summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rework the rl_encap failure case. Previously, we would stuff thesilby2003-04-151-3/+3
| | | | | | | | | | | | | unencapsulated packet back into the IFQ. Unfortunately, the only reason rl_encap would fail was due to m_defrag failing, which should only happen when we're low on mbufs. Hence, it was possible for us to end up with an IFQ full of packets which could never clear the queue because they could never be defragmented because they were themselves taking up all the mbufs. To solve this, take if_xl's approach to the problem of encapsulation failure: drop the packet. MFC after: 3 days
* style(9)mux2003-04-152-4/+4
|
* Add a description of m_defragrandomfailures.silby2003-04-151-0/+4
|
* Add another MBUF_STRESS_TEST feature, m_defragrandomfailures.silby2003-04-151-0/+15
| | | | | | | When enabled, this causes m_defrag to randomly return NULL (following its normal failure case so that extra memory leaks are not introduced.) Code similar to this was used to find / fix a few bugs last week.
* Update locking on the kmem_object to use the new macros.alc2003-04-151-7/+7
|
* Add MAC_ALWAYS_LABEL_MBUF to options; this permits the administratorrwatson2003-04-141-1/+7
| | | | | | | | | | | | | | | to force the allocation of MAC labels for all mbufs regardless of whether a configured policy requires labeling when the mbuf is allocated. This can be useful it you anticipate loading a fully labeled policy after boot and don't want mbufs to exist without label storage, for performance measurement purposes, etc. It also slightly lowers the overhead of m_tag labeling due to removing the decision logic. While here, improve commenting of other MAC options. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Move MAC label storage for mbufs into m_tags from the m_pkthdr structure,rwatson2003-04-1418-200/+1118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | returning some additional room in the first mbuf in a chain, and avoiding feature-specific contents in the mbuf header. To do this: - Modify mbuf_to_label() to extract the tag, returning NULL if not found. - Introduce mac_init_mbuf_tag() which does most of the work mac_init_mbuf() used to do, except on an m_tag rather than an mbuf. - Scale back mac_init_mbuf() to perform m_tag allocation and invoke mac_init_mbuf_tag(). - Replace mac_destroy_mbuf() with mac_destroy_mbuf_tag(), since m_tag's are now GC'd deep in the m_tag/mbuf code rather than at a higher level when mbufs are directly free()'d. - Add mac_copy_mbuf_tag() to support m_copy_pkthdr() and related notions. - Generally change all references to mbuf labels so that they use mbuf_to_label() rather than &mbuf->m_pkthdr.label. This required no changes in the MAC policies (yay!). - Tweak mbuf release routines to not call mac_destroy_mbuf(), tag destruction takes care of it for us now. - Remove MAC magic from m_copy_pkthdr() and m_move_pkthdr() -- the existing m_tag support does all this for us. Note that we can no longer just zero the m_tag list on the target mbuf, rather, we have to delete the chain because m_tag's will already be hung off freshly allocated mbuf's. - Tweak m_tag copying routines so that if we're copying a MAC m_tag, we don't do a binary copy, rather, we initialize the new storage and do a deep copy of the label. - Remove use of MAC_FLAG_INITIALIZED in a few bizarre places having to do with mbuf header copies previously. - When an mbuf is copied in ip_input(), we no longer need to explicitly copy the label because it will get handled by the m_tag code now. - No longer any weird handling of MAC labels in if_loop.c during header copies. - Add MPC_LOADTIME_FLAG_LABELMBUFS flag to Biba, MLS, mac_test. In mac_test, handle the label==NULL case, since it can be dynamically loaded. In order to improve performance with this change, introduce the notion of "lazy MAC label allocation" -- only allocate m_tag storage for MAC labels if we're running with a policy that uses MAC labels on mbufs. Policies declare this intent by setting the MPC_LOADTIME_FLAG_LABELMBUFS flag in their load-time flags field during declaration. Note: this opens up the possibility of post-boot policy modules getting back NULL slot entries even though they have policy invariants of non-NULL slot entries, as the policy might have been loaded after the mbuf was allocated, leaving the mbuf without label storage. Policies that cannot handle this case must be declared as NOTLATE, or must be modified. - mac_labelmbufs holds the current cumulative status as to whether any policies require mbuf labeling or not. This is updated whenever the active policy set changes by the function mac_policy_updateflags(). The function iterates the list and checks whether any have the flag set. Write access to this variable is protected by the policy list; read access is currently not protected for performance reasons. This might change if it causes problems. - Add MAC_POLICY_LIST_ASSERT_EXCLUSIVE() to permit the flags update function to assert appropriate locks. - This makes allocation in mac_init_mbuf() conditional on the flag. Reviewed by: sam Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Correct style bugs. Don't skip zombies in cputime(), according to Bruce,charnier2003-04-141-58/+42
| | | | | | zombie CPU times are valid. Adjust array size in strftime(3). Submitted by: Bruce
* Abstract access to the mbuf header label behind a new function,rwatson2003-04-149-225/+720
| | | | | | | | | | mbuf_to_label(). This permits the vast majority of entry point code to be unaware that labels are stored in m->m_pkthdr.label, such that we can experiment storage of labels elsewhere (such as in m_tags). Reviewed by: sam Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add CPUTYPE support for "athlon-tbird", as GCC makes the distinction.obrien2003-04-141-1/+1
| | | | | PR: 50801 Submitted by: Glenn Johnson <glennpj@charter.net>
* Use MBTOM() to convert mbuf allocator flags to malloc() flags, ratherrwatson2003-04-142-5/+3
| | | | | | | than using the same compare/substitute in many places. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Use pci_enable_{busmaster|io}() instead of directly writing intosobomax2003-04-141-3/+3
| | | | | | PCI configuration register. Submitted by: mdodd
* kbdcontrol.c rev. 1.35 and onwards support the KEYMAP_PATHru2003-04-141-1/+5
| | | | environment variable, and don't need to be bootstrapped.
* Use while (*controlp != NULL) instead of do ... while (*control != NULL)cognet2003-04-141-2/+1
| | | | | | There are valid cases where *controlp will be NULL at this point. Discussed with: dwmalone
* Use a sim for each device on it's own instead of one for all umassticso2003-04-141-145/+62
| | | | | | | | devices. This reduces complexity and fixes a number of small problems. Approved by: gallatin (mentor) Reviewed by: njl
* Panic if bus_dmamap_load() doesn't respect maxsegsz.simokawa2003-04-141-3/+9
|
* add EHCI (USB 2.0) controller support.ticso2003-04-149-0/+3610
| | | | | | Approved by: joe gallatin (mentor) Obtained from: NetBSD
* Restore delayed load support for the resource shortage case.simokawa2003-04-142-6/+54
| | | | | | | It was missed in the previous change. Now, _bus_dmamap_load_buffer() accepts BUS_DMA_WAITOK/BUS_DMA_NOWAIT flags. Original idea from: jake
* Merge in vfprintf.c rev. 1.58.tjr2003-04-141-9/+11
|
* Add a test case for printf("%5.0f", 0.001).das2003-04-141-0/+2
|
* Fix a bug where printf was erroneously printing a decimal point fordas2003-04-141-8/+10
| | | | | | | | | %f and sufficiently short %g specifiers where the precision was explicitly zero, no '#' flag was specified, and the floating point argument was > 0 and <= 0.5. While at it, add some comments to better explain the relevant bits of code. Noticed by: Christoph Kukulies <kuku@physik.rwth-aachen.de>
* Before attaching device set PCIM_CMD_PORTEN in addition tosobomax2003-04-141-2/+2
| | | | | | PCIM_CMD_MEMEN and PCIM_CMD_BUSMASTEREN, becaise some braindead BIOSes (such as one found in my vprmatrix notebook) forget to initialize it properly resulting in attachment failure.
* Avoid off_t -> integer overflow when sorting the locksector addresses.phk2003-04-141-1/+1
|
* More correct patch: Only call biofinish if we have not already sentphk2003-04-142-2/+36
| | | | any children down the mesh.
* o Skip timestamp part when checking payload.maxim2003-04-141-2/+8
| | | | | PR: bin/50909 Submitted by: Barney Wolff <barney@lab.databus.com>
* Call biofinish() also when we get a malloc() failure.phk2003-04-142-8/+2
|
* Uncomment the description of the -f option. Add rfork() to the list oftjr2003-04-141-9/+10
| | | | | | system calls it displays stats about. PR: 50924
* Reimplement the vmstat -f option (display fork statistics).tjr2003-04-141-15/+17
| | | | | PR: 50924 Submitted by: Ken Stailey (with a few changes)
* * Use _bus_dmamap_load_buffer() and respect maxsegsz in bus_dmamap_load().simokawa2003-04-142-238/+60
| | | | | | | | Ignoring maxsegsz may lead to fatal data corruption for some devices. ex. SBP-2/FireWire We should apply this change to other platforms except for sparc64. MFC after: 1 week
* Update locking on the kernel_object to use the new macros.alc2003-04-142-6/+6
|
* Lock some manipulations of the vm object's flags.alc2003-04-131-0/+2
|
* Update the list of devices supported to match the driver.silby2003-04-131-5/+7
| | | | MFC after: 2 days
* Add info on how to use the MBUF_STRESS_TEST options. (Only 1 optionsilby2003-04-131-0/+11
| | | | at present.)
* Use symbolic constants from <sys/diskmbr.h> instead of local constants.phk2003-04-132-15/+23
| | | | | | | | | | | | | | | | | | Always set the magic sequence when we write, rather than trusting the previously read boot code to do so. Use explicit encoding/decoding of little endian disk image. Remove a comment which was OBE. Change the test vector for "fdisk -I" to reflect that there is a magic sequence in the result now. Add test case for "fdisk" which reads the image back. At least for the two test-cases this program now gives the same result on sparc64 as on i386. The lack of an installed /boot/mbr on sparc64 raises an (un)interesting question.
* - Move the routine for flushing all user mappings from the tlb from pmap tojake2003-04-139-158/+102
| | | | | | | | | | | | the cpu dependent files. It will need to be done differently for USIII. - Simplify the logic for detecting context rollovers. Instead of dealing with it when the next context switch would cause the context numbers to rollover, deal with it when they actually do rollover. - Move some things around in cpu_switch so that we only do 1 membar #Sync when switching address space, instead of 2. - Detect kernel threads by comparing the new vm space to vmspace0, instead if checking if the tlb context is 0. - Removed some debug code.
* Add definitions for location of the magic sequence and the lengthphk2003-04-131-1/+5
| | | | of a partition entry.
* Pull in the encoding/decoding functions for struct dos_partition.phk2003-04-132-0/+30
| | | | Add a very simple regression test for "fdisk -I".
* Made vmspace0 non-static. Its useful to be able to identify a vmspace asjake2003-04-132-1/+2
| | | | the kernel vmspace.
* Lock some manipulations of the vm object's flags.alc2003-04-132-4/+6
|
* Lock some manipulations of the vm object's flags.alc2003-04-132-9/+9
|
* Add sbsh(4) entry.bmah2003-04-132-2/+8
|
* New release notes: sbsh(4), mixer(8) relative adjustments,bmah2003-04-132-0/+38
| | | | mount_nfs(8) noinet4/noinet6, usbhidaction(1), xargs(1) -o.
* Add new macros for locking and unlocking a vm object.alc2003-04-131-0/+3
|
* yacc(1) with skeleton.c rev. 1.29 in HEAD and rev. 1.28.2.1 in RELENG_4,ru2003-04-131-2/+7
| | | | and onwards, are believed to not require bootstrapping.
* xargs.c rev. 1.10 in HEAD and rev. 1.9.2.1 in RELENG_4,ru2003-04-131-1/+6
| | | | and onwards, have support for the -J option we need.
* elf2aout.c,v 1.6 and onwards have no known backward compatibility issues.ru2003-04-131-3/+4
|
* Since dynamic allocation of device major numbers so far have notphk2003-04-131-1/+0
| | | | | resulted in any earthquakes, civil wars or early onset hair-loss, I think we can do without the printf announcing the assigned number.
* uudecode.c rev. 1.23 in HEAD and rev. 1.13.2.3 in RELENG_4,ru2003-04-131-1/+8
| | | | and onwards, have no known backwards compatibility issues.
* Only create directories that are really needed.ru2003-04-131-28/+26
|
* Oops. Back out a style "fix" in the previous commit. SRCS must be definedbde2003-04-131-0/+1
| | | | | although there is only one file in it because the file is misnamed main.c so the default of isdntest.c doesn't work.
OpenPOWER on IntegriCloud