summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Completely back out 1.37. Something else is going on and John wants tonjl2004-12-011-9/+0
| | | | keep the locking and solve the real problem.
* Remove the last vestiges of the userconfig option. None of this actuallyscottl2004-12-0115-56/+2
| | | | did anything, so this commit should be considered a NO-OP.
* Fix "Lock ACPI PCI link not exclusively lockedobrien2004-12-011-0/+12
| | | | | | @sys/dev/acpica/acpi_pci_link.c:153" panic by backing out rev 1.37 in the SMP case. It appears that on a dual-proc machine the assertions in the rev 1.37 commit log hold true.
* Implement the check I was talking about in the previous message already.mlaier2004-11-303-4/+42
| | | | | | | | | | | | | | | | | Introduce domain_init_status to keep track of the init status of the domains list (surprise). 0 = uninitialized, 1 = initialized/unpopulated, 2 = initialized/done. Higher values can be used to support late addition of domains which right now "works", but is potential dangerous. I choose to only give a warning when doing so. Use domain_init_status with if_attachdomain[1]() to ensure that we have a complete domains list when we init the if_afdata array. Store the current value of domain_init_status in if_afdata_initialized. This way we can update if_afdata after a new protocol has been added (once that is allowed). Submitted by: se (with changes) Reviewed by: julian, glebius, se PR: kern/73321 (partly)
* Move ng_socket and ng_btsocket initialization to SI_SUB_PROTO_DOMAIN as theymlaier2004-11-302-2/+3
| | | | | | | | | | | | | | | call net_add_domain(). Calling this function too early (or late) breaks assertations about the global domains list. Actually it should be forbidden to call net_add_domain() outside of SI_SUB_PROTO_DOMAIN completely as there are many places where we traverse the domains list unprotected, but for now we allow late calls (mostly to support netgraph). In order to really fix this we have to lock the domains list in all places or find another way to ensure that we can safely walk the list while another thread might be adding a new domain. Spotted by: se Reviewed by: julian, glebius PR: kern/73321 (partly)
* Remove unused cnt variable for the SMP case. Trim some excessive blankpeter2004-11-301-5/+1
| | | | lines while here.
* Remove now unused variable.njl2004-11-301-1/+0
| | | | Pointy hat: njl from nskyline_r35 at yahoo com
* Don't bother locking in attach(). At boot time, we're single-threadednjl2004-11-301-4/+1
| | | | | anyway and for some reason, witness seems confused about what's already locked and triggers a false panic.
* Forgot to inline umtxq_unlock.davidxu2004-11-301-1/+1
|
* 1. use per-chain mutex instead of global mutex to reducedavidxu2004-11-301-115/+212
| | | | | | | | | | | | | | lock collision. 2. Fix two race conditions. One is between _umtx_unlock and signal, also a thread was marked TDF_UMTXWAKEUP by _umtx_unlock, it is possible a signal delivered to the thread will cause msleep returns EINTR, and the thread breaks out of loop, this causes umtx ownership is not transfered to the thread. Another is in _umtx_unlock itself, when the function sets the umtx to UMTX_UNOWNED state, a new thread can come in and lock the umtx, also the function tries to set contested bit flag, but it will fail. Although the function will wake a blocked thread, if that thread breaks out of loop by signal, no contested bit will be set.
* Instead of just not defining a bunch of words when TESTMAIN is set, providescottl2004-11-302-14/+45
| | | | | stubs that at least handle the stack correctly. This makes it much easier to experiment with loader scripts from userland.
* Add observations of the Linux98 and Grub/98 boot loaders. Theseimp2004-11-301-5/+15
| | | | | | | | | observations lead me to believe that the convetion for pc98 boot loaders is to have a jump unstruction, followed by a string, followed by code. The jump usually doesn't have a nop after it and usually the string is NUL terminated, but Grub/98 breaks both of these rules. # I looked for, but failed to find the Minux boot blocks for PC-9801 port.
* Create a new definition, PSL_KERNSET, which is used for setting thegrehan2004-11-301-1/+2
| | | | | MSR in kernel mode. Redefine PSL_USERSET in terms of this by or'ing in PSL_PR.
* Reject tasting of this provider if the sector size isn't a multiple ofimp2004-11-301-3/+6
| | | | | | | | | | | | | | | | | | | 512. If I had an audio cdrom in my cd player when I booted my system, I'd get a panic from geom because you can't read 8192 bytes from an audio cdrom. Remove XXX comment about IPL1 and replace it with some information from my soon to be published web page on the pc98 disk layout. The IPL1 test was the result of an observation of a disk with FreeBSD's boot0 program. It was testing part of an area what appears to be reserved for a boot loader name, which comes after a jump over this area. I don't yet know if it is required to be any specific jump instruction, or if the destination has to be location 11. [1] [1] FreeBSD Press No. 13, page 115, poorly translated by myself. The picture there shows offset 8 as the destination of the jump, but FreeBSD's boot0 program has three padding NULs after the IPL1 name and uses a 16-bit 'jmp' instruction.
* Make sure the link array is big enough to hold both _CRS and _PRSnjl2004-11-301-8/+30
| | | | | | | | | | | | resource lists. It used to be sized based only on _CRS, hence _PRS could perform an out-of-bounds access if it was larger (i.e., when there are dependent functions). Add asserts to detect this case. Note, this is only a temporary fix and I believe _PRS and _CRS should have separate arrays. Also, fix a typo where the wrong irq was being check for the APIC case. Submitted by: tegge
* Replace a printf with a KASSERT that we are indeed running on the BSP.njl2004-11-301-4/+1
|
* MFamd64: Remove the cpu_reset_proxy cruft now that we run boot() onnjl2004-11-301-66/+12
| | | | cpu 0. Also, restructure cpu_reset to be cleaner (no functional change.)
* Fix the build.bms2004-11-301-2/+2
|
* Update the gdb register extraction support to use the pcb whereverpeter2004-11-301-23/+33
| | | | | possible, like on i386. Registers are handled differently for caller vs callee saved registers.
* Switch from 1024hz to 1000hz on amd64 to match i386. 1024 is a badpeter2004-11-301-3/+1
| | | | choice because it is so in sync with stathz (128hz or 4096hz etc).
* MFi386: join the %cr0 setup line now that i386 has lost the I386 ifdefs.peter2004-11-291-2/+1
|
* Take advantage of the shutdown processing being wired to the BSP andpeter2004-11-291-45/+3
| | | | | eliminate the evil cpu_reset_proxy code now that it will never be activated. i386 should pick this up as well.
* If soreceive() is called from a socket callback, there's no reasonps2004-11-292-1/+10
| | | | | | | | | to do a window update to the peer (thru an ACK) from soreceive() itself. TCP will do that upon return from the socket callback. Sending a window update from soreceive() results in a lock reversal. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com Reviewed by: rwatson
* Make soreceive(MSG_DONTWAIT) nonblocking. If MSG_DONTWAIT is passed intops2004-11-291-3/+21
| | | | | | | | soreceive(), then pass in M_DONTWAIT to m_copym(). Also fix up error handling for the case where m_copym() returns failure. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com Reviewed by: rwatson
* Fix for a bug in nfs_mkdir() that called vrele() instead of vput()ps2004-11-291-2/+2
| | | | | | | in the error cases, causing panics. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com Reviewed by: rwatson
* When upgrading the shared lock to an exclusive lock, if we discoverps2004-11-291-3/+2
| | | | | | | | | that the exclusive lock is already held, then we call panic. Don't clobber internal lock state before panic'ing. This change improves debugging if this case were to happen. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com Reviewed by: rwatson
* Instead of translating PCI to ACPI power states, just use a CTASSERTnjl2004-11-291-18/+10
| | | | that they are equivalent.
* Fixes a bug in SACK causing us to send data beyond the receive window.ps2004-11-291-2/+4
| | | | | Found by: Pawel Worach and Daniel Hartmeier Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
* Attach the device at acpi_sony instead of acpi_snc. Rename someimp2004-11-291-39/+39
| | | | internal variables as well to reflect the change.
* Don't flag alignment constraints as a reason for bouncing. This fixes thescottl2004-11-292-2/+2
| | | | | trigger for other misbehaviour in the sym driver that was causing freezes at boot. Thanks to phk@ for reporting and testing this.
* Sigh. I really need to get an internet connection which is less thancperciva2004-11-291-1/+1
| | | | | | | | 2km away from where I'm living, so that I can fix these typos sooner. s/SA_MAX/AF_MAX/ is previous commit. Reported by: marcus, ups, Yiawei Ye, dwhite
* MFi386: revisions 1.77 and 1.78.nyan2004-11-291-2/+2
|
* MFi386: revision 1.38.nyan2004-11-291-5/+10
|
* Pick up loader.rc from its old home.ru2004-11-291-1/+1
|
* Reviewed by: SUZUKI Shinsuke <suz@kame.net>gnn2004-11-291-17/+34
| | | | | | | | | | Approved by: Robert Watson <rwatson@freebsd.org> Add locking to the IPv6 scoping code. All spl() like calls have also been removed. Cleaning up the handling of ifnet data will happen at a later date.
* Disable the beastie menu. It offends some and annoys everyone else, and I'mscottl2004-11-292-18/+1
| | | | | frankly tired of the controversy. When people ask me why FreeBSD isn't user- friendly, I'll tell them that I tried. RIP.
* Add support for the TwinMOS Memory Disk IV.iedowse2004-11-282-0/+8
| | | | | | PR: kern/73766 Submitted by: Valentin Nechayev MFC after: 1 week
* Add the device ID for the 3Com 3CRSHEW696 wireless adapter.iedowse2004-11-281-0/+1
| | | | | PR: kern/73286 Submitted by: Daan Vreeken
* Add support for the Trumpion/Comotron C3310 MP3 player.iedowse2004-11-282-0/+8
|
* Fix a long standing bug in geom_mbr which is only now exposed by thephk2004-11-281-4/+14
| | | | | | | | | | | | | | | correct open/close behaviour of filesystems: When an ioctl to modify the MBR arrives, we cannot take for granted that we have the consumer open. The symptom is that one cannot run 'boot0cfg -s2 /dev/ad0' in single-user mode because / is the only open partition in only open r1w0e1. If it is not, we attempt to increase the write count by one and decrease it again afterwards. Presumably most if not all other slices suffer from the same problem.
* Check that saddr->sa_family is a sensible value before using it.cperciva2004-11-281-0/+4
| | | | | Reported by: Bryan Fulton and Ted Unangst, Coverity, Inc. Found by: The SWAT analysis tool
* - Don't blindly use the return value of uart_cpu_channel() to calculatemarius2004-11-281-7/+33
| | | | | | | | | | | | | | | | | | | | the address of a channel on a SCC, it returns 0 on failure. [1] - Hardcode channel 1 for the keyboard on Z8530, the information present in the Open Firmware device tree doesn't allow to determine this via uart_cpu_channel(). This makes the keyboard (if one backs out rev. 1.5 of sys/dev/puc/puc_sbus.c and has both keyboard and mouse plugged in to avoid the hang that revision works around) and consequently syscons(4) on Ultra 2 work. There's a problem with the keyboard LEDs similar to the one on Ultra 60 (LEDs don't get lit under X) though, instead of lighting just a specific single one all get lit and can't be turned off again. [1] - Add comments about what uart_cpu_channel() and uart_cpu_getdev_keyboard() do and their constraints. - Improve the comments about what uart_cpu_getdev_[console,dbgport]() do, they don't return an address (as in bus) but an Open Firmware package handle. Reviewed by: marcel (modulo the comments) [1]
* Don't acquire Giant before calling closef() in close() (and elsewhere);rwatson2004-11-281-7/+7
| | | | | | | | | | | | | | instead acquire it conditionally in closef() if it is required for advisory locking. This removes Giant from the close() path of sockets and pipes (and any other objects that don't acquire Giant in their fo_close path, such as kqueues). Giant will still be acquired twice for vnodes -- once for advisory lock teardown, and a second time in the fo_close method. Both Poul-Henning and I believe that the advisory lock teardown code can be moved into the vn_closefile path shortly. This trims a percent or two off the cost of most non-vnode close operations on SMP, but has a fairly minimal impact on UP where the cost of a single mutex operation is pretty low.
* Use FILEDESC_LOCK_FAST in checkdirs()phk2004-11-281-5/+5
|
* #define the ioctls that take no arguments correctly.phk2004-11-281-4/+4
|
* Assert the inpcb lock in tcp_xmit_timer() as it performs read-modify-rwatson2004-11-282-0/+4
| | | | write of various time/rtt-related fields in the tcpcb.
* Expand coverage of the receive socket buffer lock when handling urgentrwatson2004-11-282-4/+6
| | | | | | | | pointer updates: test available space while holding the socket buffer mutex, and continue to hold until until the pointer update has been performed. MFC after: 2 weeks
* Whitespace fixes:marcel2004-11-281-33/+18
| | | | | | | o Remove a bogus comment that relates to alpha. o s/u_int64_t/uint64_t/g o Add bi_spare2 to make the internal padding explicit. o Move BOOTINFO_MAGIC after the field it applies to.
* o Introduce efimd_va2pa() to translate addresses in efi_copy{in|out}()marcel2004-11-284-55/+31
| | | | | and efi_readin(). This removes MD code from copy.c. o Don't unconditionally add pal.S to SRCS. It's specific to ia64.
* Add efimd.c. This file contains MD code used by the EFI library. Whilemarcel2004-11-282-2/+47
| | | | | | changing the Makefile, fail the creation of loader.efi when there are unresolved symbols in loader.sym. This avoids silently creating a faulty EFI binary.
OpenPOWER on IntegriCloud