Commit Graph

32036 Commits

Author SHA1 Message Date
bp
27118745cb Add character translation table between Unix and NetWare according
to Sweden standards.

Submitted by:	Roger Olofsson <roger.olofsson@kommun.engelholm.se>
MFC after:	1 week
2002-04-20 05:35:02 +00:00
mike
a65eab0c34 Add typedef of sa_family_t to <sys/un.h>, per POSIX and X/Open. Hide
portions of <sys/un.h> when a standard has been requested.
2002-04-20 02:26:43 +00:00
mike
39f7a31d80 Add sa_family_t type to <sys/_types.h> and typedefs to <netinet/in.h>
and <sys/socket.h>.  Previously, sa_family_t was only typedef'd in
<sys/socket.h>.
2002-04-20 02:24:35 +00:00
marcel
2e75617aaf Don't put a line break in string literals. GCC 3.1 complains and GCC
3.2 drops the ball.
2002-04-20 01:42:56 +00:00
rwatson
30744d9c56 Improve style consistency of vfs_syscalls.c by converting the style used
in various extattr_*() calls to match the rest of the file.  Originally,
these bits at the end looked more like style(9).  This patch was submitted
by green by way of the TrustedBSD MAC tree, and I fixed a few problems
with it on the way through.  Someone with more time on their hands should
convert the entire file to style(9); this commit is for diff reduction
purposes.

Submitted by:	green
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-04-20 01:37:08 +00:00
marcel
7975cc7853 Don't put a line break in string literals. GCC 3.1 complains and GCC
3.2 drops the ball.
2002-04-20 01:35:45 +00:00
rwatson
615059b538 Spelling fix for comment. 2002-04-20 01:14:25 +00:00
mike
b86c5d21e9 Comment out and mark broken the hea and hfa devices until someone has
time to fix them.
2002-04-20 00:51:30 +00:00
arr
d5c7cd00fd - Nuke small sgi ifdef bits. 2002-04-20 00:39:32 +00:00
mike
14a44a5efa Fix compiling of acpica when debugging is enabled. In the previous
revision, two getenv()s were accidentally changed to use testenv().

Pointy hat to:	mux
2002-04-19 23:36:38 +00:00
alfred
0375b27808 Clean up:
Comment run_filter() to explain what it does.

Remove chatty comments.

void busdma_swi() { }  -> void busdma_swi(void) { }
2002-04-19 22:58:09 +00:00
semenu
b986d07861 Move tx(4) driver to sys/dev/tx. BTW split hardware structures and constants
into if_txreg.h.

MFC after:	1 week
2002-04-19 22:43:57 +00:00
imp
3e109d2cd3 Make this build on 4.x machines again (building a -current kernel on a
-stable machine via the old-school methods):

Use __FreeBSD_version in preference to __FreeBSD__ >= N where possible.
Define a single variable mythread which is set to curproc or curthread
depending on the OS version (with a comment saying it is a white lie on
4.x since it really is a proc).

NB: __FreeBSD__ is the OS level of the host machine, not the target,
and should never be used, if possible, as __FreeBSD__ >= N.
2002-04-19 22:28:09 +00:00
arr
96e8895af5 - Nuke some more #ifdef sun related sections. 2002-04-19 21:38:43 +00:00
arr
40a938fb61 - Nuke some #ifdef sun4m code; it hasn't been updated in 4 years and is not
being used.
2002-04-19 20:02:03 +00:00
arr
122c24db48 - Change KM_ macro calls to the appropriate function call.
- Nuke KM_ macros from port.h

  This is a leadin step towards cleaning up this code as I wait for some
  ATM cards and a ATM switch to arrive.
2002-04-19 17:45:22 +00:00
arr
1482903cea - Remove KM_ macro calls and replace with the real function we're calling.
As a note, this driver needs the same updating as the hfa driver was
  just given; removing these macros since I will be nuking them from
  netatm.
2002-04-19 17:43:11 +00:00
rwatson
4d39491e7e In sendfile(), use the vn_rdwr() helper function, rather than manually
constructing a struct aio and invoking VOP_READ() directly.  This cleans
up the code a little, but also has the advantage of making sure almost
all vnode read/write access in the kernel goes through the helper
function, meaning that instrumentation of that helper function can impact
almost all relevant read/write operations.  In this case, it permits us
to put MAC hooks into vn_rdwr() and not modify uipc_syscalls.c (yet).

In general, if helper vn_*() functions exist, they should be used in
preference to direct VOP's in system call service code.

Submitted by:	green
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-04-19 13:46:24 +00:00
rwatson
63ab78794e Divorce proc0 and proc1 credentials earlier; while this isn't technically
needed in the current code, in the MAC tree, create_init() relies on the
ability to modify the credentials present for initproc, and should not
perform that modification on a shared credential.  Pro-active diff
reduction against MAC changes that are in the queue; also facilitates
other work, including the capabilities implementation.

Submitted by:	green
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-04-19 13:35:53 +00:00
marcel
04327915ff Build modules on ia64:
o  Make the cam, cd9660 lomac and sound modules i386 and alpha
   specific due to link problems (@gprel relocation when @ltoff
   is required).  Once resolved, these can be moved back to the
   generic list.
