summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Replace B_PHYS conditional assignment to bio_offset with KASSERT checkphk2003-11-121-2/+7
| | | | to see that the originating code already did it right.
* Don't mess around with spare fields of public structures.phk2003-11-121-1/+0
|
* Don't mess about with spare fields in public structures.phk2003-11-121-1/+0
|
* Make sure to return errors if we have any.phk2003-11-121-1/+1
| | | | Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* Double length of node names, hook names, command strings and types. Addharti2003-11-122-6/+16
| | | | | | | | | | defines for these constants that include the trailing NUL byte. These new constants have SIZ in their name instead of LEN. As soon as all consumers in the tree are converted to use the new defines the old defines will be put under BURN_BRIDGES. Reviewed by: archie, julian, ru Approved by: re (in principle)
* Update the five files derived from /sys/kern/syscalls.mastermckusick2003-11-125-50/+75
| | | | | | | | | after the additions made for the new statfs structure (version 1.157). These must be updated in a separate checkin after syscalls.master has been checked in so that they reflect its new CVS identity. As these are purely derived files, it is not clear to me why they are under CVS at all. I presume that it has something to do with having `make world' operate properly.
* Update the statfs structure with 64-bit fields to allowmckusick2003-11-127-45/+651
| | | | | | | | | | | | | | | | | accurate reporting of multi-terabyte filesystem sizes. You should build and boot a new kernel BEFORE doing a `make world' as the new kernel will know about binaries using the old statfs structure, but an old kernel will not know about the new system calls that support the new statfs structure. Running an old kernel after a `make world' will cause programs such as `df' that do a statfs system call to fail with a bad system call. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Tim Robbins <tjr@freebsd.org> Reviewed by: Julian Elischer <julian@elischer.org> Reviewed by: the hoards of <arch@freebsd.org> Sponsored by: DARPA & NAI Labs.
* Minor diff reduction with p4imp2003-11-121-1/+1
|
* Fix a harmless typo (use of res instead of rle: if rle is NULL, we'dimp2003-11-121-3/+4
| | | | | | | still get a panic, just not a nice message) and update to new __FBSDID. Submitted by: charnier@
* avoid module name conflict with opencrypto/rijndael.c.ume2003-11-122-1/+1
| | | | Reported by: tinderbox
* Improve debug message.simokawa2003-11-122-9/+9
|
* - Reserve a ocb for management ORB.simokawa2003-11-121-2/+6
| | | | - Requeue XPT_SCSI_IO if ocb is short.
* GC prototype for mac_destroy_vnode_label(), missed in last commit.rwatson2003-11-122-2/+0
|
* Oops, fix typo in my name.simokawa2003-11-122-4/+4
|
* Remove ia64_highfp_load() now that it's unused.marcel2003-11-122-15/+0
|
* Modify the MAC Framework so that instead of embedding a (struct label)rwatson2003-11-1229-746/+951
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in various kernel objects to represent security data, we embed a (struct label *) pointer, which now references labels allocated using a UMA zone (mac_label.c). This allows the size and shape of struct label to be varied without changing the size and shape of these kernel objects, which become part of the frozen ABI with 5-STABLE. This opens the door for boot-time selection of the number of label slots, and hence changes to the bound on the number of simultaneous labeled policies at boot-time instead of compile-time. This also makes it easier to embed label references in new objects as required for locking/caching with fine-grained network stack locking, such as inpcb structures. This change also moves us further in the direction of hiding the structure of kernel objects from MAC policy modules, not to mention dramatically reducing the number of '&' symbols appearing in both the MAC Framework and MAC policy modules, and improving readability. While this results in minimal performance change with MAC enabled, it will observably shrink the size of a number of critical kernel data structures for the !MAC case, and should have a small (but measurable) performance benefit (i.e., struct vnode, struct socket) do to memory conservation and reduced cost of zeroing memory. NOTE: Users of MAC must recompile their kernel and all MAC modules as a result of this change. Because this is an API change, third party MAC modules will also need to be updated to make less use of the '&' symbol. Suggestions from: bmilekic Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* 1. Consolidate mount struct allocation/destruction into a common code inkan2003-11-123-452/+175
| | | | | | | | | | | | | | | | | | | | | | | vfs_mount_alloc/vfs_mount_destroy functions and take care to completely destroy the mount point along with its locks. Mount struct has grown in coplexity recently and depending on each failure path to destroy it completely isn't working anymore. 2. Eliminate largely identical vfs_mount and vfs_unmount question by moving the code to handle both cases into a newly introduced vfs_domount function. 3. Simplify nfs_mount_diskless to always expect an allocated mount struct and never attempt an allocation/destruction itself. The vfs_allocroot allocation was there to support 'magic' swap space configuration for diskless clients that was already removed by PHK some time ago. 4. Include a vfs_buildopts cleanups by Peter Edwards to validate the sanity of nmount parameters passed from userland. Submitted by: (4) Peter Edwards <peter.edwards@openet-telecom.com> Reviewed by: rwatson
* Cosmetic sync with i386peter2003-11-121-0/+2
|
* Remove a gremlin so that this code compiles under -stable withoutjoe2003-11-121-1/+1
| | | | a "syntax error before `struct'" error.
* Further work-out the handling of the high FP registers. The mostmarcel2003-11-123-67/+48
| | | | | | | | | | | | | | | | | | | | | | | | important change is in cpu_switch() where we disable the high FP registers for the thread that we switch-out if the CPU currently has its high FP registers. This avoids that the high FP registers remain enabled for the thread even when the CPU has unloaded them or the thread migrated to another processor. Likewise, when we switch-in a thread of that has its high FP registers on the CPU, we enable them. This avoids an otherwise harmless, but unnecessary trap to have them enabled. The code that handles the disabled high FP trap (in trap()) has been turned into a critical section for the most part to avoid being preempted. If there's a race, we bail out and have the processor trap again if necessary. Avoid using the generic ia64_highfp_save() function when the context is predictable. The function adds unnecessary overhead. Don't use ia64_highfp_load() for the same reason. The function is now unused and can be removed. These changes make the lazy context switching of the high FP registers in an UP kernel functional.
* Oh dear, forgot this file in the turnstile commit. This header definesjhb2003-11-111-0/+88
| | | | | | the turnstile API and includes several comments. Reminded by: peter
* Add ID for ALC658 CODEC.kuriyama2003-11-111-0/+1
| | | | | Tested on: GIGABYTE GA-8S655FX-L Reviewed by: orion
* Add an implementation of turnstiles and change the sleep mutex code to usejhb2003-11-119-983/+521
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | turnstiles to implement blocking isntead of implementing a thread queue directly. These turnstiles are somewhat similar to those used in Solaris 7 as described in Solaris Internals but are also different. Turnstiles do not come out of a fixed-sized pool. Rather, each thread is assigned a turnstile when it is created that it frees when it is destroyed. When a thread blocks on a lock, it donates its turnstile to that lock to serve as queue of blocked threads. The queue associated with a given lock is found by a lookup in a simple hash table. The turnstile itself is protected by a lock associated with its entry in the hash table. This means that sched_lock is no longer needed to contest on a mutex. Instead, sched_lock is only used when manipulating run queues or thread priorities. Turnstiles also implement priority propagation inherently. Currently turnstiles only support mutexes. Eventually, however, turnstiles may grow two queue's to support a non-sleepable reader/writer lock implementation. For more details, see the comments in sys/turnstile.h and kern/subr_turnstile.c. The two primary advantages from the turnstile code include: 1) the size of struct mutex shrinks by four pointers as it no longer stores the thread queue linkages directly, and 2) less contention on sched_lock in SMP systems including the ability for multiple CPUs to contend on different locks simultaneously (not that this last detail is necessarily that much of a big win). Note that 1) means that this commit is a kernel ABI breaker, so don't mix old modules with a new kernel and vice versa. Tested on: i386 SMP, sparc64 SMP, alpha SMP
* - Disable AGP on ALI chipsets if aperture size is 0.anholt2003-11-114-0/+18
| | | | | | | | | - Fail in agp_alloc_gatt if the aperture size is 0 instead of panicing in contigmalloc. Reported by: Bjoern Fischer <bfischer@Techfak.Uni-Bielefeld.DE> Reviewed by: jhb MFC after: 1 week
* Following the repo-copy from src/sys/modules/mac_none/Makefile,rwatson2003-11-111-3/+3
| | | | I neglected to update the filenames/etc in mac_stub. Do so now.
* Don't probe busses in the MP Table for the MP Table PCI bridge driversjhb2003-11-112-0/+4
| | | | | | if the bus number doesn't correspond to a PCI bus in the MP Table. Reported by: jhay
* cleanup rijndael API.ume2003-11-114-34/+120
| | | | | | | since there are naming conflicts with opencrypto, #define was added to rename functions intend to avoid conflicts. Obtained from: KAME
* Some motherboards like to remap the SCI (normally IRQ 9) up to a PCIjhb2003-11-112-2/+12
| | | | | | | | | | | | | | | | | interrupt such as IRQ 22 or 19. However, the ACPI BIOS still routes interrupts from some PCI devices to the same intpin calling the pin IRQ 22. Thus, ACPI expects to address a single interrupt source via two different names. To work around this, if the SCI is remapped to a non-ISA interrupt (i.e., greater than 15), then we use acpi_OverrideInterruptLevel() function to tell ACPI to use IRQ 22 or 19 rather than IRQ 9 for the SCI. Previously we would change IRQ 22 or 19's name to IRQ 9 when we encountered such an Interrupt Source Override entry in the MADT which routed the SCI properly but left PCI devices mapped to IRQ 22 or 19 w/o a routable interrupt. Tested by: sos
* correct typossam2003-11-111-2/+2
| | | | Pointed out by: Mike Silbersack
* Add an acpi_OverrideInterruptLevel() method that OSPM can use to overridejhb2003-11-112-0/+19
| | | | the InterruptLevel used for the SCI.
* Set RB_SERIAL in boothowto if the firmware output-device is ttya or ttyb.jake2003-11-111-4/+6
| | | | | | This ensures that uart gets a higher console priority than syscons when a serial console is being used. Testing against the "console" environment variable doesn't make sense since we only have one loader console driver.
* Remove the m_defrag call from if_loop; testing with m_fragmentsilby2003-11-111-27/+0
| | | | | | | has shown that the IPv6 stack can clearly handle fragmented mbuf chains without a problem. MFC after: 1 week
* o add lockingsam2003-11-112-61/+115
| | | | | | o mark isr MPSAFE Supported by: FreeBSD Foundation
* o add missing inpcb locking in tcp_respondsam2003-11-111-37/+46
| | | | | | o replace spl's with lock assertions Supported by: FreeBSD Foundation
* ipsec_esp_auth is unused when IPSEC_ESP is not defined.ume2003-11-111-0/+2
| | | | Reported by: Andre Oppermann <oppermann@pipeline.ch>
* Enable HTT CPUs by default instead of halting them by default. Usersjhb2003-11-112-2/+2
| | | | | | should now only have HTT CPUs if they have explicitly asked for them either by enabling HyperThreading in the BIOS or by using the MPTABLE_FORCE_HTT kernel option.
* Disable probing of HTT CPUs by default for the MP Table case. HTT CPUsjhb2003-11-115-0/+29
| | | | | | | | | should only be used if they are enabled in the BIOS. Now that we support enumerating CPUs using the ACPI MADT, any HTT machine using ACPI should respect the BIOS setting. For HTT machines with ACPI disabled in the kernel, the MPTABLE_FORCE_HTT kernel option can be used to try to probe HTT CPUs like have done in the past for the MP Table case. This option should only be enabled if HTT is enabled in the BIOS.
* MFS: Change interface name from "nge" to "ngeth" to avoid conflictru2003-11-111-1/+1
| | | | with nge(4).
* - Remove empty rogue SMP hardware section.jhb2003-11-111-8/+4
| | | | | - Add some additional comments about 'device apic' to note that it can be used in both UP and SMP kernels but is required for SMP kernels.
* Use the same style of paragraph indention that the rest of NOTES uses injhb2003-11-111-12/+12
| | | | the SMP section.
* Axe rotted comment about MP Tables and PCI cards with built in bridges.jhb2003-11-111-6/+0
| | | | | Now that we properly route PCI interrupts for the apic case, these cards are no longer a problem.
* Centralise mode setting. Instead of doing it in all subdrivers, dosos2003-11-117-43/+28
| | | | | | it in ata-all.c where it belongs. Prime controller HW by always setting PIO mode first in attach.
* Use a single style of multiple inclusion protection for Netgraph headers.ru2003-11-1132-88/+88
| | | | Reviewed by: archie, harti, emax
* Save and restore the high FP registers in {g|s}_mcontext(). Notemarcel2003-11-111-2/+9
| | | | | | | | that we currently do not keep track of whether the thread has actually used the high FP registers before. If not, we should not save them in the context which automaticly means that we also would not restore them from the context. For now, do it unconditionally so that we can reach functional completeness.
* Fix a nasty bug that got exposed when the sendsig() and sigreturn()marcel2003-11-112-4/+26
| | | | | | | | | | | | | functions switched to using {g|s}et_mcontext(). The problem is that sigreturn(), being a syscall, can be given an async. context (i.e. one corresponding to an interrupt or trap). When this happens, we try to return to user mode via epc_syscall_return with a trapframe that can only be used to return to user mode via exception_restore. To fix this, we check the frame's flags immediately prior to epc_syscall_return and branch to exception_restore for non-syscall frames. Modify the assertion in set_mcontext() to check that if there's a mismatch, it's because of sigreturn().
* Bound the number of iterations a thread can perform insidejkoshy2003-11-111-6/+8
| | | | | | | | | ktr_resize_pool(); this eliminates a potential livelock. Return ENOSPC only if we encountered an out-of-memory condition when trying to increase the pool size. Reviewed by: jhb, bde (style)
* Update the dump code to flush buffers at the end of the dumpsos2003-11-111-19/+25
| | | | to avoid loosing evt cached data.
* Remove reference to sio (superseded by uart).jake2003-11-111-1/+0
|
* Add entries for creator, splash, uart and puc, commented out until they'rejake2003-11-111-1/+5
| | | | made the default. These are needed to run X.
* Remove references to atkbd, atkbdc, psm and vga.jake2003-11-111-7/+1
|
OpenPOWER on IntegriCloud