summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
...
* Back out previous revision. TCBHASHSIZE isn't an option, despite what I'ddes2001-10-171-5/+0
| | | | | been misled to believe by unknown parties. It probably *should* be an option, but the runtime value is controlled by a tunable, which Ought To Be Enough.
* Make SCSI changer and SES devices standard in generic kernels.mjacob2001-10-161-0/+2
| | | | Reviewed by: ken@kdm.org
* Document TCBHASHSIZE.des2001-10-161-0/+5
|
* Deleted most of npxprobe(), and merged npxprobe1() back into npxprobe().bde2001-10-161-127/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | Use the normal interrupt handler (npx_intr()) instead of a special probe-time interrupt handler, although this causes problems due to the bus_teardown_intr() not actually even tearing down the interrupt (these problems were avoided by doing interrupt attachment for the special interrupt handler directly). Fixed minor bitrot in comments. The reason for the npxprobe()/npxprobe1() split mostly went away at about the same time it was made (in 1992 or 1993 just before the beginning of history). 386BSD ran all probes with interrupts completely masked, and I didn't want to disturb this when I added an irq probe to npxprobe(). An irq (not necessarily npx) must be acked for at least external npx's to take the cpu out of the wait state that it enters when an npx error occurs, so the probe must be done with a suitable irq unmasked. npxprobe() went to great lengths to unmask precisely the npx irq. Running probes with all interrupts masked was never really needed in FreeBSD, since FreeBSD always masked interrupts well enough using splhigh(), but it wasn't until rev.1.48 (1995/12/12) of autoconf.c that all probes were run with CPU interrupts enabled. This permits npxprobe() to probe its irq using normal interrupt resources. Note that most drivers still can't depend on this. It depends on the interrupt handler being fast and the irq not being shared.
* Commit my old fixes for cosmetic bugs in npxprobe() so that they aren'tbde2001-10-161-13/+8
| | | | | | | | | | | | | | | | lost when the buggy code goes away completely: - don't assume that the npx irq number is >= 8. Rev.1.73 only reversed part of the hard-coding of it to 13 in rev.1.66. - backed out the part of rev.1.84 that added a highly confused comment about an enable_intr() being "highly bogus". The whole reason for existence of npxprobe() (separate from the main probe, npxprobe1()) is to handle the complications to make this enable_intr() safe. - backed out the part of rev.1.94 that modified npxprobe(). It mainly broke the enable_intr() to restore_intr(). Restoring the interrupt state in a nested way is precisely what is not wanted here. It was harmless in practice because npxprobe() is called with interrupts enabled, so restoring the interrupt state enables interrupts. Most of npxprobe() is a no-op for the same reason...
* Implement linux_chown and linux_lchown. The fchown syscall mapsmarcel2001-10-164-20/+10
| | | | | | | directly to the native syscall, because no filename handling needs to be done. Tested by: Martin Blapp <mb@imp.ch>
* o Change prototype of linux_lchown and linux_chown so that themarcel2001-10-161-6/+5
| | | | | | | | | argument names match those on Alpha. o Map the fchown directly to FreeBSD. Since the old version of fchown is also mapped to the native fchown, give the new one type NODEF. Tested by: Martin Blapp <mb@imp.ch>
* Explicitly initialize the fpu when SSE is enabled since this notegge2001-10-151-0/+5
| | | | | | longer happens as a side effect of calling npxsave. Reviewed by: peter, bde
* In FreeBSD's ifreq, ifr_ifru.ifru_flags is an array of two chars, while Linuxdes2001-10-151-1/+1
| | | | | defines it as a short. Change that to an array of one short so that FreeBSD's ifr_flags macro will work (it evaluates to ifr_ifru.ifru_flags[0]).
* Change vmapbuf() to use pmap_qenter() and vunmapbuf() to use pmap_qremove().tegge2001-10-141-15/+24
| | | | | | | This significantly reduces the number of TLB shootdowns caused by vmapbuf/vunmapbuf when performing many large reads from raw disk devices. Reviewed by: dillon
* Reduce the number of TLB shootdowns caused by a call to pmap_qenter()tegge2001-10-141-4/+18
| | | | | | from number of pages mapped to 1. Reviewed by: dillon
* Correct the input/output/clobber specifications for the cpuidjdp2001-10-121-8/+3
| | | | | | | | | | | instruction. Stefan Keller <dres@earth.serd.org> noticed that CPU identification was broken when compiled with -O2, and tracked it down to the asm statement, which was storing values into memory without specifying that memory was modified. He submitted a patch which added "memory" as a clobber, but I refined it further to arrive at this version. MFC after: 3 days
* Oops, these already included sys/lock.h, they just did so afterjhb2001-10-113-3/+0
| | | | sys/mutex.h which is too late.
* Add missing includes of sys/ktr.h.jhb2001-10-113-0/+3
|
* Add missing includes of sys/lock.h.jhb2001-10-114-0/+4
|
* Documentation nitpick. IPFIREWALL_VERBOSE logging really has nothingcjc2001-10-111-2/+1
| | | | | | | | to do with "dropped packets." Any packets matching rules with the 'log' directive are logged regardless of the action, drop, pass, divert, pipe, etc. MFC after: 1 day
* Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loaderps2001-10-102-2/+2
| | | | | | | tunable. Reviewed by: peter MFC after: 2 weeks
* Remove the Xresume* labels from the i386 interrupt handlers; theiedowse2001-10-095-7/+2
| | | | | | | | | | | | | | | | | | code in ipl.s and icu_ipl.s that used them was removed when the interrupt thread system was committed. Debuggers also knew about Xresume* because these labels hide the real names of the interrupt handlers (Xintr*), and debuggers need to special-case interrupt handlers to get the interrupt frame. Both gdb and ddb will now use the Xintr* and Xfastintr* symbols to detect interrupt frames. Fast interrupt frames were never identified correctly before, so this fixes the problem of the running stack frame getting lost in a ddb or gdb trace generated from a fast interrupt - e.g. when debugging a simple infinite loop in the kernel using a serial console, the frame containing the loop would never appear in a gdb or ddb trace. Reviewed by: jhb, bde
* Remove an unneeded variable declaration and statement.robert2001-10-092-4/+0
| | | | Approved by: jake
* Note that this driver is soon to be deprecated and removed from FreeBSD.mjacob2001-10-091-0/+4
|
* Don't attempt to initialize the pcaudio device on open. The attach routinejhb2001-10-081-6/+0
| | | | | | already does the initialization (though it didn't set pca_initialized, so we always initialized twice) and since attach calls make_dev(), there's no way that pcaopen() can be called before pcaattach().
* Allow atomic ops to be somewhat safely used in userland. We always usejhb2001-10-081-3/+7
| | | | | lock prefixes in the userland case so that the binaries will work on both SMP and UP systems.
* Dissociate ptrace from procfs.des2001-10-071-1/+0
| | | | | | | | | | | | | | | | | Until now, the ptrace syscall was implemented as a wrapper that called various functions in procfs depending on which ptrace operation was requested. Most of these functions were themselves wrappers around procfs_{read,write}_{,db,fp}regs(), with only some extra error checks, which weren't necessary in the ptrace case anyway. This commit moves procfs_rwmem() from procfs_mem.c into sys_process.c (renaming it to proc_rwmem() in the process), and implements ptrace() directly in terms of procfs_{read,write}_{,db,fp}regs() instead of having it fake up a struct uio and then call procfs_do{,db,fp}regs(). It also moves the prototypes for procfs_{read,write}_{,db,fp}regs() and proc_rwmem() from proc.h to ptrace.h, and marks all procfs files except procfs_machdep.c as "optional procfs" instead of "standard".
* Export interrupt statistics via sysctl.luigi2001-10-072-0/+12
| | | | MFC-after: 3 days
* Mention that ed requires miibus.iedowse2001-10-071-0/+1
| | | | Suggested by: Eugene Grosbein <eugen@grosbein.pp.ru>
* Rewrite the pc98 bus_space stuff.nyan2001-10-076-1372/+391
| | | | | | | | | | | | | | | | The type of bus_space_tag_t is now a pointer to bus_space_tag structure, and the bus_space_tag structure saves pointers to functions for direct access and relocate access. Added bsh_bam member to the bus_space_handle structure, it saves access method either direct access or relocate access which is called by bus_space_* functions. Added the mecia device support. If the bs_da and bs_ra in bus tag are set NEPC_io_space_tag and NEPC_mem_space_tag respectively, new bus_space stuff changes the register of mecia automatically for 16bit access. Obtained from: NetBSD/pc98
* - Moved the bus_dma declarations from bus_{at386,pc98}.h into bus_dma.h.nyan2001-10-064-1374/+4
| | | | | (bus_dma.h is repo-copied from bus_at386.h) - Added '#include <machine/bus_dma.h>' into bus.h for backward compatibility.
* Fix a warning. (unused p if not INVARIANTS)peter2001-10-061-2/+1
|
* Add nmdm driver.mp2001-10-041-0/+3
| | | | | | PR: 31027 Submitted by: Edwin Groothuis <edwin@mavetju.org> MFC after: 1 day
* Comment out RESTARTABLE_PANICS so that it is not defined in LINT. Itjhb2001-10-041-1/+1
| | | | introduces many useless warnings obscuring the useful ones.
* Fixed a missing proc -> thread substitution.bde2001-10-031-1/+3
| | | | | Broke future detection of this bug in userland by not declaring kernel prototypes in userland.
* Fix problem where a user buffer outside of the area being testedmjacob2001-10-021-1/+1
| | | | | | | | will be corrupted. PR: 29194 Obtained from: Tor.Egge@fast.no MFC after: 2 weeks
* Add an option ED_NO_MIIBUS, which causes the `ed' driver to beiedowse2001-09-291-0/+1
| | | | | | built without support for miibus PHYs. Most ed cards don't need miibus support, so it's useful to be able to avoid the bloat of all the mii devices for small fixed-purpose kernels.
* Regen: Stop using linux_getpgid(). Use the native getpgid()marcel2001-09-283-9/+5
| | | | | | instead. PR: kern/21402
* Stop using linux_getpgid(). The implementation at this time ismarcel2001-09-281-1/+1
| | | | | | | | | broken and fixing it only creates a duplicate of what is already in the FreeBSD kernel. Therefore, map the syscall directly to getpgid(). PR: kern/21402 Submitted by: Christian Weisgerber <naddy@mips.inka.de>
* Add device driver support for the Broadcom BCM570x family of gigabitwpaul2001-09-271-0/+6
| | | | | | | | | | | | | | ethernet controllers. This adds support for the 3Com 3c996-T, the SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on Dell PowerEdge 2550 servers. The latter configuration hauls ass: preliminary measurements show TCP speeds of over 900Mbps using only normal size frames. TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping are supported, as well as interrupt moderation. Still need to fix autonegotiation support for 1000baseSX NICs, but beyond that, driver is pretty solid.
* Add the new ng_gif, ng_gif_demux, and ng_ip_input nodes to NOTES so theybrooks2001-09-271-0/+3
| | | | get compiled with LINT.
* Disable the check in icu_setup() to see if a handler was already used asjhb2001-09-272-0/+4
| | | | | | | the current interrupt thread routines will guarantee the condition this is checking for at a higher level but inthand_add() and inthand_remove() as they currently exist don't satisfy this condition. (Which does need to be fixed but which will take a bit more work.) This fixes shared interrupts.
* Update a comment to reflect the param.c -> subr_param.c move.murray2001-09-271-1/+1
| | | | | PR: kern/30766 Submitted by: Kevin Way <kevin.way@overtone.org>
* Return EINVAL if the passed intr is out of bounds.jlemon2001-09-272-0/+2
| | | | | | PR: 30857 Submitted by: David Xu <davidx@viasoft.com.cn> MFC: 1 week
* The number of ccd(4) devices is no longer set at compile time so stopbrooks2001-09-261-1/+1
| | | | trying to do it in the examples and config files.
* Call securelevel_gt with a credential. Also, s/p/td->td_proc/.brooks2001-09-261-2/+2
| | | | Submitted by: LINT
* o Modify access control checks in linux_iopl() to use securelevel_gt()rwatson2001-09-261-2/+2
| | | | | | | rather than direct variable checks. (Yet another API to perform direct hardware I/O.) Obtained from: TrustedBSD Project
* o Modify pcvt ioctl() security checks to use securelevel_gt() insteadrwatson2001-09-261-2/+3
| | | | | | | of direct securelevel variable checks. (Yet another API to perform direct hardware I/O using KDENABIO.) Obtained from: TrustedBSD Project
* o Modify spigot_open() to use securelevel_gt() instead of directrwatson2001-09-261-4/+6
| | | | | | securelevel variable checks. Obtained from: TrustedBSD Project
* o Modify i386_set_ioperm() to use securelevel_gt() instead ofrwatson2001-09-261-2/+2
| | | | | | direct securelevel variable checks. Obtained from: TrustedBSD Project
* o Modify device open access control for /dev/mem and friends to userwatson2001-09-261-4/+8
| | | | | | securelevel_gt() instead of direct securelevel variable checks. Obtained from: TrustedBSD Project
* The faith(4) device is no longer a count device so don't specify a count.brooks2001-09-253-3/+3
|
* + Fix misplacement of `txp'obrien2001-09-241-5/+5
| | | | + Document our -CURRENT debugging bits
* Update NFS_ROOT comments to reflect the NFSCLIENT optionjedgar2001-09-221-1/+1
| | | | | | instead of the depricated NFS option. Reviewed by: peter
OpenPOWER on IntegriCloud