o  Build linprocfs only on those architectures that have the
   linux module.
o  Make the sppp module i386 and alpha specific due to compile
   problems (pointers as switch cases). Once resolved, this can
   be moved back to the generic list.
o  Build all i386 specific modules, with the exception of those
   mentioned above as being moved from the generic list to the
   i386 list and those with dependencies on the linux module (aac)
   or i386 dependent (ar, apm, atspeaker, fpu, gnufpu, ibcs2,
   linux, ncv, nsp, netgraph, oltr, pecoff, s3, sbni, stg and
   vesa).
o  Don't build acpi as a module yet. It most be ported first.
   Once ported, it can be added to the ia64 list.
o  Don't build ipfilter yet due to compile errors (osreldate.h
   not found).
2002-04-19 09:44:50 +00:00
phk
4509f96cc5 Make kernel dumps work with GEOM.
Notice that if the device on which the dump is set is destroyed for
any reason, the dump setting is lost.  This in particular will
happen in the case of spoilage.  For instance if you set dump on
ad0s1b and open ad0 for writing, ad0s* will be spoilt and the dump
setting lost.  See geom(4) for more about spoiling.

Sponsored by: DARPA & NAI Labs.
2002-04-19 09:24:12 +00:00
phk
a274092cf6 Make life easier for reference-vector generatorts in tools/regression/geom
by including a FreeBSD friendly CVS identifier in the XML output.

Sponsored by: DARPA & NAI Labs.
2002-04-19 09:21:27 +00:00
phk
f4a2041f29 suser is Giant safe, so optimize a pointless case. 2002-04-19 09:20:13 +00:00
phk
58f8fbf943 Add a SI_DUMPDEV flag for devices.
Sponsored by: DARPA & NAI Labs.
2002-04-19 09:19:37 +00:00
marcel
a11469e541 Respect setting of NM to allow cross-building. 2002-04-19 09:04:53 +00:00
onoe
2074250b53 Some fixes for Symbol card.
- The version string doesn't need to start with 'V'.
- Symbol firmware doesn't support ROAMING_MODE nor MICROWAVE_OPEN.
Obtained from: NetBSD
2002-04-19 08:16:59 +00:00
marcel
b37c8f0b41 Allocate sufficient pages to hold the bootinfo block and stop
hardwiring the location.
2002-04-19 06:43:09 +00:00
marcel
394d9d65e3 Remove the bootinfo kludge. We get the address of the bootinfo
block from the loader.
2002-04-19 06:35:55 +00:00
suz
553226e8e1 just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD.
(based on freebsd4-snap-20020128)

Reviewed by:	ume
MFC after:	1 week
2002-04-19 04:46:24 +00:00
alc
bafd353ece o Move the acquisition of Giant from vm_fault() to the point
after initialization in vm_fault1().
 o Fix some style problems in vm_fault1().
2002-04-19 04:20:31 +00:00
alc
920a8f1353 o Remove vm_map_growstack() from ia64's trap_pfault().
o Remove the acquisition and release of Giant from ia64's trap_pfault().
   (vm_fault() still acquires it.)
2002-04-19 02:08:33 +00:00
nectar
fcc5ad0935 When exec'ing a set[ug]id program, make sure that the stdio file descriptors
(0, 1, 2) are allocated by opening /dev/null for any which are not already
open.

Reviewed by:	alfred, phk
MFC after:	2 days
2002-04-19 00:45:29 +00:00
sos
57865251c8 Fix the breakage of tagged queueing that the busdma integration
introduced. Since its now only possible to have one DMA control
block at a time, we move the setup to dmastart instead.
2002-04-18 19:11:45 +00:00
scottl
fe79677df8 Add the PCI ID for an upcoming variant of a soon-to-be released series of
cards.
2002-04-18 15:47:31 +00:00
alfred
1a9ffdb2dd Cleanup comments.
Remove all current poll(2) extensions except POLLINIGNEOF as they are now
unused.

Submitted by: bde
2002-04-18 14:54:26 +00:00
alfred
d1526107c3 Remove support for using soon to be retired "special" poll(2) ops.
Replace with kevent(2) ops.

This is untested, but the code would rot even further if this wasn't
applied.  I've chosen to apply this to prompt some cleanup.

Submitted by: bde
2002-04-18 14:52:28 +00:00
alfred
d7f3109480 Cleanup of logic, flow and comments.
Submitted by: bde
2002-04-18 14:47:34 +00:00
mckay
8620a54252 Work around an Intel 21143 chip bug.
Rev 1.56 of if_dc.c removed calls to mii_pollstat() from the dc_tick()
routine.  dc_tick() is called regularly to detect link up and link down
status, especially when autonegotiating.

The expectation was that mii_tick() (which is still called from dc_tick())
would update status information automatically in all cases where it would
be sensible to do so.

Unfortunately, with authentic 21143 chips this is not the case, and
the driver never successfully autonegotiates.  This is because (despite
what it says in the 21143 manual) the chip always claims that link is not
present while the autonegotiation enable bit is set.  Autonegotation takes
place and succeeds, but the driver tests the link bits before it switches
off the autonegotiation enable bit, and success is not recognised.

