From owner-freebsd-alpha@FreeBSD.ORG Mon Feb 7 11:01:43 2005 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7A5BE16A4D1 for ; Mon, 7 Feb 2005 11:01:43 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4510A43D58 for ; Mon, 7 Feb 2005 11:01:43 +0000 (GMT) (envelope-from owner-bugmaster@freebsd.org) Received: from freefall.freebsd.org (peter@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id j17B1hl2059278 for ; Mon, 7 Feb 2005 11:01:43 GMT (envelope-from owner-bugmaster@freebsd.org) Received: (from peter@localhost) by freefall.freebsd.org (8.13.1/8.13.1/Submit) id j17B1gSH059272 for freebsd-alpha@freebsd.org; Mon, 7 Feb 2005 11:01:42 GMT (envelope-from owner-bugmaster@freebsd.org) Date: Mon, 7 Feb 2005 11:01:42 GMT Message-Id: <200502071101.j17B1gSH059272@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: peter set sender to owner-bugmaster@freebsd.org using -f From: FreeBSD bugmaster To: freebsd-alpha@FreeBSD.org Subject: Current problem reports assigned to you X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 11:01:43 -0000 Current FreeBSD problem reports Critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2004/12/20] alpha/75317 alpha ATA DMA broken on PCalpha 1 problem total. Serious problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2001/09/10] alpha/30486 alpha AlphaServer DS10 floppy access is broken o [2001/09/10] alpha/30487 alpha Floppy access on AlphaServer DS20 solid l o [2003/02/05] alpha/47952 alpha DEFPA causes machine check with V5.0-rele o [2003/11/10] alpha/59116 alpha [ntfs] mount_ntfs of a Windows 2000-forma o [2004/01/26] alpha/61940 alpha Can't disklabel new disk from FreeBSD/alp o [2004/01/27] alpha/61973 alpha Machine Check on boot-up of AlphaServer 2 f [2004/06/06] alpha/67626 alpha X crashes an alpha machine, resulting reb 7 problems total. Non-critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2001/01/27] alpha/24663 alpha Console output gets scribbled into /var/l o [2001/02/22] alpha/25284 alpha PC164 won't reboot with graphics console o [2001/06/07] alpha/27930 alpha NE2000 not supported on FreeBSD Alpha 4.x o [2001/06/07] alpha/27933 alpha Time jitter under load on FreeBSD 4.3 alp f [2001/07/29] alpha/29299 alpha FreeBSD 4.3 Alpha + Tekram SCSI adapter p o [2001/10/01] alpha/30970 alpha Ensoniq 1371 (Creative chipset) does not o [2002/01/24] alpha/34232 alpha rpc.statd throws alignment errors o [2002/05/13] alpha/38031 alpha osf1.ko not loaded during boot-time of li p [2002/11/12] alpha/45240 alpha pstat -f column headings misaligned on Al o [2003/02/25] alpha/48676 alpha Changing the baud rate of serial consoles o [2003/04/12] alpha/50868 alpha fd0 floppy device is not mapped into /dev o [2004/05/10] alpha/66478 alpha unexpected machine check: panic for 4.9, o [2004/06/13] alpha/67903 alpha hw.chipset.memory: 1099511627776 - thats 13 problems total. From owner-freebsd-alpha@FreeBSD.ORG Mon Feb 7 23:25:52 2005 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 430F116A4CE for ; Mon, 7 Feb 2005 23:25:52 +0000 (GMT) Received: from mail27.sea5.speakeasy.net (mail27.sea5.speakeasy.net [69.17.117.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9728243D55 for ; Mon, 7 Feb 2005 23:25:51 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 11052 invoked from network); 7 Feb 2005 23:25:51 -0000 Received: from server.baldwin.cx ([216.27.160.63]) (envelope-sender )AES256-SHA encrypted SMTP for ; 7 Feb 2005 23:25:49 -0000 Received: from [10.50.40.202] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id j17NPeDU089103 for ; Mon, 7 Feb 2005 18:25:41 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: alpha@FreeBSD.org Date: Mon, 7 Feb 2005 18:25:01 -0500 User-Agent: KMail/1.6.2 MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <200502071825.01946.jhb@FreeBSD.org> X-Spam-Status: No, score=-102.8 required=4.2 tests=ALL_TRUSTED, USER_IN_WHITELIST autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx Subject: [PATCH] ABI changes, please test X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 23:25:52 -0000 Can folks test this patch on HEAD. It fixes various things with the Linux and OSF/1 compat ABIs similar to the changes I committed to ibcs2 and svr4 today: --- //depot/projects/smpng/sys/alpha/linux/linux_machdep.c 2004/12/15 21:41:34 +++ //depot/user/jhb/proc/alpha/linux/linux_machdep.c 2005/02/02 22:25:59 @@ -31,7 +31,9 @@ #include #include +#include #include +#include #include #include #include @@ -64,20 +66,23 @@ int linux_execve(struct thread *td, struct linux_execve_args *args) { - struct execve_args bsd; - caddr_t sg; + struct image_args eargs; + char *path; + int error; - sg = stackgap_init(); - CHECKALTEXIST(td, &sg, args->path); + LCONVPATHEXIST(td, args->path, &path); #ifdef DEBUG if (ldebug(execve)) - printf(ARGS(execve, "%s"), args->path); + printf(ARGS(execve, "%s"), path); #endif - bsd.fname = args->path; - bsd.argv = args->argp; - bsd.envv = args->envp; - return (execve(td, &bsd)); + error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, args->argp, + args->envp); + free(path, M_TEMP); + if (error == 0) + error = kern_execve(td, &eargs, NULL); + exec_free_args(&eargs); + return (error); } /* --- //depot/projects/smpng/sys/alpha/osf1/osf1_misc.c 2005/01/05 22:38:38 +++ //depot/user/jhb/proc/alpha/osf1/osf1_misc.c 2005/02/02 22:25:59 @@ -95,6 +95,7 @@ static int osf2bsd_pathconf(int *); static const char osf1_emul_path[] = "/compat/osf1"; + /* * [ taken from the linux emulator ] * Search an alternate path before passing pathname arguments on @@ -105,133 +106,12 @@ * be in exists. */ int -osf1_emul_find(td, sgp, prefix, path, pbuf, cflag) - struct thread *td; - caddr_t *sgp; /* Pointer to stackgap memory */ - const char *prefix; - char *path; - char **pbuf; - int cflag; +osf1_emul_find(struct thread *td, char *path, enum uio_seg pathseg, + char **pbuf, int create) { - int error; - size_t len, sz; - char *buf, *cp, *ptr; - struct ucred *ucred; - struct nameidata nd; - struct nameidata ndroot; - struct vattr vat; - struct vattr vatroot; - buf = (char *) malloc(MAXPATHLEN, M_TEMP, M_WAITOK); - *pbuf = path; - - for (ptr = buf; (*ptr = *prefix) != '\0'; ptr++, prefix++) - continue; - - sz = MAXPATHLEN - (ptr - buf); - - /* - * If sgp is not given then the path is already in kernel space - */ - if (sgp == NULL) - error = copystr(path, ptr, sz, &len); - else - error = copyinstr(path, ptr, sz, &len); - - if (error) { - free(buf, M_TEMP); - return error; - } - - if (*ptr != '/') { - free(buf, M_TEMP); - return EINVAL; - } - - /* - * We know that there is a / somewhere in this pathname. - * Search backwards for it, to find the file's parent dir - * to see if it exists in the alternate tree. If it does, - * and we want to create a file (cflag is set). We don't - * need to worry about the root comparison in this case. - */ - - if (cflag) { - for (cp = &ptr[len] - 1; *cp != '/'; cp--) - ; - *cp = '\0'; - - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); - - if ((error = namei(&nd)) != 0) { - free(buf, M_TEMP); - return error; - } - - *cp = '/'; - } else { - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); - - if ((error = namei(&nd)) != 0) { - free(buf, M_TEMP); - return error; - } - - /* - * We now compare the vnode of the osf1_root to the one - * vnode asked. If they resolve to be the same, then we - * ignore the match so that the real root gets used. - * This avoids the problem of traversing "../.." to find the - * root directory and never finding it, because "/" resolves - * to the emulation root directory. This is expensive :-( - */ - NDINIT(&ndroot, LOOKUP, FOLLOW, UIO_SYSSPACE, osf1_emul_path, - td); - - if ((error = namei(&ndroot)) != 0) { - /* Cannot happen! */ - free(buf, M_TEMP); - vrele(nd.ni_vp); - return error; - } - - ucred = td->td_ucred; - if ((error = VOP_GETATTR(nd.ni_vp, &vat, ucred, td)) != 0) { - goto bad; - } - - if ((error = VOP_GETATTR(ndroot.ni_vp, &vatroot, ucred, - td)) != 0) { - goto bad; - } - - if (vat.va_fsid == vatroot.va_fsid && - vat.va_fileid == vatroot.va_fileid) { - error = ENOENT; - goto bad; - } - - } - if (sgp == NULL) - *pbuf = buf; - else { - sz = &ptr[len] - buf; - *pbuf = stackgap_alloc(sgp, sz + 1); - error = copyout(buf, *pbuf, sz); - free(buf, M_TEMP); - } - - vrele(nd.ni_vp); - if (!cflag) - vrele(ndroot.ni_vp); - - return error; - -bad: - vrele(ndroot.ni_vp); - vrele(nd.ni_vp); - free(buf, M_TEMP); - return error; + return (kern_alternate_path(td, osf1_emul_path, path, pathseg, pbuf, + create)); } @@ -240,21 +120,15 @@ struct thread *td; struct osf1_open_args *uap; { - struct open_args /* { - syscallarg(char *) path; - syscallarg(int) flags; - syscallarg(int) mode; - } */ a; - caddr_t sg; + char *path; + int error; - sg = stackgap_init(); - CHECKALTEXIST(td, &sg, uap->path); + CHECKALTEXIST(td, uap->path, &path); - a.path = uap->path; - a.flags = uap->flags; /* XXX translate */ - a.mode = uap->mode; - - return open(td, &a); + /* XXX: translate flags */ + error = kern_open(td, path, UIO_SYSSPACE, uap->flags, uap->mode); + free(path, M_TEMP); + return (error); } extern long totalphysmem; @@ -608,22 +482,15 @@ struct thread *td; struct osf1_stat_args *uap; { - int error; struct stat sb; struct osf1_stat osb; - struct nameidata nd; - caddr_t sg; + char *path; + int error; - sg = stackgap_init(); + CHECKALTEXIST(td, uap->path, &path); - CHECKALTEXIST(td, &sg, uap->path); - - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, - uap->path, td); - if ((error = namei(&nd))) - return (error); - error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td); - vput(nd.ni_vp); + error = kern_stat(td, path, UIO_SYSSPACE, &sb); + free(path, M_TEMP); if (error) return (error); cvtstat2osf1(&sb, &osb); @@ -643,18 +510,13 @@ { struct stat sb; struct osf1_stat osb; + char *path; int error; - struct nameidata nd; - caddr_t sg = stackgap_init(); - CHECKALTEXIST(td, &sg, uap->path); + CHECKALTEXIST(td, uap->path, &path); - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF, UIO_USERSPACE, - uap->path, td); - if ((error = namei(&nd))) - return (error); - error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td); - vput(nd.ni_vp); + error = kern_lstat(td, path, UIO_SYSSPACE, &sb); + free(path, M_TEMP); if (error) return (error); cvtstat2osf1(&sb, &osb); @@ -671,15 +533,13 @@ struct thread *td; register struct osf1_fstat_args *uap; { - struct file *fp; + struct osf1_stat oub; struct stat ub; - struct osf1_stat oub; int error; - if ((error = fget(td, uap->fd, &fp)) != 0) + error = kern_fstat(td, uap->fd, &ub); + if (error) return (error); - error = fo_stat(fp, &ub, td->td_ucred, td); - fdrop(fp, td); cvtstat2osf1(&ub, &oub); if (error == 0) error = copyout((caddr_t)&oub, (caddr_t)uap->sb, @@ -735,12 +595,13 @@ struct thread *td; struct osf1_access_args *uap; { - caddr_t sg; + char *path; + int error; - sg = stackgap_init(); - CHECKALTEXIST(td, &sg, uap->path); - - return access(td, (struct access_args *)uap); + CHECKALTEXIST(td, uap->path, &path); + error = kern_access(td, path, UIO_SYSSPACE, uap->flags); + free(path, M_TEMP); + return (error); } @@ -1239,17 +1100,13 @@ struct thread *td; struct osf1_truncate_args *uap; { - caddr_t sg; - struct truncate_args a; + char *path; + int error; - sg = stackgap_init(); - CHECKALTEXIST(td, &sg, uap->path); - - a.path = uap->path; - a.pad = 0; - a.length = uap->length; - - return truncate(td, &a); + CHECKALTEXIST(td, uap->path, &path); + error = kern_truncate(td, path, UIO_SYSSPACE, uap->length); + free(path, M_TEMP); + return (error); } @@ -1309,11 +1166,15 @@ struct thread *td; struct osf1_pathconf_args *uap; { + char *path; + int error; if (osf2bsd_pathconf(&uap->name)) return (EINVAL); - else - return (pathconf(td, (void *)uap)); + CHECKALTEXIST(td, uap->path, &path); + error = kern_pathconf(td, path, UIO_SYSSPACE, uap->name); + free(path, M_TEMP); + return (error); } @@ -1397,17 +1258,19 @@ struct thread *td; struct osf1_execve_args *uap; { - caddr_t sg; - struct execve_args ap; + struct image_args eargs; + char *path; + int error; - sg = stackgap_init(); - CHECKALTEXIST(td, &sg, uap->path); + CHECKALTEXIST(td, uap->path, &path); - ap.fname = uap->path; - ap.argv = uap->argp; - ap.envv = uap->envp; - - return execve(td, &ap); + error = exec_copyin_args(&eargs, path, UIO_SYSSPACE, uap->argp, + uap->envp); + free(path, M_TEMP); + if (error == 0) + error = kern_execve(td, &eargs, NULL); + exec_free_args(&eargs); + return (error); } @@ -1454,7 +1317,8 @@ } -int osf1_gettimeofday(td, uap) +int +osf1_gettimeofday(td, uap) struct thread *td; register struct osf1_gettimeofday_args *uap; { @@ -1482,26 +1346,24 @@ } -int osf1_select(td, uap) +int +osf1_select(td, uap) struct thread *td; register struct osf1_select_args *uap; { - if (uap->tv) { - int error; - caddr_t sg; - struct osf1_timeval otv; - struct timeval tv; + struct osf1_timeval otv; + struct timeval tv, *tvp; + int error; - sg = stackgap_init(); - - if ((error=copyin((caddr_t)uap->tv,(caddr_t)&otv,sizeof(otv)))) - return(error); - TV_CP(otv,tv); - uap->tv = stackgap_alloc(&sg, sizeof(struct timeval)); - if ((error=copyout((caddr_t)&tv, (caddr_t)uap->tv,sizeof(tv)))) - return(error); - } - return(select(td, (struct select_args *)uap)); + if (uap->tv != NULL) { + error = copyin(uap->tv, &otv, sizeof(otv)); + if (error) + return (error); + TV_CP(otv, tv); + tvp = &tv; + } else + tvp = NULL; + return (kern_select(td, uap->nd, uap->in, uap->ou, uap->ex, tvp)); } @@ -1510,43 +1372,27 @@ struct thread *td; struct osf1_setitimer_args *uap; { - + struct itimerval itv, oitv; + struct osf1_itimerval otv; int error; - caddr_t old_oitv, sg; - struct itimerval itv; - struct osf1_itimerval otv; - error = 0; - old_oitv = (caddr_t)uap->oitv; - sg = stackgap_init(); - - if ((error = copyin((caddr_t)uap->itv,(caddr_t)&otv,sizeof(otv)))) { + error = copyin(uap->itv, &otv, sizeof(otv)); + if (error) { printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - return error; + return (error); } - TV_CP(otv.it_interval,itv.it_interval); - TV_CP(otv.it_value,itv.it_value); - uap->itv = stackgap_alloc(&sg, sizeof(struct itimerval)); - if ((error = copyout((caddr_t)&itv,(caddr_t)uap->itv,sizeof(itv)))) { + TV_CP(otv.it_interval, itv.it_interval); + TV_CP(otv.it_value, itv.it_value); + error = kern_setitimer(td, uap->which, &itv, &oitv); + if (error || uap->oitv == NULL) + return (error); + + TV_CP(oitv.it_interval, otv.it_interval); + TV_CP(oitv.it_value, otv.it_value); + error = copyout(&otv, uap->oitv, sizeof(otv)); + if (error) printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - return error; - } - uap->oitv = stackgap_alloc(&sg, sizeof(struct itimerval)); - if ((error = setitimer(td, (struct setitimer_args *)uap))) { - printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - return error; - } - if ((error = copyin((caddr_t)uap->oitv,(caddr_t)&itv,sizeof(itv)))) { - printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - return error; - } - TV_CP(itv.it_interval,otv.it_interval); - TV_CP(itv.it_value,otv.it_value); - if (old_oitv - && (error = copyout((caddr_t)&otv, old_oitv, sizeof(otv)))) { - printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - } - return error; + return (error); } @@ -1555,30 +1401,19 @@ struct thread *td; struct osf1_getitimer_args *uap; { - int error; - caddr_t old_itv, sg; struct itimerval itv; struct osf1_itimerval otv; + int error; - error = 0; - old_itv = (caddr_t)uap->itv; - sg = stackgap_init(); - - uap->itv = stackgap_alloc(&sg, sizeof(struct itimerval)); - if ((error = getitimer(td, (struct getitimer_args *)uap))) { + error = kern_getitimer(td, uap->which, &itv); + if (error) + return (error); + TV_CP(itv.it_interval, otv.it_interval); + TV_CP(itv.it_value, otv.it_value); + error = copyout(&otv, uap->itv, sizeof(otv)); + if (error) printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - return error; - } - if ((error = copyin((caddr_t)uap->itv,(caddr_t)&itv,sizeof(itv)))) { - printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - return error; - } - TV_CP(itv.it_interval,otv.it_interval); - TV_CP(itv.it_value,otv.it_value); - if ((error = copyout((caddr_t)&otv, old_itv, sizeof(otv)))) { - printf("%s(%d): error = %d\n", __FILE__, __LINE__, error); - } - return error; + return (error); } --- //depot/projects/smpng/sys/alpha/osf1/osf1_mount.c 2005/01/05 22:38:38 +++ //depot/user/jhb/proc/alpha/osf1/osf1_mount.c 2005/02/02 22:25:59 @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -122,29 +123,15 @@ struct thread *td; struct osf1_statfs_args *uap; { + struct osf1_statfs osfs; + struct statfs sf; int error; - struct mount *mp; - struct statfs *sp; - struct osf1_statfs osfs; - struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, uap->path, td); - if ((error = namei(&nd))) - return (error); - mp = nd.ni_vp->v_mount; - sp = &mp->mnt_stat; - vrele(nd.ni_vp); -#ifdef MAC - error = mac_check_mount_stat(td->td_ucred, mp); + error = kern_statfs(td, uap->path, UIO_USERSPACE, &sf); if (error) return (error); -#endif - if ((error = VFS_STATFS(mp, sp, td))) - return (error); - sp->f_flags = mp->mnt_flag & MNT_VISFLAGMASK; - bsd2osf_statfs(sp, &osfs); - return copyout(&osfs, uap->buf, min(sizeof osfs, - uap->len)); + bsd2osf_statfs(&sf, &osfs); + return (copyout(&osfs, uap->buf, min(sizeof osfs, uap->len))); } int @@ -152,31 +139,15 @@ struct thread *td; struct osf1_fstatfs_args *uap; { + struct osf1_statfs osfs; + struct statfs sf; int error; - struct file *fp; - struct mount *mp; - struct statfs *sp; - struct osf1_statfs osfs; - if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp))) - return (error); - mp = fp->f_vnode->v_mount; -#ifdef MAC - error = mac_check_mount_stat(td->td_ucred, mp); - if (error) { - fdrop(fp, td); - return (error); - } -#endif - sp = &mp->mnt_stat; - error = VFS_STATFS(mp, sp, td); - fdrop(fp, td); + error = kern_fstatfs(td, uap->fd, &sf); if (error) return (error); - sp->f_flags = mp->mnt_flag & MNT_VISFLAGMASK; - bsd2osf_statfs(sp, &osfs); - return copyout(&osfs, uap->buf, min(sizeof osfs, - uap->len)); + bsd2osf_statfs(&sf, &osfs); + return (copyout(&osfs, uap->buf, min(sizeof osfs, uap->len))); } int --- //depot/projects/smpng/sys/alpha/osf1/osf1_util.h 2003/01/02 19:19:33 +++ //depot/user/jhb/proc/alpha/osf1/osf1_util.h 2005/02/01 23:18:12 @@ -60,19 +60,17 @@ } -extern const char osf1_emul_path[]; -int osf1_emul_find(struct thread *, caddr_t *, const char *, char *, - char **, int); +int osf1_emul_find(struct thread *td, char *path, enum uio_seg pathseg, + char **pbuf, int create); -#define CHECKALT(p, sgp, path, i) \ +#define CHECKALT(td, upath, pathp, i) \ do { \ int _error; \ \ - _error = osf1_emul_find(p, sgp, osf1_emul_path, path, \ - &path, i); \ - if (_error == EFAULT) \ + _error = osf1_emul_find(td, upath, UIO_USERSPACE, pathp, i); \ + if (*(pathp) == NULL) \ return (_error); \ } while (0) -#define CHECKALTEXIST(p, sgp, path) CHECKALT((p), (sgp), (path), 0) -#define CHECKALTCREAT(p, sgp, path) CHECKALT((p), (sgp), (path), 1) +#define CHECKALTEXIST(td, upath, pathp) CHECKALT((td), (upath), (pathp), 0) +#define CHECKALTCREAT(td, upath, pathp) CHECKALT((td), (upath), (pathp), 1) -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-freebsd-alpha@FreeBSD.ORG Wed Feb 9 14:14:55 2005 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6F6216A4CE for ; Wed, 9 Feb 2005 14:14:55 +0000 (GMT) Received: from mx1.irtnog.org (ns2.irtnog.org [24.123.13.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id 245EC43D55 for ; Wed, 9 Feb 2005 14:14:55 +0000 (GMT) (envelope-from xenophon@irtnog.org) Received: from localhost (unknown [127.0.0.1]) by mx1.irtnog.org (Postfix) with ESMTP id CD21420DA for ; Wed, 9 Feb 2005 09:15:31 -0500 (EST) Received: from mx1.irtnog.org ([127.0.0.1]) by localhost (mx1.irtnog.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 48148-09 for ; Wed, 9 Feb 2005 09:14:24 -0500 (EST) Received: from mb1.irtnog.org (mb1.irtnog.org [10.63.0.38]) by mx1.irtnog.org (Postfix) with ESMTP id E92DE20D7 for ; Wed, 9 Feb 2005 09:14:23 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Date: Wed, 9 Feb 2005 09:14:57 -0500 Message-ID: Content-class: urn:content-classes:message X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: "not a valid boot block" on AS2000 Thread-Index: AcUOsbvsVqTFbid1RDaZZvZUqafL1w== From: "Matthew X. Economou" To: X-Virus-Scanned: amavisd-new at irtnog.org Subject: "not a valid boot block" on AS2000 X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2005 14:14:55 -0000 When attempting to boot FreeBSD 5.3-RELEASE from either the installation CD or the boot floppy, I receive the following errors: P00>>>boot dka6 (boot dka600.6.0.1.0) block 0 of dka600.6.0.1.0 is not a valid boot block bootstrap failure P00>>>boot dva0 (boot dva0.0.0.1000.0) block 0 of dva0.0.0.1000.0 is not a valid boot block bootstrap failure I am able to boot both OpenVMS 7.2 and FreeBSD 5.1-RELEASE from CD, so I know the CD-ROM drive is good. The usual Google searches didn't turn up anything useful, and there was no special mention of incompatibilities on the various hardware-specific pages for FreeBSD/alpha. Has anyone else seen this problem? This is on SRM version "V5.3-6 Oct 16 1998 12:49:45". I believe this is the most recent firmware version available for this system. I vaguely recall updating the firmware prior to installing OpenVMS, but that was some time ago. I am in the middle of downloading the latest Alpha Systems Firmware CD (V6.9) and will report back if there is an updated firmware available for my system. In lieu of this being an issue with older firmware, what other troubleshooting should I do in order to get FreeBSD booted on this system? I must confess that I am at a loss as how to proceed. Best wishes, Matthew --=20 "The challenge of a moral life is to do nothing that requires forgiveness." - Roger Ebert in his review of _The Woodsman_ From owner-freebsd-alpha@FreeBSD.ORG Wed Feb 9 16:34:35 2005 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC5A616A4CE for ; Wed, 9 Feb 2005 16:34:35 +0000 (GMT) Received: from mx1.irtnog.org (ns2.irtnog.org [24.123.13.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8972643D1D for ; Wed, 9 Feb 2005 16:34:35 +0000 (GMT) (envelope-from xenophon@irtnog.org) Received: from localhost (unknown [127.0.0.1]) by mx1.irtnog.org (Postfix) with ESMTP id 1920920DA for ; Wed, 9 Feb 2005 11:35:13 -0500 (EST) Received: from mx1.irtnog.org ([127.0.0.1]) by localhost (mx1.irtnog.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 49124-02 for ; Wed, 9 Feb 2005 11:34:15 -0500 (EST) Received: from mb1.irtnog.org (mb1.irtnog.org [10.63.0.38]) by mx1.irtnog.org (Postfix) with ESMTP id D21A720C9 for ; Wed, 9 Feb 2005 11:34:14 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Date: Wed, 9 Feb 2005 11:34:23 -0500 Message-ID: Content-class: urn:content-classes:message X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: RESOLVED: "not a valid boot block" on AS2000 Thread-Index: AcUOsbvsVqTFbid1RDaZZvZUqafL1wAEv0fA From: "Matthew X. Economou" To: X-Virus-Scanned: amavisd-new at irtnog.org Subject: RESOLVED: "not a valid boot block" on AS2000 X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2005 16:34:35 -0000 > P00>>>boot dka6 > (boot dka600.6.0.1.0) > block 0 of dka600.6.0.1.0 is not a valid boot block I screwed up. Apparently, you cannot boot the i386 installation CD on Alpha servers. :) Best wishes, Matthew --=20 "The challenge of a moral life is to do nothing that requires forgiveness." - Roger Ebert in his review of _The Woodsman_ From owner-freebsd-alpha@FreeBSD.ORG Wed Feb 9 17:00:27 2005 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9FF9F16A4D1; Wed, 9 Feb 2005 17:00:27 +0000 (GMT) Received: from smarthost1.sentex.ca (smarthost1.sentex.ca [64.7.153.18]) by mx1.FreeBSD.org (Postfix) with ESMTP id 014DA43D2F; Wed, 9 Feb 2005 17:00:27 +0000 (GMT) (envelope-from tinderbox@freebsd.org) Received: from smtp1.sentex.ca (smtp1c.sentex.ca [64.7.153.10]) by smarthost1.sentex.ca (8.13.1/8.13.1) with ESMTP id j19H0QUI047833; Wed, 9 Feb 2005 12:00:26 -0500 (EST) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by smtp1.sentex.ca (8.13.1/8.13.1) with ESMTP id j19H0iZL080049; Wed, 9 Feb 2005 12:00:44 -0500 (EST) (envelope-from tinderbox@freebsd.org) Received: by freebsd-current.sentex.ca (Postfix, from userid 666) id 497717306E; Wed, 9 Feb 2005 12:00:26 -0500 (EST) Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Message-Id: <20050209170026.497717306E@freebsd-current.sentex.ca> Date: Wed, 9 Feb 2005 12:00:26 -0500 (EST) X-Virus-Scanned: ClamAV version 0.82, clamav-milter version 0.82 on clamscanner3 X-Virus-Scanned: ClamAV version 0.82, clamav-milter version 0.82 on clamscanner4 X-Virus-Status: Clean Subject: [current tinderbox] failure on alpha/alpha X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2005 17:00:27 -0000 TB --- 2005-02-09 15:45:00 - tinderbox 2.3 running on freebsd-current.sentex.ca TB --- 2005-02-09 15:45:00 - starting CURRENT tinderbox run for alpha/alpha TB --- 2005-02-09 15:45:00 - checking out the source tree TB --- 2005-02-09 15:45:00 - cd /home/tinderbox/CURRENT/alpha/alpha TB --- 2005-02-09 15:45:00 - /usr/bin/cvs -f -R -q -d/home/ncvs update -Pd -A src TB --- 2005-02-09 15:50:36 - building world (CFLAGS=-O2 -pipe) TB --- 2005-02-09 15:50:36 - cd /home/tinderbox/CURRENT/alpha/alpha/src TB --- 2005-02-09 15:50:36 - /usr/bin/make -B buildworld >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything TB --- 2005-02-09 16:57:47 - building generic kernel (COPTFLAGS=-O2 -pipe) TB --- 2005-02-09 16:57:47 - cd /home/tinderbox/CURRENT/alpha/alpha/src TB --- 2005-02-09 16:57:47 - /usr/bin/make buildkernel KERNCONF=GENERIC >>> Kernel build for GENERIC started on Wed Feb 9 16:57:47 UTC 2005 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -mcpu=ev4 -mtune=ev5 -mieee -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/tinderbox/CURRENT/alpha/alpha/src/sys -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/acpica -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/altq -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ipfilter -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/pf -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath/freebsd -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-fp-regs -ffixed-8 -Wa,-mev6 -ffreestanding -Werror /tinderbox/CURRENT/alpha/alpha/src/sys/dev/aic7xxx/aic7xxx_osm.c cc -c -O2 -pipe -fno-strict-aliasing -mcpu=ev4 -mtune=ev5 -mieee -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/tinderbox/CURRENT/alpha/alpha/src/sys -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/acpica -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/altq -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ipfilter -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/pf -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath/freebsd -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-fp-regs -ffixed-8 -Wa,-mev6 -ffreestanding -Werror /tinderbox/CURRENT/alpha/alpha/src/sys/dev/aic7xxx/aic7xxx_pci.c cc -c -O2 -pipe -fno-strict-aliasing -mcpu=ev4 -mtune=ev5 -mieee -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/tinderbox/CURRENT/alpha/alpha/src/sys -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/acpica -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/altq -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ipfilter -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/pf -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath/freebsd -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-fp-regs -ffixed-8 -Wa,-mev6 -ffreestanding -Werror /tinderbox/CURRENT/alpha/alpha/src/sys/dev/amr/amr.c cc -c -O2 -pipe -fno-strict-aliasing -mcpu=ev4 -mtune=ev5 -mieee -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/tinderbox/CURRENT/alpha/alpha/src/sys -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/acpica -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/altq -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ipfilter -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/pf -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/dev/ath/freebsd -I/tinderbox/CURRENT/alpha/alpha/src/sys/contrib/ngatm -D_KERNEL -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-fp-regs -ffixed-8 -Wa,-mev6 -ffreestanding -Werror /tinderbox/CURRENT/alpha/alpha/src/sys/dev/amr/amr_cam.c /tinderbox/CURRENT/alpha/alpha/src/sys/dev/amr/amr_cam.c: In function `amr_cam_complete': /tinderbox/CURRENT/alpha/alpha/src/sys/dev/amr/amr_cam.c:509: warning: unused variable `sc' /tinderbox/CURRENT/alpha/alpha/src/sys/dev/amr/amr_cam.c: In function `amr_cam_complete_extcdb': /tinderbox/CURRENT/alpha/alpha/src/sys/dev/amr/amr_cam.c:573: warning: unused variable `sc' *** Error code 1 Stop in /tinderbox/CURRENT/alpha/alpha/obj/alpha/tinderbox/CURRENT/alpha/alpha/src/sys/GENERIC. *** Error code 1 Stop in /tinderbox/CURRENT/alpha/alpha/src. *** Error code 1 Stop in /tinderbox/CURRENT/alpha/alpha/src. TB --- 2005-02-09 17:00:25 - WARNING: /usr/bin/make returned exit code 1 TB --- 2005-02-09 17:00:25 - ERROR: failed to build generic kernel TB --- 2005-02-09 17:00:25 - tinderbox aborted