From owner-p4-projects@FreeBSD.ORG Sat May 3 16:09:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 537D437B404; Sat, 3 May 2003 16:09:35 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 00C5A37B401 for ; Sat, 3 May 2003 16:09:35 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4BB143FAF for ; Sat, 3 May 2003 16:09:33 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h43N9X0U088250 for ; Sat, 3 May 2003 16:09:33 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h43N9XRQ088247 for perforce@freebsd.org; Sat, 3 May 2003 16:09:33 -0700 (PDT) Date: Sat, 3 May 2003 16:09:33 -0700 (PDT) Message-Id: <200305032309.h43N9XRQ088247@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 30491 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 May 2003 23:09:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=30491 Change 30491 by marcel@marcel_pluto1 on 2003/05/03 16:08:50 IFC @30487 Affected files ... .. //depot/projects/sio/contrib/groff/tmac/doc-common#3 integrate .. //depot/projects/sio/contrib/groff/tmac/doc-ditroff#3 integrate .. //depot/projects/sio/contrib/groff/tmac/doc-nroff#3 integrate .. //depot/projects/sio/release/doc/en_US.ISO8859-1/early-adopter/article.sgml#2 integrate .. //depot/projects/sio/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#5 integrate .. //depot/projects/sio/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/sio/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/sio/sys/ia64/ia64/locore.s#2 integrate Differences ... ==== //depot/projects/sio/contrib/groff/tmac/doc-common#3 (text+ko) ==== @@ -554,7 +554,10 @@ . as doc-header-string "\|.\|.\|. . \} . tl \*[doc-caption-font]\*[doc-header-string]\f[]\*[doc-caption-font2]\*[doc-volume]\f[]\*[doc-caption-font]\*[doc-header-string]\f[] -. sp \n[doc-header-space]u +. ie !\n[cR] \ +. sp \n[doc-header-space]u +. el \ +. sp 1v . ev . ns .. @@ -665,7 +668,7 @@ .\" NS width register `Nd' set above . .de Nd -. nop \- \$* +. nop \[em] \$* .. . . ==== //depot/projects/sio/contrib/groff/tmac/doc-ditroff#3 (text+ko) ==== @@ -118,13 +118,13 @@ .\" NS doc-header-space global register .\" NS the space between header and body . -.nr doc-header-space 0 +.nr doc-header-space .5i . . .\" NS doc-footer-space global register .\" NS the space between body and footer . -.nr doc-footer-space 0 +.nr doc-footer-space .5i . . .\" NS doc-display-vertical global register @@ -138,13 +138,8 @@ .\" NS .\" NS modifies: .\" NS doc-display-vertical -.\" NS doc-footer-space -.\" NS doc-header-space . .de doc-setup-page-layout -. nr doc-header-space .5i -. nr doc-footer-space .5i -. . ie r LL \ . ll \n[LL]u . el \ ==== //depot/projects/sio/contrib/groff/tmac/doc-nroff#3 (text+ko) ==== @@ -97,13 +97,13 @@ .\" NS doc-header-space global register .\" NS the space between header and body . -.nr doc-header-space 0 +.nr doc-header-space 0.5i . . .\" NS doc-footer-space global register .\" NS the space between body and footer . -.nr doc-footer-space 0 +.nr doc-footer-space 0.5i . . .\" NS doc-display-vertical global register @@ -117,13 +117,8 @@ .\" NS .\" NS modifies: .\" NS doc-display-vertical -.\" NS doc-footer-space -.\" NS doc-header-space . .de doc-setup-page-layout -. nr doc-header-space .5i -. nr doc-footer-space .5i -. . ie r LL \ . ll \n[LL]u . el \ ==== //depot/projects/sio/release/doc/en_US.ISO8859-1/early-adopter/article.sgml#2 (text+ko) ==== @@ -16,17 +16,21 @@ %release; + +X"> +X"> + ]>
- Early Adopter's Guide to &os; 5.0-RELEASE + Early Adopter's Guide to &os; &release.current; The &os; Release Engineering Team - $FreeBSD: src/release/doc/en_US.ISO8859-1/early-adopter/article.sgml,v 1.14 2003/04/07 11:20:24 murray Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/early-adopter/article.sgml,v 1.15 2003/05/03 22:14:55 bmah Exp $ 2002 @@ -34,35 +38,50 @@ The &os; Release Engineering Team + + + This article describes the status of &os; + &release.current;, from the standpoint of users who may be new + to the &release.5x; series of releases or to &os; in general. + It presents some background information on release + engineering, some highlights of new features, and some + possible drawbacks that might be faced by early adopters. It + also contains some of the future release engineering plans for + the 4-STABLE development branch and some tips on upgrading + existing systems. + Introduction - &os; 5.0 marks the first new major version of &os; in + &os; &release.5x; marks the first new major version of &os; in over two years. Besides a number of new features, it also contains a number of major developments in the underlying system architecture. Along with these advances, however, comes a system that incorporates a tremendous amount of new and not-widely-tested code. Compared to the existing line of - 4.X releases, 5.0 may have regressions + &release.4x; releases, the first few &release.5x; releases + may have regressions in areas of stability, performance, and occasionally functionality. - For these reasons, the &a.re; does not - encourage users to blindly update from older &os; releases to - 5.0. Specifically, for more conservative users, we recommend - running 4.X releases (such as + For these reasons, the &a.re; specifically + discourages users from updating from older &os; releases to + &release.current; unless they are aware of (and prepared to deal + with) possible regressions in the newer releases. + Specifically, for more conservative users, we recommend + running &release.4x; releases (such as 4.8-RELEASE) for the near-term future. We feel that such users are probably best served by - upgrading to 5.X only after a + upgrading to &release.5x; only after a 5-STABLE development branch has been created; this may be around - the time of 5.1-RELEASE or 5.2-RELEASE. + the time of 5.2-RELEASE. - (&os; 5.0 suffers from what has been described as a + (&os; &release.5x; suffers from what has been described as a chicken and egg problem. The entire project has - a goal of producing a 5.0-RELEASE that is as stable and reliable + a goal of producing releases that are as stable and reliable as possible. This stability and reliability requires widespread testing, particularly of the system's newer features. However, getting a large number of users to test the system, in a @@ -70,14 +89,14 @@ release first!) This article describes some of the issues involved in - installing and running &os; 5.0-RELEASE. We begin with a + installing and running &os; &release.current;. We begin with a brief overview of the &os; release process. We then present - some of the more noteworthy new features in &os; 5.0, along + some of the more noteworthy new features in &os; &release.current;, along with some areas that may prove troublesome for unwary users. For those users choosing to remain with 4-STABLE-based releases, we give some of the short- to medium-term plans for this development branch. Finally, we present some notes on upgrading - existing 4.X systems to 5.0. + existing &release.4x; systems to &release.current;. @@ -98,12 +117,12 @@ these branches after some amount of testing in CURRENT. At the moment, only one STABLE branch is under active development; this branch is referred to as 4-STABLE, and all of the - &os; 4.X releases were based on + &os; &release.4x; releases were based on it. This branch has the tag RELENG_4 in the CVS repository. - &os; 5.0 will be based on the CURRENT branch. This - will be the first release from this branch in over two years (the + &os; 5.0 and 5.1 are based on the CURRENT branch. These + are the first releases from this branch in over two years (the last was &os; 4.0, in March 2000). At some point after the release of &os; 5.0, a @@ -112,31 +131,37 @@ The past two stable branches (3-STABLE and 4-STABLE) were created immediately after their respective dot-oh releases (3.0 and 4.0, respectively). In hindsight, this - practice did not give sufficient time for either CURRENT or the new - STABLE branches to stabilize after the new branches were - created. + practice did not give sufficient time for either CURRENT + to stabilize before the new branches were + created. This in turn resulted in wasted effort porting bug + fixes between branches, as well as some architectural changes + that could not be ported between branches at all. Therefore, the release engineering team will only create the - 5-STABLE branch in the CVS repository after they have found a + 5-STABLE branch in the CVS repository after we have found a relatively stable state to use as its basis. It is likely that there will be - multiple releases in the 5.X series + multiple releases in the &release.5x; series before this happens; we estimate that the 5-STABLE branch will be created sometime after - 5.1-RELEASE or 5.2-RELEASE. + 5.2-RELEASE. More information on &os; release engineering processes can be found on the Release - Engineering Web pages and in the &os; Release - Engineering article. + Engineering Web pages and in the &os; Release + Engineering article. Specific issues for the upcoming + 5-STABLE development branch can be found in The + Roadmap for 5-STABLE. New Features - A large attraction of &os; 5.0 is a number of new + A large attraction of &os; &release.5x; is a number of new features. These new features and functionality generally involve large architectural changes that were not feasible to port back to the &os; 4-STABLE development branch. (By contrast, many @@ -149,13 +174,15 @@ SMPng: The next generation support for SMP machines (work in progress). There is now partial support for multiple processors to be running in the kernel - at the same time. + at the same time. This work is ongoing. KSE: Kernel Scheduled Entities allow a single process to have multiple kernel-level threads, similar to Scheduler - Activations. + Activations. The (experimental) libkse + and libthr libraries make this + feature available to multi-threaded userland programs. @@ -166,7 +193,7 @@ GCC: The compiler toolchain is now based on GCC - 3.2.1, rather than GCC + 3.2.2, rather than GCC 2.95.X. @@ -190,7 +217,9 @@ UFS2: A new UFS2 on-disk format has been added, which supports extended per-file attributes and larger file - sizes. + sizes. UFS2 is now the default format for &man.newfs.8;. + On all platforms except for pc98, filesystems created from + within &man.sysinstall.8; will use UFS2 by default. @@ -200,14 +229,14 @@ A more comprehensive list of new features can be found in - the release notes for &os; 5.0. + the release notes for &os; &release.prev; and &os; &release.current;. Drawbacks to Early Adoption - Along with the new features of &os; 5.0 come some areas + Along with the new features of &os; &release.5x; come some areas that can cause problems, or at least can lead to unexpected behavior. Generally, these come from the fact that a number of features are works-in-progress. A partial list of these @@ -217,7 +246,9 @@ A number of features are not yet finished. Examples - from the feature list above include SMPng and KSE. + from the feature list above include SMPng and KSE. While + suitable for testing and experimentation, these features may + not be ready for production use. @@ -238,6 +269,14 @@ + Some parts of the &os; base system have fallen into a + state of disrepair due to a lack of users and maintainers. + These have been removed. Specific examples include the + generation of a.out-style executables, XNS networking + support, and the X-10 controller driver. + + + A number of ports and packages do not build or do not run correctly under &os; 5.0, whereas they did under &os; 4-STABLE. Generally these problems are caused by compiler @@ -245,8 +284,7 @@ - Because &os; 5.0 is the first release from the - CURRENT branch in over two years, many of its features are + Many &os; &release.5x; features are seeing wide exposure for the first time. Many of these features (such as SMPng) have broad impacts on the kernel. @@ -264,7 +302,7 @@ branch after a settling time in -CURRENT. &os; 5.0 does not have the stabilizing influence of a -STABLE branch. (It is likely that the 5-STABLE development - branch will be created sometime after 5.1-RELEASE or + branch will be created sometime after 5.2-RELEASE.) @@ -273,7 +311,7 @@ url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/index.html">Handbook and FAQ) - may not reflect changes recently made to &os; 5.0. + may not reflect changes recently made to &os; &release.5x;. @@ -281,7 +319,7 @@ Because a number of these drawbacks affect system stability, the release engineering team recommends that more conservative sites and users stick to releases based on the 4-STABLE branch until - the 5.X series is more polished. + the &release.5x; series is more polished. @@ -289,27 +327,26 @@ Plans for the 4-STABLE Branch The release of &os; 5.0 does not mean the end of the - 4-STABLE branch. There will most likely be at least one more release on + 4-STABLE branch. Indeed, &os; 4.8 was released two months after + 5.0, in April 2003. There will most likely be at least one more release on this branch, namely 4.9-RELEASE, currently scheduled for summer - 2003. - - As of this writing, the release engineering team has no - definite plans for future releases (past 4.8) on the 4-STABLE - branch. However, a 4.9-RELEASE or even a 4.10-RELEASE are - likely possibilities. Any future releases from this branch will + 2003. + A 4.10-RELEASE is a likely possibility as well. + Future releases from this branch will depend on several factors. The most important of these is the existence and stability of the 5-STABLE branch. If CURRENT is not sufficiently stable to allow the creation of a 5-STABLE branch, this may require and permit more releases from the 4-STABLE branch. Until the last declared release - on the 4-STABLE branch, new features may be merged from HEAD at + on the 4-STABLE branch, new features may be merged from HEAD at the discretion of developers, subject to existing release engineering policies. - To some extent, the release engineering team will take into + To some extent, the release engineering team (as well as the + developer community as a whole) will take into account user demand for future 4-STABLE releases. This demand, however, will need to be balanced with release engineering - resources (in terms of personnel, computing resources, and mirror + resources (particularly developers' time, computing resources, and mirror archive space). The &a.security-officer; will continue to support releases @@ -319,20 +356,20 @@ page on the &os; web site. Generally, the two most recent releases from any branch will be supported with respect to security advisories and security fixes. At its discretion, - the team may support other releases. + the team may support other releases for specific issues. - Notes on Upgrading + Notes on Upgrading from &os; &release.4x; For those users with existing &os; systems, this section offers a few notes on upgrading a &os; - 4.X system to - 5.X. As with any &os; upgrade, it + &release.4x; system to + &release.5x;. As with any &os; upgrade, it is crucial to read the release notes and the errata for the version in question, as well as - src/UPDATING for source upgrades. + src/UPDATING in the case of source upgrades. Binary Upgrades @@ -341,14 +378,16 @@ backup everything, reformat, reinstall, and restore everything. This eliminates problems of incompatible or obsolete executables or configuration files polluting the - new system. + new system. It allows new filesystems to be created to take + advantage of new functionality (most notably, the UFS2 + defaults). As of this time, the binary upgrade option in &man.sysinstall.8; has not been well-tested for cross-major-version upgrades. Using this feature is not recommended. In particular, a binary upgrade will leave behind a number of files that are present in &os; - 4.X but not in 5.0. These obsolete + &release.4x; but not in &release.5x;. These obsolete files may create some problems. On the i386 and pc98 platforms, a UserConfig utility @@ -371,7 +410,7 @@ rather than the stripped-down kernel on the floppy images. In theory, any system capable of booting the Microsoft Windows NT 4 installation CDROMs should be able to cope with the &os; - 5.0 CDROMs. + &release.5x; CDROMs. @@ -402,8 +441,8 @@ users will not notice this change. It is generally possible to run old - 4.X executables under - 5.X, but this requires the + &release.4x; executables under + &release.5x;, but this requires the compat4x distribution to be installed. Thus, using old ports may be possible. @@ -417,22 +456,38 @@ (especially with C++ programs) as the compiler may wind up using a mixture of obsolete and current header files. - MAKEDEV is no longer available. - FreeBSD 5.X uses a device filesystem. For more information, + MAKEDEV is no longer available, nor + is it required. + FreeBSD &release.5x; uses a device filesystem, which automatically + creates device nodes on demand. For more information, please see &man.devfs.5;. + UFS2 is the default on-disk format for file systems + created using &man.newfs.8;. For all platforms except pc98, + it is also the default for file systems created using the disk + labeling screen within &man.sysinstall.8;. Because &os; + &release.4x; only understands UFS1 (not UFS2), disk partitions + that need to be accessed by both &release.5x; and &release.4x; + must be created with UFS1. This can be specified using the + option to &man.newfs.8;, or on the disk + labeling screen in &man.sysinstall.8;. This situation most + often arises with a a single machine that dual-boots &os; + &release.4x; and &os; &release.5x;. Note that there is no way + to convert file systems between the two on-disk formats (other + than backing up, re-creating the file system, and + restoring). + - Summary - While &os; 5.0 contains a number of new and exciting + While &os; &release.current; contains a number of new and exciting features, it may not be suitable for all users at this time. In this document, we presented some background on release - engineering, some of the more notable new features of the 5.X + engineering, some of the more notable new features of the &release.5x; series, and some drawbacks to early adoption. We also presented some future plans for the 4-STABLE development branch and some tips on upgrading for early adopters. ==== //depot/projects/sio/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#5 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.558 2003/05/03 09:44:25 dougb Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.560 2003/05/03 22:18:49 bmah Exp $ 2000 @@ -23,9 +23,10 @@ recent changes made to the &os; base system on the &release.branch; development branch. ]]> - Both changes for kernel and userland are listed, as well as - applicable security advisories that were issued since the last - release. Some brief remarks on upgrading are also presented. + This document lists applicable security advisories that were issued since + the last release, as well as significant changes to the &os; + kernel and userland. + Some brief remarks on upgrading are also presented. @@ -61,6 +62,24 @@ Handbook. ]]> + + Users who are new to the &release.branch; series of &os; + &release.type;s should also read the Early Adopters Guide + to &os; &release.current;. This document can generally be + found in the same location as the release notes (either as a part of a + &os; distribution or on the &os; Web site). It contains important + information regarding the advantages and disadvantages of using + &os; &release.current;, as opposed to releases based on the &os; + 4-STABLE development branch. + + All users are encouraged to consult the release errata before + installing &os;. The errata document is updated with + late-breaking information discovered late in the + release cycle or after the release. Typically, it contains + information on known bugs, security advisories, and corrections to + documentation. An up-to-date copy of the errata for &os; + &release.current; can be found on the &os; Web site. + @@ -78,21 +97,22 @@ since &release.prev;. It includes items that are unique to the &release.branch; branch, as well as some features that may have been recently merged to - other branches (after &os; &release.prev.historic;). The later + other branches (after &os; &release.prev.historic;). The latter items are marked as &merged;. ]]> Typical release note items - document new drivers or hardware support, new commands or options, - major bug fixes, or contributed software upgrades. Applicable security - advisories issued after &release.prev.historic; are also listed. + document recent security advisories issued after + &release.prev.historic;, + new drivers or hardware support, new commands or options, + major bug fixes, or contributed software upgrades. They may also + list changes to major ports/packages or release engineering + practices. Clearly the release notes cannot list every single + change made to &os; between releases; this document focuses + primarily on security advisories, user-visible changes, and major + architectural improvements. - Many additional changes were made to &os; that are not listed - here for lack of space. For example, documentation was corrected - and improved, minor bugs were fixed, insecure coding practices - were audited and corrected, and source code was cleaned up. - Security Advisories @@ -276,7 +296,7 @@ Modules designed for use with &os; 4.X are likely to - panic and should be used with extreme caution. + panic when loaded into a &os; &release.current; kernel and should be used with extreme caution. @@ -301,7 +321,7 @@ SHDSL modem has been added. &merged; A new &man.wlan.4; module provides 802.11 link-layer support. The - &man.wi.4; driver now uses this facility. + &man.wi.4; and &man.an.4; drivers now use this facility. A timing bug in the &man.xl.4; driver, which could cause a kernel panic (or other @@ -403,7 +423,7 @@ programs are &man.camcontrol.8; in the base system, the sysutils/cdrtools port, and the - multimedia/xmmsport. + multimedia/xmms port. @@ -513,7 +533,7 @@ &man.disklabel.8; is now only built for architectures where it is useful (i386, pc98, alpha, and ia64). - The to &man.disklabel.8; has been + The option to &man.disklabel.8; has been removed because the i386 boot loader now resides in a single file. @@ -600,7 +620,7 @@ conjunction with the recently-added net.inet.ip.portrange.reservedhigh sysctl. - The MAKEDEV script is now unnecessary, due to the mandatory + The MAKEDEV script is now unnecessary, due to the mandatory presence of &man.devfs.5;, and has been removed. &man.mergemaster.8; now supports a @@ -634,7 +654,7 @@ &man.newfs.8; will now create UFS2 file systems by default, unless UFS1 is specifically requested with the - . + option. &man.newsyslog.8; now supports a W flag to force previously-started compression jobs for an entry (or @@ -679,9 +699,11 @@ remains unsuitable for all but trivial uses.) &man.rtld.1; now has support for the dynamic mapping of - shared object dependencies. More information can be found in - &man.libmap.conf.5;. This is an optional feature, disabled by - default. + shared object dependencies. This optional feature is especially + useful when experimenting with different threading libraries. + It is not, however, built by default. More information on + enabling and using this feature can be found in + &man.libmap.conf.5;. &man.sem.open.3; now correctly handles multiple opens of the same semaphore; as a result, &man.sem.close.3; no longer crashes @@ -958,7 +980,7 @@ Users with existing &os; systems are highly encouraged to read the Early - Adopter's Guide to &os; 5.0. This document generally has + Adopter's Guide to &os; &release.current;. This document generally has the filename EARLY.TXT on the distribution media, or any other place that the release notes can be found. It offers some notes on upgrading, but more importantly, also ==== //depot/projects/sio/sys/dev/bge/if_bge.c#4 (text+ko) ==== @@ -64,7 +64,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.37 2003/05/03 19:06:50 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.38 2003/05/03 22:58:45 ps Exp $"); #include #include @@ -1003,6 +1003,7 @@ struct bge_softc *sc; { int i; + u_int32_t dma_rw_ctl; /* Set endianness before we access any non-PCI registers. */ #if BYTE_ORDER == BIG_ENDIAN @@ -1042,14 +1043,45 @@ if (pci_read_config(sc->bge_dev, BGE_PCI_PCISTATE, 4) & BGE_PCISTATE_PCI_BUSMODE) { /* Conventional PCI bus */ - pci_write_config(sc->bge_dev, BGE_PCI_DMA_RW_CTL, - BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD|0x3F000F, 4); + dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | + (0x7 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | + (0x7 << BGE_PCIDMARWCTL_WR_WAT_SHIFT) | + (0x0F); } else { /* PCI-X bus */ - pci_write_config(sc->bge_dev, BGE_PCI_DMA_RW_CTL, - BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD|0x1B000F, 4); + /* + * The 5704 uses a different encoding of read/write + * watermarks. + */ + if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5704) + dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | + (0x7 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | + (0x3 << BGE_PCIDMARWCTL_WR_WAT_SHIFT); + else + dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | + (0x3 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | + (0x3 << BGE_PCIDMARWCTL_WR_WAT_SHIFT) | + (0x0F); + + /* + * 5703 and 5704 need ONEDMA_AT_ONCE as a workaround + * for hardware bugs. + */ + if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5703 || + BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5704) { + u_int32_t tmp; + + tmp = CSR_READ_4(sc, BGE_PCI_CLKCTL) & 0x1f; + if (tmp == 0x6 || tmp == 0x7) + dma_rw_ctl |= BGE_PCIDMARWCTL_ONEDMA_ATONCE; + } } + if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5703 || + BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5704) + dma_rw_ctl &= ~BGE_PCIDMARWCTL_MINDMA; + pci_write_config(sc->bge_dev, BGE_PCI_DMA_RW_CTL, dma_rw_ctl, 4); + /* * Set up general mode register. */ @@ -1415,7 +1447,7 @@ CSR_WRITE_4(sc, BGE_MI_STS, BGE_MISTS_LINK); } else { BGE_SETBIT(sc, BGE_MI_MODE, BGE_MIMODE_AUTOPOLL|10<<16); - if (sc->bge_asicrev == BGE_ASICREV_BCM5700) + if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5700) CSR_WRITE_4(sc, BGE_MAC_EVT_ENB, BGE_EVTENB_MI_INTERRUPT); } @@ -1620,10 +1652,6 @@ pci_read_config(dev, BGE_PCI_MISC_CTL, 4) & BGE_PCIMISCCTL_ASICREV; - /* Pretend all 5700s are the same */ - if ((sc->bge_asicrev & 0xFF000000) == BGE_ASICREV_BCM5700) - sc->bge_asicrev = BGE_ASICREV_BCM5700; - /* * Figure out what sort of media we have by checking the * hardware config word in the first 32k of NIC internal memory, @@ -2037,7 +2065,7 @@ * the interrupt handler. */ - if (sc->bge_asicrev == BGE_ASICREV_BCM5700) { + if (BGE_ASICREV(sc->bge_asicrev) == BGE_ASICREV_BCM5700) { u_int32_t status; status = CSR_READ_4(sc, BGE_MAC_STS); ==== //depot/projects/sio/sys/dev/bge/if_bgereg.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.14 2003/05/02 19:53:40 ps Exp $ + * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.15 2003/05/03 22:58:45 ps Exp $ */ /* @@ -231,7 +231,11 @@ #define BGE_ASICREV_BCM5704_A2 0x20020000 /* shorthand one */ -#define BGE_ASICREV_BCM5700 0x71000000 +#define BGE_ASICREV(x) ((x) >> 28) +#define BGE_ASICREV_BCM5700 0x07 +#define BGE_ASICREV_BCM5701 0x00 +#define BGE_ASICREV_BCM5703 0x01 +#define BGE_ASICREV_BCM5704 0x02 /* PCI DMA Read/Write Control register */ #define BGE_PCIDMARWCTL_MINDMA 0x000000FF @@ -239,11 +243,15 @@ #define BGE_PCIDMARWCTL_WRADDR_BNDRY 0x00003800 #define BGE_PCIDMARWCTL_ONEDMA_ATONCE 0x00004000 #define BGE_PCIDMARWCTL_RD_WAT 0x00070000 +# define BGE_PCIDMARWCTL_RD_WAT_SHIFT 16 #define BGE_PCIDMARWCTL_WR_WAT 0x00380000 +# define BGE_PCIDMARWCTL_WR_WAT_SHIFT 19 #define BGE_PCIDMARWCTL_USE_MRM 0x00400000 #define BGE_PCIDMARWCTL_ASRT_ALL_BE 0x00800000 #define BGE_PCIDMARWCTL_DFLT_PCI_RD_CMD 0x0F000000 +# define BGE_PCIDMA_RWCTL_PCI_RD_CMD_SHIFT 24 #define BGE_PCIDMARWCTL_DFLT_PCI_WR_CMD 0xF0000000 +# define BGE_PCIDMA_RWCTL_PCI_WR_CMD_SHIFT 28 #define BGE_PCI_READ_BNDRY_DISABLE 0x00000000 #define BGE_PCI_READ_BNDRY_16BYTES 0x00000100 ==== //depot/projects/sio/sys/ia64/ia64/locore.s#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/locore.s,v 1.28 2003/04/06 21:31:26 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/locore.s,v 1.29 2003/05/03 23:05:16 marcel Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -358,9 +358,9 @@ intr_n = 0 .rept INTRCNT_COUNT - 1 .ascii "#" - .byte intr_n / 100 + '0 - .byte (intr_n % 100) / 10 + '0 - .byte intr_n % 10 + '0 + .byte intr_n / 100 + '0' + .byte (intr_n % 100) / 10 + '0' + .byte intr_n % 10 + '0' .fill INTRNAME_LEN - 1 - 3 - 1, 1, ' ' .byte 0 intr_n = intr_n + 1