The simplest solution is to call dcphy_status() more often for MII_TICK
calls by dropping out of the switch statement instead of exiting when
we are autonegotiating and link appears to not be present.  When
autonegotiation succeeds, dcphy_status() will note the speed and fdx/hdx
state and turn off the autonegotiation enable bit.  The next call to
dcphy_status() will notice that link is present, and the dc driver code
will be notified.

Macronix chips also use this code, but implement link detection as
described in the manual, and hence don't need this patch.  However, tests
on a Macronix 98715AEC-C show that it does not adversely affect them.

This could be done better but is the minimal effective change, and most
closely mimics what was happening prior to rev 1.56 of if_dc.c.  (Actually
I also deleted a small amount of unnecessary code while I was in the area.)

Reviewed by:	wpaul
2002-04-18 14:40:20 +00:00
alc
492a7d8a7b Add a comment documenting a race condition in vm_fault(): Specifically, a
modification is made to the vm_map while only a read lock is held.
2002-04-18 03:55:50 +00:00
rwatson
0e75d83778 Since WITNESS doesn't just do mutexes, remove "mutex" from the WITNESS
comment in GENERIC config files of appropriate platforms.  For whatever
reason, powerpc didn't use WITNESS in GENERIC.
2002-04-18 03:44:44 +00:00
rwatson
fc9f51621b Witness doesn't just track mutexes, so don't say mutexes specifically. It
also tracks sxlocks, etc.
2002-04-18 03:41:49 +00:00
alc
50de418295 o Call vm_map_growstack() from vm_fault() if vm_map_lookup() has failed
due to conditions that suggest the possible need for stack growth.
   This has two beneficial effects: (1) we can
   now remove calls to vm_map_growstack() from the MD trap handlers and (2)
   simple page faults are faster because we no longer unnecessarily perform
   vm_map_growstack() on every page fault.
 o Remove vm_map_growstack() from the i386's trap_pfault().
 o Remove the acquisition and release of Giant from i386's trap_pfault().
   (vm_fault() still acquires it.)
2002-04-18 03:28:27 +00:00
tegge
59deaddc60 Fix typo in adjusted panic message.
Submitted by:	cokane
2002-04-17 22:41:58 +00:00
tegge
79f7500829 Update io_apic_ints array properly when revoking an irq mapping.
Adjust panic message.

Submitted by:	David Xu <bsddiy@yahoo.com>
2002-04-17 18:27:10 +00:00
alfred
d1305c4e3c De-K&R dkcksum() to fix some issues with c++.
Submitted by: Miguel Mendez <flynn@energyhq.homeip.net>
2002-04-17 18:09:27 +00:00
mux
6961e47900 Avoid calling malloc() or free() while holding the
kenv lock.

Reviewed by:	jake
2002-04-17 17:51:10 +00:00
ru
217b7e94cc Install files via FILES, there's no reason to compare them before installing. 2002-04-17 16:56:36 +00:00
mdodd
ada2b95a74 Fix missing commas. 2002-04-17 16:12:24 +00:00
ru
0b397f2023 Really unbreak it this time (clean and install were still broken). 2002-04-17 15:33:40 +00:00
ticso
d170821718 Fix a compiler warning I missed in the last commit.
Reviewed by:	gallatin
Approved by:	gallatin
2002-04-17 15:32:11 +00:00
brian
602660491c Make delay iteration counts a function of hz as the delay period in each
loop is inversly proportional to hz.

This makes things more sane for configurations with hz != 100.

Cosmetic: Make the loops look similar to the loops in digi.c
2002-04-17 15:28:41 +00:00
brian
2761b16daf Make delay iteration counts a function of hz as the delay period in each
loop is inversly proportional to hz.

This makes things more sane for configurations with hz > 100.

Submitted by:	Peter Jeremy <peter.jeremy@alcatel.com.au>
2002-04-17 15:13:52 +00:00
ticso
f81be190dc Revive dec_axppci_33_intr_route for LCA.
We now get valid interrupt lines for devices on secondary pci busses.

Reviewed by:	gallatin
Approved by:	gallatin
2002-04-17 14:08:22 +00:00
tmm
18d687d9de Parenthesize some macro arguments.
PR:		20024
Submitted by:	Tony Finch <dot@dotat.at>
2002-04-17 14:00:37 +00:00
ticso
3c9d9503e2 Clear the error flags in the LCA_IOC_STAT0 register after
machine_checks.
This fixes pci config reads for non existing devices on secondary
pci busses.

Thanks to Andrew Gallatin for pointing me to the register

Reviewed by:	gallatin
Approved by:	gallatin
2002-04-17 13:57:50 +00:00
tmm
c62faa9e34 Add macros for concatenating tailqs and stailqs.
PR:		20024
Submitted by:	Tony Finch <dot@dotat.at> (TAILQ_CONCAT)
2002-04-17 13:43:31 +00:00
mux
a207e41bef Rework the kernel environment subsystem. We now convert the static
environment needed at boot time to a dynamic subsystem when VM is
up.  The dynamic kernel environment is protected by an sx lock.

This adds some new functions to manipulate the kernel environment :
freeenv(), setenv(), unsetenv() and testenv().  freeenv() has to be
called after every getenv() when you have finished using the string.
testenv() only tests if an environment variable is present, and
doesn't require a freeenv() call. setenv() and unsetenv() are self
explanatory.

