Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Mar 1998 19:42:06 -0700
From:      "Justin T. Gibbs" <gibbs@plutotech.com>
To:        Cory Kempf <ckempf@enigami.com>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: Kernel / Compiler bug? 
Message-ID:  <199803190245.TAA14021@pluto.plutotech.com>
In-Reply-To: Your message of "Wed, 18 Mar 1998 11:59:37 EST." <v04003a0bb135aac27b6a@[208.140.182.45]> 

next in thread | previous in thread | raw e-mail | index | archive | help
>Sorry if this is a re-run, but it looks like the original got lost somewhere.
>
>This problem may be CAM specific.
>
>I am not sure what to do about this one.  Since I got my machine I have not
>been able to build a kernel that runs, without using "swap on generic" and
>-a at the boot prompt
>
>Well, after doing some debugging, it looks like the line
>
>	dev_t rootdev = makedev(4, 0x000020000);
>
>in swapkernel.c (/usr/src/sys/compile/<foo>/swapkernel.c) isn't being run.

Are you sure it isn't simply being spammed somewhere in autoconf.c?

[narnia::i386]$ grep rootdev *.c
autoconf.c:     dev_t orootdev;
autoconf.c:     orootdev = rootdev;
autoconf.c:                     rootdev = makedev(try_cdrom[j].major, i * 8);
autoconf.c:                     bd = bdevsw[major(rootdev)];
autoconf.c:                             printf("trying %s%d as rootdev (0x%x)\n",
autoconf.c:                                    try_cdrom[j].name, i, rootdev);
autoconf.c:                     error = (bd->d_open)(rootdev, FREAD, S_IFBLK, curproc);
autoconf.c:                                     (bd->d_close)(rootdev, FREAD, S_IFBLK,
autoconf.c:     rootdev = orootdev;
autoconf.c:             /* NB: find_cdrom_root() sets rootdev if successful. */
autoconf.c:              * (rootdev is always initialized to NODEV in a
autoconf.c:             if ((boothowto & RB_ASKNAME) == 0 || rootdev != NODEV)
autoconf.c:              * (rootdev is always initialized to NODEV in a
autoconf.c:             if ((boothowto & RB_ASKNAME) == 0 || rootdev != NODEV)
autoconf.c: * change rootdev to correspond to the load device.
autoconf.c:     dev_t orootdev;
autoconf.c:     orootdev = rootdev;
autoconf.c:     rootdev = makedev(majdev, mindev);
autoconf.c:      * If the original rootdev is the same as the one
autoconf.c:     if ((rootdev & ~0xff0000) == (orootdev & ~0xff0000))
swapgeneric.c:dev_t     rootdev = NODEV;
swapgeneric.c:  if (rootdev != NODEV)
swapgeneric.c:  rootdev = gc->gc_root;

--
Justin



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803190245.TAA14021>