92082 Commits

Author SHA1 Message Date
kan
e17e467e2a Use stock version of this file now. 2003-07-11 04:52:32 +00:00
kan
50259c63c1 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2	don't let gcc(1) hide warnings in system headers.
2003-07-11 04:49:30 +00:00
kan
3af246c7f2 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2  -fformat-extensions.
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
  1.14 -O0 -O1 optimize alignment for time, not size.
2003-07-11 04:48:05 +00:00
kan
62d33c6b58 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.{2,15}	FREEBSD_NATIVE.
  1.21		"GCC_OPTIONS".
  1.{16,25,27}	Cross-compiling issues.
2003-07-11 04:45:39 +00:00
kan
4ea7467e5f Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2	Tweaks to make this file live beside our hacked config.
2003-07-11 04:43:01 +00:00
kan
2bdb49451c Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2	Localize the version string.
2003-07-11 04:37:16 +00:00
kan
a00c7154f8 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8	printf format error fixes.
2003-07-11 04:34:52 +00:00
kan
a26ec1cc0c Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2	Printf format errors fixes.
2003-07-11 04:32:20 +00:00
kan
9d744067fc Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.11	-mno-align-long-strings.
2003-07-11 04:29:35 +00:00
kan
7e1f51a9b1 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.10  -mno-align-long-strings.
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.
2003-07-11 04:28:01 +00:00
kan
703b203b24 Merge FreeBSD modifications into gcc 3.3.1-pre:
1.2	framework for our kernel printf enhancements.
  1.3	suppress prototype warnings on K&R main.
2003-07-11 04:24:59 +00:00
kan
bfeb1a3420 Merge rev. 1.2 (allow profiling of FORTRAN77 programs) info GCC 3.3.1-pre
sources.
2003-07-11 04:03:28 +00:00
kan
4e7ac24200 FreeBSD uses stock versions of these GCC files. 2003-07-11 04:00:23 +00:00
kan
b664230ac1 This commit was generated by cvs2svn to compensate for changes in r117401,
which included commits to RCS files with non-trunk default branches.
2003-07-11 03:42:19 +00:00
kan
7b704871fd Gcc 3.3.1-pre 2003-07-11 libf2c bits. 2003-07-11 03:42:19 +00:00
kan
aa78059bdb This commit was generated by cvs2svn to compensate for changes in r117399,
which included commits to RCS files with non-trunk default branches.
2003-07-11 03:42:15 +00:00
kan
bb754981e6 Gcc 3.3.1-pre 2003-07-11 Objective C support bits. 2003-07-11 03:42:15 +00:00
kan
97107edf1b This commit was generated by cvs2svn to compensate for changes in r117397,
which included commits to RCS files with non-trunk default branches.
2003-07-11 03:42:04 +00:00
kan
c7bbbdd036 Gcc 3.3.1-pre 2003-07-11 C++ support bits. 2003-07-11 03:42:04 +00:00
kan
0d58036562 This commit was generated by cvs2svn to compensate for changes in r117395,
which included commits to RCS files with non-trunk default branches.
2003-07-11 03:40:53 +00:00
kan
b2a8872fbe Gcc 3.3.1-pre as of 2003-07-11. 2003-07-11 03:40:53 +00:00
green
9404c74f6c If we must yell at the user than a file cannot be linked into place when
requested (not required) to do it, reassure them that cpio is still
intelligent enough that it will perform a full copy instead.
2003-07-11 02:19:19 +00:00
marcel
69c0c78443 This commit was generated by cvs2svn to compensate for changes in r117392,
which included commits to RCS files with non-trunk default branches.
2003-07-11 01:03:55 +00:00
marcel
3b3c37c7db Rename DISABLE_TRACE to UWX_TRACE_ENABLE and change the conditional
compilation accordingly. The net effect is that tracing is not by
default present and that it can easily be compiled-in.

The tracer uses getenv() and printf(), which cannot be used in all
cases (ie from the debugger) and with this change we improved the
applicability of the unwinder.

This change is made on the vendor branch and given back to the
vendor for possible inclusion in future versions.
2003-07-11 01:03:55 +00:00
silby
22ad6d5be5 Add init_param3() to subr_param. This function is called
immediately after the kernel map has been sized, and is
the optimal place for the autosizing of memory allocations
which occur within the kernel map to occur.

Suggested by:	bde
2003-07-11 00:01:03 +00:00
tmm
5b603201cc Lock down the IOMMU bus_dma implementation to make it safe to use
without Giant held.