The kenv(2) syscall exports these new functionalities to userland,
mainly for kenv(1).

Reviewed by:	peter
2002-04-17 13:06:36 +00:00
mux
c79270302c Add an entry for the kenv(2) syscall (code to follow).
Reviewed by: peter
2002-04-17 13:05:13 +00:00
joe
7e205e38ed Revert part of revision 1.49 which was supposed to be white space
only.  In the device probe we don't want to match unless there is
an iface structure already set up.
2002-04-17 12:03:20 +00:00
mdodd
22ef639eab Remove a stray comment terminator that was hiding beyond 80 columns. 2002-04-17 07:04:58 +00:00
mdodd
27dbe32723 - Add defines for ABR and UBR traffic types.
- Add IDT bits to vendor/vendorapi/device enums.
- Add EISA to atm_bus enum.
2002-04-17 07:00:56 +00:00
peter
7af4726714 Do not free the vmspace until p->p_vmspace is set to null. Otherwise
statclock can access it in the tail end of statclock_process() at an
unfortunate time.  This bit me several times on an SMP alpha (UP2000)
and the problem went away with this change.  I'm not sure why it doesn't
break x86 as well.  Maybe it's because the clocks are much faster
on alpha (HZ=1024 by default).
2002-04-17 05:26:42 +00:00
obrien
acb7650f5a I am not sure why ## was used in this macro, as w/o the string concatenation
the tokens are legal ANSI-C.  Maybe to enable 'op' to be a macro itself?
Anyway, with the ## concatenation Gcc 3.1's integrated `cpp' treats "=op("
as a single token vs. the three tokens it is.
2002-04-17 04:31:43 +00:00
bp
96ac6411fa Recongnize more error codes returned by W2K servers.
MFC after:	4 days
2002-04-17 03:14:28 +00:00
bp
d45a778584 Add more NetBIOS name types.
MFC after:	4 days
2002-04-17 03:12:24 +00:00
alc
49bc4331bd Remove an unused option, VM_FAULT_HOLD, to vm_fault(). 2002-04-17 02:23:57 +00:00
julian
91cf1536d3 diff reduction 2002-04-17 01:50:03 +00:00
julian
6c9f5bcb65 Slight diff-reduction to -stable. 2002-04-17 01:25:46 +00:00
iedowse
64322dabea The recent NFS forced unmount improvements introduced a side-effect
where some client operations might be unexpectedly cancelled during
an unsuccessful non-forced unmount attempt. This causes problems
for amd(8), because it periodically attempts a non-forced unmount
to check if the filesystem is still in use.

Fix this by adding a new mountpoint flag MNTK_UNMOUNTF that is set
only during the operation of a forced unmount. Use this instead of
MNTK_UNMOUNT to trigger the cancellation of hung NFS operations.

Also correct a problem where dounmount() might inadvertently clear
the MNTK_UNMOUNT flag.

Reported by:	simokawa
MFC after:	1 week
2002-04-17 01:07:29 +00:00
mdodd
ae8d002449 Add MODULE_VERSION. 2002-04-17 00:31:32 +00:00
mdodd
8296d838e2 Wrap function in #ifdef DIAGNOSTIC to compile with -Werror. 2002-04-17 00:30:38 +00:00
mdodd
5a47ea7645 Add ESA200 to enum atm_device. 2002-04-17 00:30:06 +00:00
mdodd
4cd83349e4 - Convert the 'hfa' ATM interface driver to newbus.
- Add stubs for EISA and SBUS cards.
  (VME, FutureBUS, and TurboChannel stubs not provided.)
- Add infrastructure to build driver and bus front-end modules.
2002-04-17 00:26:09 +00:00
luigi
73a7e12af1 Add DEVICE_POLLING support to the "rl" driver.
The diffs are very similar to the ones for the "sis" driver.

MFC After: 5 days
2002-04-16 22:03:14 +00:00
julian
d7e5919f2b This time get it right 2002-04-16 20:40:06 +00:00
julian
db3b249d2e Makefile for the myson driver. 2002-04-16 20:34:14 +00:00
julian
c2a64bae05 Add entry for the myson ethernet driver
Submitted by:	Myson , Taiwan
2002-04-16 20:23:58 +00:00
mjacob
3c9fbb4941 Scale back # of luns supported for SCC to 16384- oops- top 3 bits are a
lun address modifier of sorts. Only an HP XP-512 seems to have cared.

Fix a few misplaced pointers for the new fabric goop, which has been
demonstrated to work on newer Brocades and McData switches now.
Put in commented out code which would run GFF_ID if the QLogic f/w
allowed it.

Don't whine about not being able to find a handle for a command if it
was a command aborted (by us).
2002-04-16 19:55:35 +00:00
julian
e6ba3748ee Diff reduction to 4.x version. 2002-04-16 19:31:55 +00:00
jhb
dba04cd736 Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:11:34 +00:00
jhb
6cbba0bb03 - Lock proctree_lock instead of pgrpsess_lock.
- Use temporary variables to hold a pointer to a pgrp while we dink with it
  while not holding either the associated proc lock or proctree_lock.  It
  is in theory possible that p->p_pgrp could change out from under us.
