From owner-p4-projects Wed Apr 10 10:45:46 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5764637B41A; Wed, 10 Apr 2002 10:43:44 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 3B71037B426 for ; Wed, 10 Apr 2002 10:43:23 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3AHhMO40998 for perforce@freebsd.org; Wed, 10 Apr 2002 10:43:22 -0700 (PDT) (envelope-from jhb@freebsd.org) Date: Wed, 10 Apr 2002 10:43:22 -0700 (PDT) Message-Id: <200204101743.g3AHhMO40998@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin Subject: PERFORCE change 9519 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=9519 Change 9519 by jhb@jhb_laptop on 2002/04/10 10:42:23 IFC. Affected files ... ... //depot/projects/smpng/sys/alpha/include/ansi.h#11 integrate ... //depot/projects/smpng/sys/alpha/include/endian.h#7 integrate ... //depot/projects/smpng/sys/boot/common/interp_forth.c#4 integrate ... //depot/projects/smpng/sys/conf/NOTES#5 integrate ... //depot/projects/smpng/sys/dev/ata/ata-all.c#19 integrate ... //depot/projects/smpng/sys/dev/ata/ata-raid.c#11 integrate ... //depot/projects/smpng/sys/dev/digi/CX.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/CX_PCI.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/EPCX.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/EPCX_PCI.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/Xe.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/Xem.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/Xr.c#2 integrate ... //depot/projects/smpng/sys/dev/digi/digi.c#13 integrate ... //depot/projects/smpng/sys/dev/digi/digi.h#5 integrate ... //depot/projects/smpng/sys/dev/digi/digi_isa.c#4 integrate ... //depot/projects/smpng/sys/dev/pci/pci.c#10 integrate ... //depot/projects/smpng/sys/dev/snp/snp.c#8 integrate ... //depot/projects/smpng/sys/dev/usb/umass.c#13 integrate ... //depot/projects/smpng/sys/i386/include/ansi.h#11 integrate ... //depot/projects/smpng/sys/i386/include/endian.h#8 integrate ... //depot/projects/smpng/sys/ia64/ia64/exception.s#18 integrate ... //depot/projects/smpng/sys/ia64/ia64/pmap.c#26 integrate ... //depot/projects/smpng/sys/ia64/include/ansi.h#11 integrate ... //depot/projects/smpng/sys/ia64/include/endian.h#7 integrate ... //depot/projects/smpng/sys/kern/kern_linker.c#19 integrate ... //depot/projects/smpng/sys/kern/kern_time.c#13 integrate ... //depot/projects/smpng/sys/kern/subr_witness.c#42 integrate ... //depot/projects/smpng/sys/net/if.c#22 integrate ... //depot/projects/smpng/sys/netinet/in.c#12 integrate ... //depot/projects/smpng/sys/netinet/in.h#10 integrate ... //depot/projects/smpng/sys/netinet6/in6.h#4 integrate ... //depot/projects/smpng/sys/powerpc/include/ansi.h#11 integrate ... //depot/projects/smpng/sys/powerpc/include/endian.h#6 integrate ... //depot/projects/smpng/sys/sparc64/include/ansi.h#12 integrate ... //depot/projects/smpng/sys/sparc64/include/endian.h#7 integrate ... //depot/projects/smpng/sys/sys/ioccom.h#5 integrate ... //depot/projects/smpng/sys/sys/linker.h#5 integrate ... //depot/projects/smpng/sys/sys/param.h#20 integrate ... //depot/projects/smpng/sys/sys/types.h#12 integrate ... //depot/projects/smpng/sys/vm/uma_core.c#8 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/include/ansi.h#11 (text+ko) ==== @@ -32,7 +32,7 @@ * * @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: NetBSD: ansi.h,v 1.9 1997/11/23 20:20:53 kleink Exp - * $FreeBSD: src/sys/alpha/include/ansi.h,v 1.26 2002/03/24 11:25:44 obrien Exp $ + * $FreeBSD: src/sys/alpha/include/ansi.h,v 1.27 2002/04/10 15:58:11 mike Exp $ */ #ifndef _MACHINE_ANSI_H_ @@ -53,6 +53,7 @@ #define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */ #define _BSD_PTRDIFF_T_ long /* ptr1 - ptr2 */ #define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */ +#define _BSD_SEGSZ_T_ __int64_t /* segment size (in pages) */ #define _BSD_SIZE_T_ unsigned long /* sizeof() */ #define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t (duh) */ #define _BSD_SSIZE_T_ long /* byte count or error */ ==== //depot/projects/smpng/sys/alpha/include/endian.h#7 (text+ko) ==== @@ -32,7 +32,7 @@ * * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $NetBSD: endian.h,v 1.5 1997/10/09 15:42:19 bouyer Exp $ - * $FreeBSD: src/sys/alpha/include/endian.h,v 1.9 2002/03/09 21:02:11 mike Exp $ + * $FreeBSD: src/sys/alpha/include/endian.h,v 1.10 2002/04/10 14:39:12 mike Exp $ */ #ifndef _MACHINE_ENDIAN_H_ @@ -46,17 +46,26 @@ #define _QUAD_HIGHWORD 1 #define _QUAD_LOWWORD 0 -#ifndef _POSIX_SOURCE /* * Definitions for byte order, according to byte significance from low * address to high. */ -#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ +#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ +#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ +#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ + +#define _BYTE_ORDER _LITTLE_ENDIAN -#define BYTE_ORDER LITTLE_ENDIAN -#endif /* !_POSIX_SOURCE */ +/* + * Deprecated variants that don't have enough underscores to be useful in more + * strict namespaces. + */ +#if __BSD_VISIBLE +#define LITTLE_ENDIAN _LITTLE_ENDIAN +#define BIG_ENDIAN _BIG_ENDIAN +#define PDP_ENDIAN _PDP_ENDIAN +#define BYTE_ORDER _BYTE_ORDER +#endif #ifdef __GNUC__ ==== //depot/projects/smpng/sys/boot/common/interp_forth.c#4 (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/boot/common/interp_forth.c,v 1.21 2001/12/10 08:09:40 obrien Exp $ + * $FreeBSD: src/sys/boot/common/interp_forth.c,v 1.22 2002/04/09 20:59:34 dcs Exp $ */ #include /* to pick up __FreeBSD_version */ @@ -53,6 +53,7 @@ * BootForth Interface to Ficl Forth interpreter. */ +FICL_SYSTEM *bf_sys; FICL_VM *bf_vm; FICL_WORD *pInterp; @@ -232,8 +233,8 @@ char create_buf[41]; /* 31 characters-long builtins */ int fd; - ficlInitSystem(10000); /* Default dictionary ~4000 cells */ - bf_vm = ficlNewVM(); + bf_sys = ficlInitSystem(10000); /* Default dictionary ~4000 cells */ + bf_vm = ficlNewVM(bf_sys); /* Put all private definitions in a "builtins" vocabulary */ ficlExec(bf_vm, "vocabulary builtins also builtins definitions"); @@ -243,7 +244,7 @@ /* make all commands appear as Forth words */ SET_FOREACH(cmdp, Xcommand_set) { - ficlBuild((*cmdp)->c_name, bf_command, FW_DEFAULT); + ficlBuild(bf_sys, (char *)(*cmdp)->c_name, bf_command, FW_DEFAULT); ficlExec(bf_vm, "forth definitions builtins"); sprintf(create_buf, "builtin: %s", (*cmdp)->c_name); ficlExec(bf_vm, create_buf); @@ -252,8 +253,8 @@ ficlExec(bf_vm, "only forth definitions"); /* Export some version numbers so that code can detect the loader/host version */ - ficlSetEnv("FreeBSD_version", __FreeBSD_version); - ficlSetEnv("loader_version", + ficlSetEnv(bf_sys, "FreeBSD_version", __FreeBSD_version); + ficlSetEnv(bf_sys, "loader_version", (bootprog_rev[0] - '0') * 10 + (bootprog_rev[2] - '0')); /* try to load and run init file if present */ @@ -263,7 +264,7 @@ } /* Do this last, so /boot/boot.4th can change it */ - pInterp = ficlLookup("interpret"); + pInterp = ficlLookup(bf_sys, "interpret"); } /* ==== //depot/projects/smpng/sys/conf/NOTES#5 (text+ko) ==== @@ -14,7 +14,7 @@ # This file contains machine independent kernel configuration notes. For # machine dependent notes, look in /sys//conf/NOTES. # -# $FreeBSD: src/sys/conf/NOTES,v 1.1019 2002/04/09 18:26:49 jhb Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1020 2002/04/10 17:27:52 brian Exp $ # # @@ -1767,7 +1767,7 @@ hint.digi.0.at="isa" hint.digi.0.port="0x104" hint.digi.0.maddr="0xd0000" -# BIOS & FEP/OS components of device digi. Normally left as modules +# BIOS & FEP/OS components of device digi. device digi_CX device digi_CX_PCI device digi_EPCX ==== //depot/projects/smpng/sys/dev/ata/ata-all.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.148 2002/04/05 18:37:04 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.149 2002/04/10 11:18:07 sos Exp $ */ #include "opt_ata.h" @@ -406,7 +406,7 @@ iocmd->u.enclosure.temp = temp; iocmd->u.enclosure.v05 = ata_drawersensor(atadev, 0, 0x23, 0) * 27; iocmd->u.enclosure.v12 = ata_drawersensor(atadev, 0, 0x24, 0) * 61; - + ATA_UNLOCK_CH(ch); return 0; } ==== //depot/projects/smpng/sys/dev/ata/ata-raid.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.44 2002/04/02 13:47:23 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.45 2002/04/10 11:18:07 sos Exp $ */ #include "opt_ata.h" @@ -97,11 +97,12 @@ continue; for (disk = 0; disk < rdp->total_disks; disk++) { - if (rdp->disks[disk].device == adp->device) { + if ((rdp->disks[disk].flags & AR_DF_ASSIGNED) && + rdp->disks[disk].device == adp->device) { ata_prtdev(rdp->disks[disk].device, "inserted into ar%d disk%d as spare\n", array, disk); - rdp->disks[disk].flags = (AR_DF_PRESENT | AR_DF_SPARE); + rdp->disks[disk].flags |= (AR_DF_PRESENT | AR_DF_SPARE); AD_SOFTC(rdp->disks[disk])->flags = AD_F_RAID_SUBDISK; ar_config_changed(rdp, 1); return 1; @@ -216,18 +217,19 @@ } printf(" subdisks:\n"); for (disk = 0; disk < rdp->total_disks; disk++) { - if (rdp->disks[disk].flags & AR_DF_ONLINE) - printf(" %d READY ", disk); + if (rdp->disks[disk].flags & AR_DF_PRESENT) { + if (rdp->disks[disk].flags & AR_DF_ONLINE) + printf(" %d READY ", disk); + else if (rdp->disks[disk].flags & AR_DF_SPARE) + printf(" %d SPARE ", disk); + else + printf(" %d FREE ", disk); + ad_print(AD_SOFTC(rdp->disks[disk])); + } else if (rdp->disks[disk].flags & AR_DF_ASSIGNED) - printf(" %d DOWN ", disk); - else if (rdp->disks[disk].flags & AR_DF_SPARE) - printf(" %d SPARE ", disk); - else if (rdp->disks[disk].flags & AR_DF_PRESENT) - printf(" %d FREE ", disk); + printf(" %d DOWN\n", disk); else printf(" %d INVALID no RAID config info on this disk\n", disk); - if (rdp->disks[disk].flags & AR_DF_PRESENT) - ad_print(AD_SOFTC(rdp->disks[disk])); } } @@ -286,7 +288,8 @@ break; } if (rdp->flags & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID) && - (rdp->flags & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID)) != ctlr){ + (rdp->flags & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID)) != + (ctlr & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID))) { free(rdp, M_AR); return EXDEV; } @@ -555,7 +558,8 @@ switch (rdp->flags & (AR_F_RAID0 | AR_F_RAID1 | AR_F_SPAN)) { case AR_F_SPAN: case AR_F_RAID0: - if (rdp->disks[buf1->drive].flags & AR_DF_ONLINE && + if ((rdp->disks[buf1->drive].flags & + (AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) && !AD_SOFTC(rdp->disks[buf1->drive])->dev->si_disk) { rdp->disks[buf1->drive].flags &= ~AR_DF_ONLINE; ar_config_changed(rdp, 1); @@ -579,12 +583,14 @@ tsleep(rdp, PRIBIO, "arwait", 0); } } - if (rdp->disks[buf1->drive].flags & AR_DF_ONLINE && + if ((rdp->disks[buf1->drive].flags & + (AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) && !AD_SOFTC(rdp->disks[buf1->drive])->dev->si_disk) { rdp->disks[buf1->drive].flags &= ~AR_DF_ONLINE; change = 1; } - if (rdp->disks[buf1->drive + rdp->width].flags & AR_DF_ONLINE && + if ((rdp->disks[buf1->drive + rdp->width].flags & + (AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) && !AD_SOFTC(rdp->disks[buf1->drive + rdp->width])->dev->si_disk) { rdp->disks[buf1->drive + rdp->width].flags &= ~AR_DF_ONLINE; change = 1; @@ -727,6 +733,10 @@ rdp->flags |= AR_F_READY; rdp->flags &= ~AR_F_DEGRADED; + for (disk = 0; disk < rdp->total_disks; disk++) + if (!(rdp->disks[disk].flags & AR_DF_PRESENT)) + rdp->disks[disk].flags &= ~AR_DF_ONLINE; + for (disk = 0; disk < rdp->total_disks; disk++) { switch (rdp->flags & (AR_F_RAID0 | AR_F_RAID1 | AR_F_SPAN)) { case AR_F_SPAN: @@ -1228,12 +1238,12 @@ raid->disks[disk].flags |= AR_DF_ONLINE; if (info->raid.disk[disk].flags & PR_F_ASSIGNED) raid->disks[disk].flags |= AR_DF_ASSIGNED; - if (info->raid.disk[disk].flags & PR_F_SPARE) + if (info->raid.disk[disk].flags & PR_F_SPARE) { + raid->disks[disk].flags &= ~AR_DF_ONLINE; raid->disks[disk].flags |= AR_DF_SPARE; - if (info->raid.disk[disk].flags & (PR_F_REDIR | PR_F_DOWN)) { + } + if (info->raid.disk[disk].flags & (PR_F_REDIR | PR_F_DOWN)) raid->disks[disk].flags &= ~AR_DF_ONLINE; - raid->disks[disk].flags |= AR_DF_PRESENT; - } } if (!disksum) { free(raidp[array], M_AR); @@ -1285,18 +1295,8 @@ config->magic_0 = PR_MAGIC0(rdp->disks[disk]) | timestamp.tv_sec; config->magic_1 = timestamp.tv_sec >> 16; config->magic_2 = timestamp.tv_sec; - config->raid.integrity = PR_I_VALID; - config->raid.flags = 0; - if (rdp->disks[disk].flags & AR_DF_PRESENT) - config->raid.flags |= PR_F_VALID; - if (rdp->disks[disk].flags & AR_DF_ASSIGNED) - config->raid.flags |= PR_F_ASSIGNED; - if (rdp->disks[disk].flags & AR_DF_ONLINE) - config->raid.flags |= PR_F_ONLINE; - else - config->raid.flags |= PR_F_DOWN; config->raid.disk_number = disk; if (rdp->disks[disk].flags & AR_DF_PRESENT && rdp->disks[disk].device) { config->raid.channel = rdp->disks[disk].device->channel->unit; @@ -1310,6 +1310,7 @@ config->raid.generation = rdp->generation; if (rdp->flags & AR_F_READY) { + config->raid.flags = (PR_F_VALID | PR_F_ASSIGNED | PR_F_ONLINE); config->raid.status = (PR_S_VALID | PR_S_ONLINE | PR_S_INITED | PR_S_READY); if (rdp->flags & AR_F_DEGRADED) @@ -1317,8 +1318,10 @@ else config->raid.status |= PR_S_FUNCTIONAL; } - else + else { + config->raid.flags = PR_F_DOWN; config->raid.status = 0; + } switch (rdp->flags & (AR_F_RAID0 | AR_F_RAID1 | AR_F_SPAN)) { case AR_F_RAID0: ==== //depot/projects/smpng/sys/dev/digi/CX.c#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/dev/digi/CX.c,v 1.1 2001/05/02 01:08:02 brian Exp $ + * $FreeBSD: src/sys/dev/digi/CX.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_CX, 1); DEV_MODULE(digi_CX, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/CX_PCI.c#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/dev/digi/CX_PCI.c,v 1.1 2001/05/02 01:08:02 brian Exp $ + * $FreeBSD: src/sys/dev/digi/CX_PCI.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_CX_PCI, 1); DEV_MODULE(digi_CX_PCI, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/EPCX.c#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/dev/digi/EPCX.c,v 1.1 2001/05/02 01:08:02 brian Exp $ + * $FreeBSD: src/sys/dev/digi/EPCX.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_EPCX, 1); DEV_MODULE(digi_EPCX, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/EPCX_PCI.c#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/dev/digi/EPCX_PCI.c,v 1.1 2001/05/02 01:08:02 brian Exp $ + * $FreeBSD: src/sys/dev/digi/EPCX_PCI.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_EPCX_PCI, 1); DEV_MODULE(digi_EPCX_PCI, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/Xe.c#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/dev/digi/Xe.c,v 1.1 2001/05/02 01:08:02 brian Exp $ + * $FreeBSD: src/sys/dev/digi/Xe.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_Xe, 1); DEV_MODULE(digi_Xe, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/Xem.c#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/dev/digi/Xem.c,v 1.1 2001/05/02 01:08:03 brian Exp $ + * $FreeBSD: src/sys/dev/digi/Xem.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_Xem, 1); DEV_MODULE(digi_Xem, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/Xr.c#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/dev/digi/Xr.c,v 1.1 2001/05/02 01:08:03 brian Exp $ + * $FreeBSD: src/sys/dev/digi/Xr.c,v 1.2 2002/04/10 01:12:55 brian Exp $ */ #include @@ -42,4 +42,5 @@ { NULL, 0 } }; +MODULE_VERSION(digi_Xr, 1); DEV_MODULE(digi_Xr, 0, 0); ==== //depot/projects/smpng/sys/dev/digi/digi.c#13 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/digi/digi.c,v 1.21 2002/04/01 21:30:32 jhb Exp $ + * $FreeBSD: src/sys/dev/digi/digi.c,v 1.27 2002/04/10 14:32:55 brian Exp $ */ /*- @@ -221,6 +221,15 @@ return (1); } +void +digi_delay(struct digi_softc *sc, const char *txt, u_long timo) +{ + if (cold) + DELAY(timo * 1000000 / hz); + else + tsleep(sc, PUSER | PCATCH, txt, timo); +} + static int digi_init(struct digi_softc *sc) { @@ -298,19 +307,19 @@ case PCXEM: case PCIEPCX: case PCIXR: - if (sc->model == PCIXR) + if (sc->pcibus) PCIPORT = FEPRST; else outb(sc->port, FEPRST | FEPMEM); - for (i = 0; ((sc->model == PCIXR ? PCIPORT : inb(sc->port)) & + for (i = 0; ((sc->pcibus ? PCIPORT : inb(sc->port)) & FEPMASK) != FEPRST; i++) { - if (i > 1000) { - log(LOG_ERR, "digi%d: init reset failed\n", - sc->res.unit); + if (i > 100) { + log(LOG_ERR, "digi%d: %s init reset failed\n", + sc->res.unit, sc->name); return (EIO); } - tsleep(sc, PUSER | PCATCH, "digiinit0", 1); + digi_delay(sc, "digiinit0", 5); } DLOG(DIGIDB_INIT, (sc->dev, "Got init reset after %d us\n", i)); @@ -348,7 +357,7 @@ ptr = sc->setwin(sc, MISCGLOBAL); W(ptr) = 0; - if (sc->model == PCIXR) { + if (sc->pcibus) { PCIPORT = FEPCLR; resp = FEPRST; } else if (sc->model == PCXEVE) { @@ -359,26 +368,26 @@ resp = FEPRST | FEPMEM; } - for (i = 0; ((sc->model == PCIXR ? PCIPORT : inb(sc->port)) & FEPMASK) + for (i = 0; ((sc->pcibus ? PCIPORT : inb(sc->port)) & FEPMASK) == resp; i++) { - if (i > 1000) { + if (i > 100) { log(LOG_ERR, "digi%d: BIOS start failed\n", sc->res.unit); return (EIO); } - tsleep(sc, PUSER | PCATCH, "digibios0", 1); + digi_delay(sc, "digibios0", 5); } DLOG(DIGIDB_INIT, (sc->dev, "BIOS started after %d us\n", i)); for (i = 0; vW(ptr) != *(u_short *)"GD"; i++) { - if (i > 2000) { + if (i > 200) { log(LOG_ERR, "digi%d: BIOS boot failed " "(0x%02x != 0x%02x)\n", sc->res.unit, vW(ptr), *(u_short *)"GD"); return (EIO); } - tsleep(sc, PUSER | PCATCH, "digibios1", 1); + digi_delay(sc, "digibios1", 5); } DLOG(DIGIDB_INIT, (sc->dev, "BIOS booted after %d iterations\n", i)); @@ -412,13 +421,13 @@ outb(sc->port, FEPCLR | FEPMEM); for (i = 0; W(ptr); i++) { - if (i > 10) { + if (i > 100) { log(LOG_ERR, "digi%d: FEP/OS move failed\n", sc->res.unit); sc->hidewin(sc); return (EIO); } - tsleep(sc, PUSER | PCATCH, "digifep0", 1); + digi_delay(sc, "digifep0", 5); } DLOG(DIGIDB_INIT, (sc->dev, "FEP/OS moved after %d iterations\n", i)); @@ -497,14 +506,14 @@ /* Now wait 'till the FEP/OS has booted */ for (i = 0; vW(ptr) != *(u_short *)"OS"; i++) { - if (i > 2000) { + if (i > 200) { log(LOG_ERR, "digi%d: FEP/OS start failed " "(0x%02x != 0x%02x)\n", sc->res.unit, vW(ptr), *(u_short *)"OS"); sc->hidewin(sc); return (EIO); } - tsleep(sc, PUSER | PCATCH, "digifep1", 1); + digi_delay(sc, "digifep1", 5); } DLOG(DIGIDB_INIT, (sc->dev, "FEP/OS started after %d iterations\n", i)); @@ -1028,8 +1037,14 @@ modlen = strlen(sc->module); modfile = malloc(modlen + 6, M_TEMP, M_WAITOK); snprintf(modfile, modlen + 6, "digi_%s", sc->module); - if ((res = linker_reference_module(modfile, &lf)) != 0) - printf("%s: Failed %d to load module\n", modfile, res); + if ((res = linker_reference_module(modfile, NULL, &lf)) != 0) { + if (res == ENOENT && rootdev == NODEV) + printf("%s: Failed to autoload module: No filesystem\n", + modfile); + else + printf("%s: Failed %d to autoload module\n", modfile, + res); + } free(modfile, M_TEMP); if (res != 0) return (res); @@ -1944,3 +1959,5 @@ { return (0); } + +MODULE_VERSION(digi, 1); ==== //depot/projects/smpng/sys/dev/digi/digi.h#5 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/digi/digi.h,v 1.10 2002/02/27 23:47:45 peter Exp $ + * $FreeBSD: src/sys/dev/digi/digi.h,v 1.12 2002/04/10 14:32:55 brian Exp $ */ #define W(p) (*(u_int16_t *)(p)) @@ -215,3 +215,5 @@ int digi_attach(struct digi_softc *); int digi_detach(device_t _dev); int digi_shutdown(device_t _dev); +void digi_delay(struct digi_softc *_sc, const char *_txt, + u_long _timo); ==== //depot/projects/smpng/sys/dev/digi/digi_isa.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/digi/digi_isa.c,v 1.7 2002/02/27 23:47:45 peter Exp $ + * $FreeBSD: src/sys/dev/digi/digi_isa.c,v 1.9 2002/04/10 14:32:55 brian Exp $ */ /*- @@ -112,12 +112,14 @@ /* Invasive probe - reset the card */ outb(sc->port, FEPRST); - for (i = 1000; DELAY(1), i >= 0; i--) + for (i = 0; i < 10; i++) { if ((inb(sc->port) & FEPMASK) == FEPRST) break; - if (i == -1) + digi_delay(sc, "digirst", 1); + } + if (i == 10) return (NULL); - DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d us\n", 1000 - i)); + DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d delays\n", i)); ident = inb(sc->port); @@ -373,18 +375,17 @@ reset |= FEPMEM; outb(sc->port, reset); - for (i = 10; DELAY(1), i >= 0; i--) { + for (i = 0; i < 10; i++) { if ((inb(sc->port) & FEPMASK) == reset) break; - tsleep(sc, PUSER | PCATCH, "digirst0", hz / 5); + digi_delay(sc, "digirst1", 1); } - if (i == -1) { + if (i == 10) { device_printf(dev, "1st reset failed\n"); sc->hidewin(sc); goto failed; } - DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d us\n", - (10 - i) * (hz / 5))); + DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d delays\n", i)); if (sc->model != PCXI) { t = (sc->pmem >> 8) & 0xffe0; @@ -396,17 +397,18 @@ if (sc->model == PCXI || sc->model == PCXE) { outb(sc->port, FEPRST | FEPMEM); - for (i = 10000; DELAY(1), i >= 0; i--) + for (i = 0; i < 10; i++) { if ((inb(sc->port) & FEPMASK) != FEPRST) break; - if (i == -1) { + digi_delay(sc, "digirst2", 1); + } + if (i == 10) { device_printf(dev, "2nd reset failed (0x%02x)\n", inb(sc->port)); sc->hidewin(sc); goto failed; } - DLOG(DIGIDB_INIT, (sc->dev, "got memory after %d us\n", - 10000 - i)); + DLOG(DIGIDB_INIT, (sc->dev, "got memory after %d delays\n", i)); } DLOG(DIGIDB_INIT, (sc->dev, "short memory test\n")); ==== //depot/projects/smpng/sys/dev/pci/pci.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pci.c,v 1.188 2002/03/13 16:32:11 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pci.c,v 1.189 2002/04/10 07:35:28 n_hibma Exp $ * */ @@ -750,7 +750,11 @@ pci_add_map(pcib, b, s, f, q->arg1, rl); } - if (cfg->intpin > 0 && cfg->intline != 255) { + if (cfg->intpin > 0 && cfg->intline != 255 +#ifdef __i386__ + && cfg->intline != 0 +#endif + ) { #ifdef __ia64__ /* * Re-route interrupts on ia64 so that we can get the ==== //depot/projects/smpng/sys/dev/snp/snp.c#8 (text+ko) ==== @@ -12,7 +12,7 @@ * * Snoop stuff. * - * $FreeBSD: src/sys/dev/snp/snp.c,v 1.72 2002/03/20 02:07:42 alfred Exp $ + * $FreeBSD: src/sys/dev/snp/snp.c,v 1.73 2002/04/10 03:51:49 dd Exp $ */ #include @@ -202,7 +202,7 @@ struct snoop *snp; struct tty *tp; int error, i, len; - char c[SNP_INPUT_BUF]; + unsigned char c[SNP_INPUT_BUF]; snp = dev->si_drv1; tp = snp->snp_tty; ==== //depot/projects/smpng/sys/dev/usb/umass.c#13 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/usb/umass.c,v 1.57 2002/04/01 21:13:21 joe Exp $ + * $FreeBSD: src/sys/dev/usb/umass.c,v 1.58 2002/04/10 13:22:12 n_hibma Exp $ * $NetBSD: umass.c,v 1.28 2000/04/02 23:46:53 augustss Exp $ */ @@ -394,25 +394,26 @@ int transfer_status; int transfer_state; -# define TSTATE_IDLE 0 -# define TSTATE_BBB_COMMAND 1 /* CBW transfer */ -# define TSTATE_BBB_DATA 2 /* Data transfer */ -# define TSTATE_BBB_DCLEAR 3 /* clear endpt stall */ -# define TSTATE_BBB_STATUS1 4 /* clear endpt stall */ -# define TSTATE_BBB_SCLEAR 5 /* clear endpt stall */ -# define TSTATE_BBB_STATUS2 6 /* CSW transfer */ -# define TSTATE_BBB_RESET1 7 /* reset command */ -# define TSTATE_BBB_RESET2 8 /* in clear stall */ -# define TSTATE_BBB_RESET3 9 /* out clear stall */ -# define TSTATE_CBI_COMMAND 10 /* command transfer */ -# define TSTATE_CBI_DATA 11 /* data transfer */ -# define TSTATE_CBI_STATUS 12 /* status transfer */ -# define TSTATE_CBI_DCLEAR 13 /* clear ep stall */ -# define TSTATE_CBI_SCLEAR 14 /* clear ep stall */ -# define TSTATE_CBI_RESET1 15 /* reset command */ -# define TSTATE_CBI_RESET2 16 /* in clear stall */ -# define TSTATE_CBI_RESET3 17 /* out clear stall */ -# define TSTATE_STATES 18 /* # of states above */ +# define TSTATE_ATTACH 0 /* in attach */ +# define TSTATE_IDLE 1 +# define TSTATE_BBB_COMMAND 2 /* CBW transfer */ +# define TSTATE_BBB_DATA 3 /* Data transfer */ +# define TSTATE_BBB_DCLEAR 4 /* clear endpt stall */ +# define TSTATE_BBB_STATUS1 5 /* clear endpt stall */ +# define TSTATE_BBB_SCLEAR 6 /* clear endpt stall */ +# define TSTATE_BBB_STATUS2 7 /* CSW transfer */ +# define TSTATE_BBB_RESET1 8 /* reset command */ +# define TSTATE_BBB_RESET2 9 /* in clear stall */ +# define TSTATE_BBB_RESET3 10 /* out clear stall */ +# define TSTATE_CBI_COMMAND 11 /* command transfer */ +# define TSTATE_CBI_DATA 12 /* data transfer */ +# define TSTATE_CBI_STATUS 13 /* status transfer */ +# define TSTATE_CBI_DCLEAR 14 /* clear ep stall */ +# define TSTATE_CBI_SCLEAR 15 /* clear ep stall */ +# define TSTATE_CBI_RESET1 16 /* reset command */ +# define TSTATE_CBI_RESET2 17 /* in clear stall */ +# define TSTATE_CBI_RESET3 18 /* out clear stall */ +# define TSTATE_STATES 19 /* # of states above */ /* SCSI/CAM specific variables */ @@ -428,6 +429,7 @@ #ifdef UMASS_DEBUG char *states[TSTATE_STATES+1] = { /* should be kept in sync with the list at transfer_state */ + "Attach", "Idle", "BBB CBW", "BBB Data", @@ -932,7 +934,7 @@ } /* initialisation of generic part */ - sc->transfer_state = TSTATE_IDLE; + sc->transfer_state = TSTATE_ATTACH; /* request a sufficient number of xfer handles */ for (i = 0; i < XFER_NR; i++) { @@ -1015,7 +1017,7 @@ __FILE__, __LINE__, sc->proto); } - + sc->transfer_state = TSTATE_IDLE; DPRINTF(UDMASS_GEN, ("%s: Attach finished\n", USBDEVNAME(sc->sc_dev))); USB_ATTACH_SUCCESS_RETURN; ==== //depot/projects/smpng/sys/i386/include/ansi.h#11 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/i386/include/ansi.h,v 1.36 2002/03/24 11:25:45 obrien Exp $ + * $FreeBSD: src/sys/i386/include/ansi.h,v 1.37 2002/04/10 15:58:11 mike Exp $ */ #ifndef _MACHINE_ANSI_H_ @@ -52,6 +52,7 @@ #define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */ #define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */ #define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */ +#define _BSD_SEGSZ_T_ __int32_t /* segment size (in pages) */ #define _BSD_SIZE_T_ unsigned int /* sizeof() */ #define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t (duh) */ #define _BSD_SSIZE_T_ int /* byte count or error */ ==== //depot/projects/smpng/sys/i386/include/endian.h#8 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)endian.h 7.8 (Berkeley) 4/3/91 - * $FreeBSD: src/sys/i386/include/endian.h,v 1.32 2002/03/09 21:02:12 mike Exp $ + * $FreeBSD: src/sys/i386/include/endian.h,v 1.33 2002/04/10 14:39:13 mike Exp $ */ #ifndef _MACHINE_ENDIAN_H_ @@ -46,17 +46,26 @@ #define _QUAD_HIGHWORD 1 #define _QUAD_LOWWORD 0 -#ifndef _POSIX_SOURCE /* * Definitions for byte order, according to byte significance from low * address to high. */ -#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ +#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ +#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ +#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ + +#define _BYTE_ORDER _LITTLE_ENDIAN -#define BYTE_ORDER LITTLE_ENDIAN -#endif /* ! _POSIX_SOURCE */ +/* + * Deprecated variants that don't have enough underscores to be useful in more + * strict namespaces. + */ +#if __BSD_VISIBLE +#define LITTLE_ENDIAN _LITTLE_ENDIAN +#define BIG_ENDIAN _BIG_ENDIAN +#define PDP_ENDIAN _PDP_ENDIAN +#define BYTE_ORDER _BYTE_ORDER +#endif #ifdef __GNUC__ ==== //depot/projects/smpng/sys/ia64/ia64/exception.s#18 (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/exception.s,v 1.32 2002/03/29 16:35:25 jake Exp $ + * $FreeBSD: src/sys/ia64/ia64/exception.s,v 1.33 2002/04/10 16:35:44 dfr Exp $ */ #include @@ -1406,8 +1406,49 @@ mov out1=r16 // arguments add out2=(8*8),r16 // trapframe pointer br.call.sptk.many rp=syscall // do the work +} { .mmi +3: rsm psr.i // we know that psr.i == 1 + add r14=PC_CURTHREAD,r13 // &curthread + nop.i 0 + ;; +} { .mmi + ld8 r14=[r14] // curthread + ;; + add r14=TD_KSE,r14 // &curthread->td_kse + nop.i 0 + ;; +} { .mmi + ld8 r14=[r14] // curkse + ;; + add r14=KE_FLAGS,r14 // &curkse->ke_flags + nop.i 0 + ;; +} { .mmi + ld4 r14=[r14] // curkse->ke_flags + ;; + nop.m 0 + tbit.nz p6,p7=r14,10 // KEF_ASTPENDING + ;; +} { .mib + nop.m 0 +(p7) tbit.nz.or.andcm p6,p7=r14,11 // KEF_NEEDRESCHED +(p7) br.cond.dptk 2f + ;; +} { .mmi + ssm psr.i // restore interrupts + ;; + srlz.d + mov out0=loc0 // trapframe argument to ast() +} { .mib + nop.m 0 + nop.i 0 + br.call.sptk.many rp=ast +} { .mib + nop.m 0 + nop.i 0 + br 3b } { .mii >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message