A quick outline of the locking strategy:
Since all IOMMUs are synchronized, there is a single lock, iommu_mtx,
which protects the hardware registers (where needed) and the global and
per-IOMMU software states. As soon as the IOMMUs are divorced, each struct
iommu_state will have its own mutex (and the remaining global state
will be moved into the struct).
The dvma rman has its own internal mutex; the TSB slots may only be
accessed by the owner of the corresponding resource, so neither needs
extra protection.
Since there is a second access path to maps via LRU queues, the consumer-
provided locking is not sufficient; therefore, each map which is on a
queue is additionally protected by iommu_mtx (in part, there is one
member which only the map owner may access). Each map on a queue may
be accessed and removed from or repositioned in a queue in any context as
long as the lock is held; only the owner may insert a map.
To reduce lock contention, some bus_dma functions remove the map from
the queue temporarily (on behalf of the map owner) for some operations and
reinsert it when they are done. Shorter operations and operations which are
not done on behalf of the lock owner are completely covered by the lock.

To facilitate the locking, reorganize the streaming buffer handling;
while being there, fix an old oversight which would cause the streaming
buffer to always be flushed, regardless of whether streaming was enabled
in the TSB entry. The streaming buffer is still disabled for now, since
there are a number of drivers which lack critical bus_dmamp_sync() calls.

Additional testing by:	jake
2003-07-10 23:27:35 +00:00
brueffer
6b0bee64fc -l prints all permissions, not just owner and group
PR:		54294
Submitted by:	Per Hedeland <per@hedeland.org>
MFC after:	3 days
2003-07-10 20:53:56 +00:00
wpaul
e0e32b6e67 Add support for the 8139C+ chipset. Unlike the other chips in the 8139
series, the 8139C+ has a descriptor-based DMA mechanism, and its
performance is actually pretty respectable. Note: the 8139D chip does
not support C+ mode. Only the 8139C+ and 8169 gigE chips support C+ mode.

Supported features:

- RX and TX checksum offload
- hardware VLAN tag insertion/extraction
- TX interrupt moderation using the 8139's on-board timer

Everything should be properly busdma'ed and endian-independent, so
things should work ok on non-x86 platforms. Unfortunately, my call
for testers on this code was met with deafening silence, and I don't
have access to any non-x86 FreeBSD boxes at the moment, so this is
speculation.

The device detection code has been cleaned up a little as well
(thanks to Michal Mertl) for the patches.

There are also updates to the rl(4) man page (which I accidentally
checked in before when I updated the dc(4) man page. Oops.)

Todo: finish support for the 8169 gigabit ethernet chip. This
mainly requires writing an rlgphy driver to handle the 8169's built-in
PHY. This will have to wait until I actually get my hands on an 8169
card for testing though. (I still can't find a source for one in the
U.S. Suggestions/pointers welcome.)
2003-07-10 20:38:48 +00:00
wpaul
1ea1d015c3 Regenerate. 2003-07-10 18:43:39 +00:00
wpaul
ab54f72013 Add support for a bunch of Microsoft networking products:
- MN-110 10/100 USB ethernet (ADMtek Pegasus II, if_aue)
- MN-120 10/100 cardbus (ADMtek Centaur-C, if_dc)
- MN-130 10/100 PCI (ADMtek Centaur-P, if_dc)

Also update dc(4) man page to mention support for MN-120 and MN-130.
2003-07-10 18:43:17 +00:00
markm
2184143037 Protect lint(1) from a #error. 2003-07-10 18:05:02 +00:00
njl
4fe32afe30 Rewrite much of the embedded controller driver.
* Always use polled mode.  The intr approach did not work for many
  controllers and required the hw.acpi.ec.event_driven workaround.
* Only use an edge (not level) triggered GPE handler
* Add sc->ec_mtx for locking operations to a single EC.  There were
  many race conditions earlier between an SCI event and EcRead/Write.
* Use 1 ms as the global lock timeout
* Only acquire global lock if _GLK != 0
* Update EcWaitEvent to use an incremental backoff delay in its
  poll loop.  Wait 50 ms max instead of 10.  Most ECs respond
  in < 5 us (50 us when heavily loaded).  However, some time out
  occasionally even with a 10 ms timeout.  For delays past 1 ms, use
  msleep instead of DELAY to give SCI interrupts a chance to occur.
* Add EcCommand to send a command and wait for the appropriate event.
* The hw.acpi.ec.event_driven tunable is no longer applicable and
  has been removed.