2002-04-16 17:09:22 +00:00
jhb
d9a4c30c37 - Lock proctree_lock instead of pgrpsess_lock.
- Simplify return logic of setsid() and setpgid().
2002-04-16 17:06:11 +00:00
jhb
2ebbf84d61 - Lock proctree_lock instead of pgrpsess_lock.
- Exclusively lock proctree_lock while calling leavepgrp().
2002-04-16 17:04:21 +00:00
jhb
7202da4491 - Merge the pgrpsess_lock and proctree_lock sx locks into one proctree_lock
sx lock.  Trying to get the lock order between these locks was getting
  too complicated as the locking in wait1() was being fixed.
- leavepgrp() now requires an exclusive lock of proctree_lock to be held
  when it is called.
- fixjobc() no longer gets a shared lock of proctree_lock now that it
  requires an xlock be held by the caller.
- Locking notes in sys/proc.h are adjusted to note that everything that
  used to be protected by the pgrpsess_lock is now protected by the
  proctree_lock.
2002-04-16 17:03:05 +00:00
benno
2a838a2aff Correct a comment. 2002-04-16 12:15:17 +00:00
benno
10462ad477 Implement the following functions:
- pmap_kextract
	- pmap_object_init_pt
	- pmap_protect
	- pmap_remove_pages

I'm pretty sure pmap_remove_pages is at least somewhat bogus.
2002-04-16 12:13:10 +00:00
benno
ed687f83ff Remove some dead code. 2002-04-16 12:10:04 +00:00
benno
f2d443a680 Use mtsrin() instead of inline asm. 2002-04-16 12:07:41 +00:00
benno
327177ba2e Change the value of PMAP_BOOTSTRAP so we don't stomp on the PTE index value. 2002-04-16 12:00:43 +00:00
benno
6ea8f0587f Add inlines for mtsrin and mfsrin. 2002-04-16 11:45:09 +00:00
sos
b45627b32f Add support for the nVIDIA nForce ATA controller.
Collapse the VIA/AMD/nVIDIA support code into one, they are
created more or less equal anyway..
2002-04-16 08:30:51 +00:00
imp
37bc817098 Merge from OpenBSD's fixes:
o move timeout from wihap_info to wihap_sta_info
o sprinkle spls into the code (need to use proper -current locking)
o better use of le16toh and htole16
o fix a few leaks m_freem(m)
o minor knf
o minor de-knf to match OpenBSD
o de__P
2002-04-16 07:45:30 +00:00
imp
ca41daa96d Minor format nit 2002-04-16 07:39:25 +00:00
alc
e4a086ec75 Remove code that updates vm->vm_ssize. This duplicates work already
performed by vm_map_growstack().
2002-04-16 05:56:01 +00:00
alc
d366f41148 Remove code that updates vm->vm_ssize. This duplicates work already performed
by vm_map_growstack().
2002-04-16 05:38:13 +00:00
jhb
e34af244a9 Cast another bus_addr_t to long long for a printf to quiet a warning on
alpha.
2002-04-16 01:58:13 +00:00
arr
0517513584 - Nuke fore_pci_device.
- Add a device_method_t array, fore_methods.
- Add a fore_ident_table that contains the various FORE Systems PCA-200
  series devices.
- Rewrite of the fore_probe routine (formerly known as fore_pci_probe).
- Minor changes... mostly WIP stuff to get this updated... still much to
  be done.
2002-04-16 01:38:31 +00:00
arr
e96a876e5f - Remove PCA-200E definition -- this will be re-added in the commit to
fore_load.c that will add ``fore_ident_table'' which holds various
  types of FORE Systems PCA-200 series devices.
2002-04-16 01:34:00 +00:00
obrien
b080d56742 pal.s is no longer needed for the kernel to build with Gcc. We now use
in-line macros.  pal.s remains however for use by Compaq 'ccc' some day.
2002-04-15 23:28:10 +00:00
obrien
ab8cc9f06d Remove the .stab directives. I do not understand what is different about
Gcc 3.1's 'cpp' vs. 2.95.3's.  Maybe it is due to other code movement and
it just shows up weirdly in handling the .stab's.  Anyway, w/o this change
building a kernel gives:

    alpha/alpha/pal.s:75: relocation truncated to fit: REFLONG .text
    alpha/alpha/prom_disp.s:67: relocation truncated to fit: REFLONG .text
2002-04-15 21:44:19 +00:00
phk
2edc95ffee Remove two debug printfs which should never have been committed. 2002-04-15 21:08:51 +00:00
jhb
f656d44b0b You have to cast int64_t's to long long if you printf them with %lld.
This now compiles on alpha without a warning.

Pointy-hat to:	phk
2002-04-15 21:04:32 +00:00
jhb
cb08e4ed36 Recognize the AC97 interface to the onboard sound controller on the Nvidia
nForce chipset.  Playback at least seems to work fine with the ich driver
out of the box.

