summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
...
* | Include machine/critical.h to get missing prototypes.mux2002-06-231-0/+1
| | | | | | | | Reviewed by: tmm
* | Remove some extra spaces hidden between tabsluigi2002-06-231-15/+15
| | | | | | | | Spotted-by: diff against the version in RELENG_4
* | fix indentation, whitespace and a few comments.luigi2002-06-232-34/+31
| |
* | fix bad indentation and whitespace resulting from cut&pasteluigi2002-06-232-26/+25
| |
* | fix indentation of a commentluigi2002-06-231-1/+1
| |
* | fix a typo in a commentluigi2002-06-231-1/+1
| |
* | Remove ip_fw_fwd_addr (forgotten in previous commit)luigi2002-06-231-7/+5
| | | | | | | | remove some extra whitespace.
* | plxcard for OLDCARD isn't going to happen.imp2002-06-232-451/+0
| |
* | plxcard for OLDCARD almost certainly isn't going to happen.imp2002-06-231-1/+0
| |
* | As disclosed to arch@, make more interfaces standard. This allows forimp2002-06-231-12/+12
| | | | | | | | | | | | | | | | easier loading of modules that might refer to these interfaces. None of the code that implements them is standard, just the glue. This bloats the kernel a whopping 8k. Silence on: arch@
* | Rename the BALLOC flags from B_* to BA_* to avoid confusion with thedillon2002-06-237-48/+48
| | | | | | | | | | | | struct buf B_ flags. Approved by: mckusick
* | What:imp2002-06-235-74/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o ToPIC is happy with two cards now, even when the two cards are modems. o Fix (all?) hangs on boot when power is applied to the card. I suspect that this will make the Ricoh bridges happier and also make a lot of VAIO owners happy (confirm to me in private email please :-). o All Cardbus bridges should now support 3.3V, X.XV and Y.YV cards, to the extent that the underlying hardware supports such cards. (X.X and Y.Y haven't been assigned values yet :-). o Better 3.3V support for Ricoh ISA bridges. How: o Don't mess with the power register when scanning the cards. It is unnecessary and causes BADVcc conditions on many chipsets. These in turn can cause an interrupt storm. o Make pcic_disable reset the slot's voltage. o Move initializing voltage for the slot until after it has been disabled. o Fix a lot of issues with the pcic_cardbus_power routine. We now properly enable the card and take it out of reset after a power change. o When detecting the card's voltage, if we're in a BadVcc state, direct the bridge to rescan the card for what it supports. (we might need to in the future set the power register to 0 before doing this). o Don't preserve CLKSTOP. need to revisit this. o Better support for Ricoh ISA bridges for 3.3V cards. o Don't write to PCIC_POWER directly as offten, but instead go through the pcic_power interface. o All cardbus bridges now default to use cardbus power control. o Add misc register definitions. o remove some (now) bogus comments. Extra Special Thanks To: Scott Lamber for his kind and generous loan of a Toshiba laptop with a ToPIC 100 in it for my use.
* | o Remove the unnecessary acquisition and release of Giant around fdrop()alc2002-06-231-2/+3
| | | | | | | | in mmap(2).
* | KTR_CT* had one too many trailing zeroes, making KTR_CT5-8 too large forjake2002-06-231-8/+8
| | | | | | | | ktr_mask.
* | Fix a bug related to marking pages virtually uncacheable due to illegaljake2002-06-221-4/+4
| | | | | | | | | | | | | | dcache aliasing. A page that already had more than 1 mapping of the same virtual colour would not be correctly uncached. Noticed by: Artur Grabowski <art@openbsd.org>
* | Add additional cpuid feature flags and put into a canonical format.mp2002-06-222-36/+66
| | | | | | | | MFC after: 1 week
* | Fix several bugs in the i386 asm statements used to speed up Internetjdp2002-06-222-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | checksumming. These bugs could possibly cause bad code to be generated at elevated optimization levels. First, eliminate the use of preprocessor magic to form the address fields of asm instructions. It hid the actual addresses being referenced from the compiler. Without knowledge of all the data dependencies, the compiler might possibly use optimizations which would result in incorrect code. Use "__asm __volatile" rather than "__asm" for instruction sequences that pass information through the condition codes (the carry bit, in this case). Without __volatile, the compiler might add unrelated code between consecutive __asm instructions, modifying the condition codes. I have seen GCC insert stack pointer adjustments in this way, for example. Unfortunately, GCC doesn't provide a way to specify dependencies on the condition codes. You can specify that they are clobbered, but not that you are going to use them as input. Finally, simplify the LOAD macro. This macro is used as a poor man's prefetch. The simpler version gives the compiler more leeway about just how it performs the prefetch. MFC after: 1 week
* | This patch fixes a size problem with the stat structure formckusick2002-06-224-16/+25
| | | | | | | | | | | | | | | | | | 64-bit architectures that was introduced in the UFS2 code merge two days ago. The stat structure change that caused the problem was the addition of the file create time. Submitted by: Bruce Evans <bde@zeta.org.au> Sponsored by: DARPA & NAI Labs.
* | We don't need to check the return value of malloc() againstmux2002-06-221-14/+0
| | | | | | | | NULL when the M_WAITOK flag is specified.
* | This patch fixes a problem whereby filesystems that ranmckusick2002-06-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | out of inodes in a cylinder group would fail to check for free inodes in other cylinder groups. This bug was introduced in the UFS2 code merge two days ago. An inode is allocated by calling ffs_valloc which calls ffs_hashalloc to do the filesystem scan. Ffs_hashalloc walks around the cylinder groups calling its passed allocator (ffs_nodealloccg in this case) until the allocator returns a non-zero result. The bug is that ffs_hashalloc expects the passed allocator function to return a 64-bit ufs2_daddr_t. When allocating inodes, it calls ffs_nodealloccg which was returning a 32-bit ino_t. The ffs_hashalloc code checked a 64-bit return value and usually found random non-zero bits in the high 32-bits so decided that the allocation had succeeded (in this case in the only cylinder group that it checked). When the result was passed back to ffs_valloc it looked at only the bottom 32-bits, saw zero and declared the system out of inodes. But ffs_hashalloc had really only checked one cylinder group. The fix is to change ffs_nodealloccg to return 64-bit results. Sponsored by: DARPA & NAI Labs. Submitted by: Poul-Henning Kamp <phk@critter.freebsd.dk> Reviewed by: Maxime Henrion <mux@freebsd.org>
* | NUL terminate the ACNAME passed to userland.brian2002-06-221-3/+4
| |
* | Warning fix.mux2002-06-221-3/+3
| | | | | | | | Reviewed by: peter
* | OLDCARD version of GENERIC.imp2002-06-221-0/+243
| |
* | o Reduce the scope of Giant in vm_mmap() to just the code that manipulatesalc2002-06-221-4/+2
| | | | | | | | a vnode. (Thus, MAP_ANON and MAP_STACK never acquire Giant.)
* | Fix a bug in vfs_bio_clrbuf(). The single-page-clrbuf optimization wasdillon2002-06-221-5/+10
| | | | | | | | | | | | | | | | improperly clearing more then just the invalid portions of the page. (This bug is not known to have been triggered by anything). Submitted by: tegge MFC after: 7 days
* | o Replace mtx_assert(&Giant, MA_OWNED) in dev_pager_alloc()alc2002-06-221-11/+17
| | | | | | | | | | | | with the acquisition and release of Giant. (Annotate as MPSAFE.) o Reorder the sanity checks in dev_pager_alloc() to reduce the time that Giant is held.
* | Use rm -f in the clean target, as seems to be common practice, and also avoidsjmallett2002-06-222-2/+2
| | | | | | | | | | | | errors if no LINT exists. Submitted by: dwcjr
* | o Remove the initialization of unused fields in the structmux2002-06-223-50/+11
| | | | | | | | | | | | | | | | | | | | uio now that we don't use uiomove() anymore. o Enforce stricter checks on the length of the iov's in nmount(2) since we now malloc() them individually and corrupted iov's could make the kernel crash in malloc() with "kmem_map too small". Reviewed by: phk
* | o In vm_map_insert(), replace GIANT_REQUIRED by the acquisition andalc2002-06-221-5/+6
| | | | | | | | | | | | | | | | release of Giant around the direct manipulation of the vm_object and the optional call to pmap_object_init_pt(). o In vm_map_findspace(), remove GIANT_REQUIRED. Instead, acquire and release Giant around the occasional call to pmap_growkernel(). o In vm_map_find(), remove GIANT_REQUIRED.
* | Make this compile on Alpha.n_hibma2002-06-221-2/+2
| |
* | Clock frequencies reported by sysctl should be unsigned values. Discoveredmp2002-06-225-10/+10
| | | | | | | | | | | | | | | | when machdep.tsc_freq returned a negative number on a 2.2GHz Xeon. Submitted by: Brian Harrison <bharrison@ironport.com> Reviewed by: phk MFC after: 1 week
* | Remove (almost all) global variables that were used to holdluigi2002-06-2212-474/+532
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | packet forwarding state ("annotations") during ip processing. The code is considerably cleaner now. The variables removed by this change are: ip_divert_cookie used by divert sockets ip_fw_fwd_addr used for transparent ip redirection last_pkt used by dynamic pipes in dummynet Removal of the first two has been done by carrying the annotations into volatile structs prepended to the mbuf chains, and adding appropriate code to add/remove annotations in the routines which make use of them, i.e. ip_input(), ip_output(), tcp_input(), bdg_forward(), ether_demux(), ether_output_frame(), div_output(). On passing, remove a bug in divert handling of fragmented packet. Now it is the fragment at offset 0 which sets the divert status of the whole packet, whereas formerly it was the last incoming fragment to decide. Removal of last_pkt required a change in the interface of ip_fw_chk() and dummynet_io(). On passing, use the same mechanism for dummynet annotations and for divert/forward annotations. option IPFIREWALL_FORWARD is effectively useless, the code to implement it is very small and is now in by default to avoid the obfuscation of conditionally compiled code. NOTES: * there is at least one global variable left, sro_fwd, in ip_output(). I am not sure if/how this can be removed. * I have deliberately avoided gratuitous style changes in this commit to avoid cluttering the diffs. Minor stule cleanup will likely be necessary * this commit only focused on the IP layer. I am sure there is a number of global variables used in the TCP and maybe UDP stack. * despite the number of files touched, there are absolutely no API's or data structures changed by this commit (except the interfaces of ip_fw_chk() and dummynet_io(), which are internal anyways), so an MFC is quite safe and unintrusive (and desirable, given the improved readability of the code). MFC after: 10 days
* | Define an mbuf type, MT_TAG, used for volatile annotationsluigi2002-06-221-2/+3
| | | | | | | | | | | | prepended to mbuf chains in the network stack. Reuse a previoulsy unused value to avoid changes in other data structures.
* | Always drop the p_args reference we held for copyout, even if we're aboutmini2002-06-221-3/+2
| | | | | | | | | | | | | | to change it. This fixes a leak triggered by setproctitle(3). Approved by: alfred Noticed by: Peter Jeremy <peter.jeremy@alcatel.com.au>
* | o Replace GIANT_REQUIRED in swap_pager_alloc() by the acquisition andalc2002-06-221-3/+4
| | | | | | | | release of Giant. (Annotate as MPSAFE.)
* | o Remove GIANT_REQUIRED from phys_pager_alloc(). If handle isn't NULL,alc2002-06-221-3/+8
| | | | | | | | | | acquire and release Giant. If handle is NULL, Giant isn't needed. o Annotate phys_pager_alloc() and phys_pager_dealloc() as MPSAFE.
* | o Replace GIANT_REQUIRED in vnode_pager_alloc() by the acquisition andalc2002-06-221-6/+5
| | | | | | | | | | | | | | release of Giant. (Annotate as MPSAFE.) o Also, in vnode_pager_alloc(), remove an unnecessary re-initialization of struct vm_object::flags and move a statement that is duplicated in both branches of an if-else.
* | o Remove GIANT_REQUIRED from vslock().alc2002-06-221-1/+10
| | | | | | | | | | | | o Annotate kernacc(), useracc(), and vslock() as MPSAFE. Motivated by: alfred
* | Fix logic which resulted in missing a call to INP_UNLOCK().hsu2002-06-211-5/+2
| | | | | | | | Submitted by: jlemon, mux
* | TCP notify functions can change the pcb list.hsu2002-06-212-4/+4
| |
* | Enable cd9660 support by default.jake2002-06-211-1/+1
| |
* | Enable UFS1_AND_UFS2 support for sparc64 by default. Booting from ufs1 orjake2002-06-211-0/+2
| | | | | | | | ufs2 filesystems seems to work fine.
* | Remove CAPABILITIES from NOTESrwatson2002-06-211-2/+0
| |
* | Revert the part of Kirks UFS2 commit which added divdi3.c and moddi3.cphk2002-06-215-11/+8
| | | | | | | | to libi386, this issue was resolved already in a cleaner way.
* | This commit adds basic support for the UFS2 filesystem. The UFS2mckusick2002-06-2146-1243/+2797
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filesystem expands the inode to 256 bytes to make space for 64-bit block pointers. It also adds a file-creation time field, an ability to use jumbo blocks per inode to allow extent like pointer density, and space for extended attributes (up to twice the filesystem block size worth of attributes, e.g., on a 16K filesystem, there is space for 32K of attributes). UFS2 fully supports and runs existing UFS1 filesystems. New filesystems built using newfs can be built in either UFS1 or UFS2 format using the -O option. In this commit UFS1 is the default format, so if you want to build UFS2 format filesystems, you must specify -O 2. This default will be changed to UFS2 when UFS2 proves itself to be stable. In this commit the boot code for reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c) as there is insufficient space in the boot block. Once the size of the boot block is increased, this code can be defined. Things to note: the definition of SBSIZE has changed to SBLOCKSIZE. The header file <ufs/ufs/dinode.h> must be included before <ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and ufs_lbn_t. Still TODO: Verify that the first level bootstraps work for all the architectures. Convert the utility ffsinfo to understand UFS2 and test growfs. Add support for the extended attribute storage. Update soft updates to ensure integrity of extended attribute storage. Switch the current extended attribute interfaces to use the extended attribute storage. Add the extent like functionality (framework is there, but is currently never used). Sponsored by: DARPA & NAI Labs. Reviewed by: Poul-Henning Kamp <phk@freebsd.org>
* | o Remove GIANT_REQUIRED from vm_map_stack().alc2002-06-211-2/+0
| |
* | Update for libpcap 0.7.1fenner2002-06-211-14/+46
| | | | | | | | Originally-committed-to-wrong-repository by: fenner
* | o Remove GIANT_REQUIRED from vm_pager_allocate() and vm_pager_deallocate().alc2002-06-211-3/+0
| |
* | Add some #define's for mbuf annotations.luigi2002-06-201-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the comment in the code says, eventually there will be a proper data structure (e.g NetBSD's struct m_tag) to store chains of annotations, and mbuf-handling procedures will handle these chains in the correct way. Right now, these chains do not exist, and we just use the constants defined here to implement simple ad-hoc solutions to remove some global variables used so far to pass around informations about packets being processed. Global variables are not only ugly and make the code unreadable, they also prevent from using parallelism in network stack processing. (the 3-days MFC only refers to this commit, i.e. the PACKET_TAG_* constants; the full mechanism will be committed and MFC'ed on a longer timescale). MFC after: 3 days
* | {f,s}usword -> {f,s}uword16. Implement {f,s}uword32.jake2002-06-202-46/+94
| | | | | | | | Requested by: peter
OpenPOWER on IntegriCloud