Ideas from:	Linux
2003-07-10 17:22:46 +00:00
harti
940c15d08f Use the default arguments for lockfunc and lockfuncarg in
bus_dma_tag_create. We need to be sure that our packets are
kept in-sequence (that's how ATM is supposed to work) and
therefor use BUS_DMA_NOWAIT in all calls to bus_dmamap_load.

For memory allocated with bus_dmamem_alloc the use of anything
other than NULL arguments for the locking is anyway bogus because
this memory never should need bouncing and hence the load should never
be defered.

Allow the receipt of OAM and RM cells on raw connections. Caveat: it seems
that RM cells are still processed by the hardware even when we open the
connection as UBR.
2003-07-10 13:55:09 +00:00
kris
931b660ce6 Correct makefile syntax error in r1.375. 2003-07-10 05:29:56 +00:00
wpaul
d37ac705ef Support for large frames for VLANs was added by tweaking the packet size
register, present only on 3c90xB and later NICs. This meant that you could
not use a 1500 byte MTU with VLANs on original 3c905/3c900 cards (boomerang
chipset). The boomerang chip does support large frames though, just not
in the same way: you can set the 'allow large frames' bit in the MAC
control register to receive frames up to 4K in size.

Changes:

- Set the 'allow large frames' bit for boomerang chips and increase
  the packet size register for cyclone and later chips. This allows
  us to use IFCAP_VLAN_MTU on all supported xl(4) NICs.
- Actually set the IFCAP_VLAN_MTU flag in the capabilities word
  in xl_attach().
- Change the method used to detect older boomerang chips. My 3c575C
  cardbus NIC was being incorrectly identified as 3c90x chip instead
  of 3c90xB because the capabilities word in its EEPROM reports
  a bizzare value. In addition to checking for the supportsNoTxLength
  bit, also check for the absence of the supportsLargePackets bit.
  Both of these cases denote a 3c90xB chip.
- Make RX and TX checksums configurable via the SIOCSIFCAP ioctl.
- Avoid an unecessary le32toh() in xl_rxeof(): we already have the
  received frame size in the lower 16 bits of rxstat, no need to
  read it again.

Tested with 3c905-TX, 3c900-TPO, 3c980C and 3c575C NICs.
2003-07-10 05:24:33 +00:00
wpaul
5f3d8877e4 tdkphy.c is missing from this module's Makefile. Add it. 2003-07-10 05:12:10 +00:00
gshapiro
a72817d73c Continue trying to build SENDMAIL_CF if the user uses SENDMAIL_CF
instead of SENDMAIL_MC but don't remove on it 'make clean' as the
user may not have the original .mc file and removing it could be
dangerous (e.g., make SENDMAIL_CF=/etc/mail/sendmail.cf clean).

Noticed by:	peter
MFC after:	3 days
2003-07-10 04:53:32 +00:00
peter
fb79192cce unifdef -DLAZY_SWITCH and start to tidy up the associated glue. 2003-07-10 01:02:59 +00:00
obrien
3879f4cf2e Add to the list of AMR cards. 2003-07-10 00:25:51 +00:00
peter
9fc6da3f4c Fix the VADDR() macros to use either KVADDR() or UVADDR(), depending
on the implied sign extension.  The single unified VADDR() macro was
not able to avoid sign extending the VM_MAXUSER_ADDRESS/USRSTACK values.
Be explicit about UVADDR() (positive address space) and KVADDR()
(kernel negative address space) to make mistakes show up more
spectacularly.

Increase user VM space from 1/2TB (512GB) to 128TB.
2003-07-09 23:04:23 +00:00
peter
b1f1716f2a Fix up bogus index/offset/mask calculations in the allocpte and the
corresponding release code.  This was preventing the use of more than
1/2TB of user VM.  I also spent a week staring at this code only to
eventually find that I'd mistakenly typed a P as an R.
2003-07-09 22:59:45 +00:00
peter
5ca42e0d4a Turn the 2MB page mappings that cover the kernel text+data+bss area back
on now that pmap_pte() can handle it.  I never actually ran into anything
that broke that I know of, but this was turned off as a precaution.
2003-07-09 22:55:00 +00:00
peter
26770348b8 Have pmap_pte() on a 2MB mapped address return the 2MB pde itself
rather than a non-existing pte.  There is code elsewhere in i386/amd64
pmap that neglects to handle the large page cases because it knows that
it will see PG_PS in the returned "pte".
2003-07-09 22:53:45 +00:00
davidxu
93d7f2a880 Don't resume sigwait thread If signal is masked. 2003-07-09 22:30:55 +00:00
hsu
97cc223e64 Replace custom field offset macro with the system __offsetof() macro.
Reviewed by:	bde
2003-07-09 22:23:10 +00:00
silby
eb0aaa7a47 A few minor changes:
- Use atomic ops to update the bigpipe count
- Make the bigpipe count sysctl readable
- Remove a duplicate comparison in an if statement
- Comment two SYSCTLs.
2003-07-09 21:59:48 +00:00
scottl
1ce2a98456 Handle the EINPROGRESS case of bus_dmamap_load() for data buffers. 2003-07-09 21:16:23 +00:00
scottl
42f9960cb0 Fix a missing } that got dropped from the last commit. 2003-07-09 19:30:30 +00:00
scottl
d070a46718 Add a new quirk for cards that incorrectly interpret the amount of memory
in the system.  This might also have a small performance gain.
2003-07-09 19:19:16 +00:00
des
d88d8b47b6 Don't do session management in su.
PR:		misc/53293
Submitted by:	ru
2003-07-09 18:40:49 +00:00