Sponsored by:	The Weather Channel
Help from:	cg
2002-04-15 20:42:40 +00:00
asmodai
72a3bfdc81 Sync with UDF p4 tree: Use POSIX integer types instead of BSD types. 2002-04-15 19:49:15 +00:00
des
918591700f Document WITNESS_PROFILING.
Submitted by:	Hiten Pandya <hiten@uk.FreeBSD.org>
2002-04-15 19:42:15 +00:00
jhb
45c5bb7593 Use bus_addr_t instead of u_int for local variables that are derived from
the per-channel bus_addr_t offset.  Also, cast the offset to (long long)
and use %#llx instead of %#x to fix printf warnings on architectures where
sizeof(bus_addr_t) != sizeof(int).
2002-04-15 19:16:37 +00:00
cokane
4ab1aeb8f1 Fix some nits in AMD AGP driver. Remove excess malloc and move a bzero
out of the way, so it won't cause trouble.

Submitted by:	Frank Mayher <frank@exit.com>
MFC after: 1 week
2002-04-15 18:57:26 +00:00
peter
d5c513e81b Fix an "oops!" that turned out to be mostly harmless (but gave a warning).
I did this right on the sparc64.  Store the direct mapped addresses in
the correct variables.

Submitted by:	jake
2002-04-15 16:07:52 +00:00
peter
3d8c7d4cab Pass vm_page_t instead of physical addresses to pmap_zero_page[_area]()
and pmap_copy_page().  This gets rid of a couple more physical addresses
in upper layers, with the eventual aim of supporting PAE and dealing with
the physical addressing mostly within pmap.  (We will need either 64 bit
physical addresses or page indexes, possibly both depending on the
circumstances.  Leaving this to pmap itself gives more flexibilitly.)

Reviewed by:	jake
Tested on:	i386, ia64 and (I believe) sparc64. (my alpha was hosed)
2002-04-15 16:00:03 +00:00
roberto
e1d6eb1831 Remove a spurious warning as x is always initialised before use.
es137x.c: In function `es1371_rdcd':
es137x.c:598: warning: `x' might be used uninitialized in this function

PR:		kern/35408
Submitted by:	Thomas Quinot <thomas@cuivre.fr.eu.org>
2002-04-15 14:43:23 +00:00
nyan
c911a2cbdc MFi386: revision 1.7. 2002-04-15 13:44:00 +00:00
benno
813f104cc8 Add ofwd to the GENERIC config for powerpc. 2002-04-15 12:30:18 +00:00
benno
a7de23a1ad Add a nexus device.
Copied from:	sparc64
2002-04-15 12:29:18 +00:00
phk
b6bf4c07cf Improve the implementation of adjtime(2).
Apply the change as a continuous slew rather than as a series of
discrete steps and make it possible to adjust arbitraryly huge
amounts of time in either direction.

In practice this is done by hooking into the same once-per-second
loop as the NTP PLL and setting a suitable frequency offset deducting
the amount slewed from the remainder.  If the remaining delta is
larger than 1 second we slew at 5000PPM (5msec/sec), for a delta
less than a second we slew at 500PPM (500usec/sec) and for the last
one second period we will slew at whatever rate (less than 500PPM)
it takes to eliminate the delta entirely.

The old implementation stepped the clock a number of microseconds
every HZ to acheive the same effect, using the same rates of change.

Eliminate the global variables tickadj, tickdelta and timedelta and
their various use and initializations.

This removes the most significant obstacle to running timecounter and
NTP housekeeping from a timeout rather than hardclock.
2002-04-15 12:23:11 +00:00
benno
3bc1e338fc Turn some CTR's into CTR0's. 2002-04-15 12:11:18 +00:00
phk
ed0cd9a251 Take the "tickadj" element out of struct clockinfo. Our adjtime(2)
implementation is being changed and the very concept of tickadj will
no longer be meaningful.
2002-04-15 12:11:06 +00:00
benno
acd63b074d GC an extraneous prototype of delay(). 2002-04-15 12:02:43 +00:00
benno
a6e01bf104 Basic OpenFirmware disk driver. It will attach to anything in OpenFirmware
that declares itself to be a disk, which may be the wrong thing to do in
the long term but it works well enough to attach to emulated disks in the
PowerPC simulator in gdb now that they have the proper device_type
property.
2002-04-15 10:54:22 +00:00
benno
599a5e6ad0 Grab a major number for OpenFirmware disk devices. 2002-04-15 10:41:47 +00:00
obrien
2b50d4545b option<space><tab> 2002-04-15 09:21:51 +00:00
phk
af54e26ee0 In the ntp_adjtime(2) syscall, return our actual estimate of unapplied
offset correction instead of the most recent offset applied.
2002-04-15 08:58:24 +00:00
jeff
6cb876e7dd Finish adding support code for sysctl kern.mprof. This dumps some malloc
information related to bucket size effeciency.  Three things are printed on
each row:

Size is the size the user actually asked for rounded to 16 bytes.
Requests is the number of times this size was asked for.
Real Size is the size we actually handed out.

At the end the total memory used and total waste is displayed.  Currently my
system displays about 33% wasted memory.

The intent of this code is to gather statistics for tuning the malloc bucket
sizes.  It is not intended to be run with INVARIANTS and it is not entirely
mp safe.  It can be enabled via 'options MALLOC_PROFILE' which was commited
earlier.
2002-04-15 05:24:01 +00:00
jeff
da6660250e Remove malloc_type's ks_limit.
Updated the kmemzones logic such that the ks_size bitmap can be used as an
index into it to report the size of the zone used.

Create the kern.malloc sysctl which replaces the kvm mechanism to report
similar data.  This will provide an easy place for statistics aggregation if
malloc_type statistics become per cpu data.

Add some code ifdef'd under MALLOC_PROFILING to facilitate a tool for sizing
the malloc buckets.
2002-04-15 04:05:53 +00:00
jeff
b972756970 Don't peak into the malloc_type structure for limits. The desired vnodes
check should be sufficient.  This is required for the pending removal of
malloc_type limits.
2002-04-15 03:35:35 +00:00
brooks
2ff28d13ad Fix tx-rate setting for Lucent cards.
Submitted by:	Eugene Perevyazko <john@pcs.dp.ua>
2002-04-14 23:18:40 +00:00
brooks
916765bbc4 Support the Siemens SpeedStream PCI card.
PR:		kern/35988
Submitted by:	Stephen Gunn <csg@waterspout.com>
2002-04-14 22:08:58 +00:00
dwmalone
eb5d75ea83 Make the MTRR code a bit more defensive - this should help people
trying to run X on some Athlon systems where the BIOS does odd things
(mines an ASUS A7A266, but it seems to also help on other systems).

Here's a description of the problem and my fix:

        The problem with the old MTRR code is that it only expects
        to find documented values in the bytes of MTRR registers.
        To convert the MTRR byte into a FreeBSD "Memory Range Type"
        (mrt) it uses the byte value and looks it up in an array.
        If the value is not in range then the mrt value ends up
        containing random junk.

        This isn't an immediate problem. The mrt value is only used
        later when rewriting the MTRR registers. When we finally
        go to write a value back again, the function i686_mtrrtype()
        searches for the junk value and returns -1 when it fails
        to find it. This is converted to a byte (0xff) and written
        back to the register, causing a GPF as 0xff is an illegal
        value for a MTRR byte.

	To work around this problem I've added a new mrt flag
	MDF_UNKNOWN.  We set this when we read a MTRR byte which
	we do not understand.  If we try to convert a MDF_UNKNOWN
	back into a MTRR value, then the new function, i686_mrt2mtrr,
	just returns the old value of the MTRR byte. This leaves
	the memory range type unchanged.

I have seen one side effect of the fix, which is that ACPI calls
after X has been run seem to hang my machine. As running X would
previously panic the machine, this is still an improvement ;-)

I'd like to MFC this before the 4.6 code freeze - please let me
know if it causes any problems.

PR:		28418, 25958
Tested by:	jkh, Christopher Masto <chris@netmonger.net>
MFC after:	2 weeks
2002-04-14 20:19:13 +00:00
dwmalone
e5b0116c2a Make the MTRR code a bit more defensive - this should help people
trying to run X on some Athlon systems where the BIOS does odd things
(mines an ASUS A7A266, but it seems to also help on other systems).

Here's a description of the problem and my fix:

	The problem with the old MTRR code is that it only expects
	to find documented values in the bytes of MTRR registers.
	To convert the MTRR byte into a FreeBSD "Memory Range Type"
	(mrt) it uses the byte value and looks it up in an array.
	If the value is not in range then the mrt value ends up
	containing random junk.

	This isn't an immediate problem. The mrt value is only used
	later when rewriting the MTRR registers. When we finally
	go to write a value back again, the function i686_mtrrtype()
	searches for the junk value and returns -1 when it fails
	to find it. This is converted to a byte (0xff) and written
	back to the register, causing a GPF as 0xff is an illegal
	value for a MTRR byte.

	To work around this problem I've added a new mrt flag
	MDF_UNKNOWN.  We set this when we read a MTRR byte which
	we do not understand.  If we try to convert a MDF_UNKNOWN
	back into a MTRR value, then the new function, i686_mrt2mtrr,
	just returns the old value of the MTRR byte. This leaves
	the memory range type unchanged.

I'd like to merge this before the 4.6 code freeze, so if people
can test this with XFree 4 that would be very useful.

PR:		28418, 25958
Tested by:	jkh, Christopher Masto <chris@netmonger.net>
MFC after:	2 weeks
2002-04-14 20:13:08 +00:00
archie
659c75a369 Use 'struct callout' instead of 'struct callout_handle' to avoid
exhausting the kernel timeout table. Perform the usual gymnastics to
avoid race conditions between node shutdown and timeouts occurring.

Also fix a bug in handling ack delays < PPTP_MIN_ACK_DELAY. Before,
we were ack'ing immediately. Instead, just impose a minimum ack delay
time, like the name of the macro implies.

MFC after:	1 week
2002-04-14 17:37:35 +00:00
alfred
0925885691 Don't allow one to trace an ancestor when already traced.
PR: kern/29741
Submitted by: Dave Zarzycki <zarzycki@FreeBSD.org>
Fix from: Tim J. Robbins <tim@robbins.dropbear.id.au>
MFC After: 2 weeks
2002-04-14 17:12:55 +00:00
scottl
1fd1b83baf Actually add the UDF files! 2002-04-14 16:52:14 +00:00
fjoe
fca05c5678 Cosmetical change: remove empty line to reduce diffs to RELENG_4 2002-04-14 16:40:11 +00:00
scottl
c611b0542a Add a filesystem driver for the Universal Disk Format. For more info,
see http://people.freebsd.org/~scottl/udf

 MFC after:	when asmodai gets the backport done
 Prodded by:	phk asmodai des
2002-04-14 16:36:49 +00:00
jeff
2d333700d6 Fix a witness warning when expanding a hash table. We were allocating the new
hash while holding the lock on a zone.  Fix this by doing the allocation
seperately from the actual hash expansion.

The lock is dropped before the allocation and reacquired before the expansion.
The expansion code checks to see if we lost the race and frees the new hash
if we do.  We really never will lose this race because the hash expansion is
single threaded via the timeout mechanism.
2002-04-14 13:47:10 +00:00
jeff
8745059e4f Protect the initial list traversal in sysctl_vm_zone() with the uma_mtx. 2002-04-14 12:39:38 +00:00
jhay
9c6b97e023 Fix the play / record rate setting so that it actually works.
The extra microphone channel capability is part of the "normal" ac97
capabilities and not an extended ac97 capability. Now recording on
codecs without a seperate mic channel works.

MFC after:	1 week
2002-04-14 10:39:59 +00:00
jeff
9089f1baf8 Use VOP_GETVOBJECT instead of accessing the member directly. This fixed
an issue with nullfs and NAMEI shared.

Submitted by:	Alexander Kabaev
2002-04-14 10:18:48 +00:00
obrien
cf0cb2fed6 Modernize SCM ID. 2002-04-14 07:07:09 +00:00
marcel
deb6702059 Dotting the i-s:
o  Use chunk instead of region when we talk about a memory range.
   Region can be confused with region register and we already
   call it chunk in machdep.c
o  Update the twiddle every 16MB
2002-04-14 05:37:18 +00:00
alc
3ad9fd7f0b Regen 2002-04-14 05:33:58 +00:00
alc
a34b48c478 Remove the requirement that Giant be held around sigreturn(). 2002-04-14 05:31:47 +00:00
peter
1d48dd21da Allow a kernel to be compiled with both SKI and acpica and still
work on real hardware.  (SKI used to break the sapic probes)
2002-04-14 04:33:41 +00:00
jhb
c7a49307c4 Remove stale XXX comment. 2002-04-14 04:12:44 +00:00
alc
7e3107d0af o Use aiocblist::fd_file in the AIO threads rather than recomputing
the file * from the calling process's descriptor table.
 o Eliminate sharing of the calling process's descriptor table
   with the AIO threads.
2002-04-14 03:04:19 +00:00
jeff
5b62962da4 Fix the calculation that determines uz_maxpages. It was off for large zones.
Fortunately we have no large zones with maximums specified yet, so it wasn't
breaking anything.

Implement blocking when a zone exceeds the maximum and M_WAITOK is specified.
Previously this just failed like the old zone allocator did.  The old zone
allocator didn't support WAITOK/NOWAIT though so we should do what we
advertise.

While I was in there I cleaned up some more zalloc logic to further simplify
that code path and reduce redundant code.  This was needed to make the blocking
work properly anyway.
2002-04-14 01:56:25 +00:00
alc
3fcded0f04 Add comment that sigreturn() is MPSAFE. 2002-04-13 23:37:10 +00:00
jhb
e93a8a367d - Change killpg1()'s first argument to be a thread instead of a process so
we can use td_ucred.
- In killpg1(), the proc lock is sufficient to check if p_stat is SZOMB
  or not.  We don't need sched_lock.
- Close some races in psignal().  In psignal() there is a big switch
  statement based on p_stat.  All the different cases are assuming that
  the process (or thread) isn't going to change state out from under it.
  To ensure this is true, just lock sched_lock for the entire switch.  We
  practically held it the entire time already anyways.  This also
  simplifies the locking somewhat and actually results in fewer lock
  operations.
- Allow signotify() to be called with the sched_lock held since psignal()
  now does that.
- Use td_ucred in a couple of places.
2002-04-13 23:33:36 +00:00
jhb
300593a2cc - Change donice() to take a thread as the first argument instead of a
process so it can use td_ucred.
- Require the target process of donice() to be locked when donice() is
  called.
- Use td_ucred.
- Lock the target process of p_cansee() and while reading the credentials
  of a process.
- Change the logic of rtprio() slightly so it does it's copyin() if needed
  prior to locking the target process.
- rtprio() no longer needs Giant.  In theory with full KSE it would still
  need Giant to protect p_ucred of curproc for the p_canfoo() functions
  but p_canfoo() will be changing to using td_ucred of curthread before
  full KSE hits the tree.
2002-04-13 23:28:23 +00:00
jhb
e9c672efdc - Change procfs_control()'s first argument to be a thread pointer instead
of a process pointer.
- Move the p_candebug() at the start of procfs_control() a bit to make
  locking feasible.  We still perform the access check before doing
  anything, we just now perform it after acquiring locks.
- Don't lock the sched_lock for TRACE_WAIT_P() and when checking to see if
  p_stat is SSTOP.  We lock the process while setting p_stat to SSTOP
  so locking the process is sufficient to do a read to see if p_stat is
  SSTOP or not.
2002-04-13 23:19:13 +00:00
jhb
f430ba9802 Lock the target process for p_candebug(). 2002-04-13 23:15:28 +00:00