Date: Sat, 21 Dec 2002 02:36:52 -0800 (PST) From: Serguei Tzukanov <tzukanov@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 22585 for review Message-ID: <200212211036.gBLAaqwF009159@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=22585 Change 22585 by tzukanov@tzukanov_antares on 2002/12/21 02:35:54 Random fixes. exit() syscall hang still unresolved. Affected files ... .. //depot/projects/s390/lib/libc/s390/gen/Makefile.inc#2 edit .. //depot/projects/s390/lib/libc/s390/gen/getcontext.S#2 edit .. //depot/projects/s390/lib/libc/s390/gen/infinity.c#2 edit .. //depot/projects/s390/lib/libc/s390/gen/signalcontext.c#1 add .. //depot/projects/s390/lib/libc/s390/sys/Makefile.inc#2 edit .. //depot/projects/s390/sys/dev/md/md.c#5 edit .. //depot/projects/s390/sys/s390/conf/GENERIC#4 edit .. //depot/projects/s390/sys/s390/s390/autoconf.c#2 edit .. //depot/projects/s390/sys/s390/s390/locore.S#2 edit .. //depot/projects/s390/sys/s390/s390/machdep.c#4 edit .. //depot/projects/s390/sys/s390/s390/pmap.c#4 edit .. //depot/projects/s390/sys/s390/s390/trap.c#3 edit .. //depot/projects/s390/sys/s390/s390/vm_machdep.c#3 edit .. //depot/projects/s390/sys/sys/param.h#5 edit Differences ... ==== //depot/projects/s390/lib/libc/s390/gen/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD: src/lib/libc/s390/gen/Makefile.inc,v 1.0 2002/07/06 06:45:32 tzukanov Exp $ -SRCS+= _ctx_start.S flt_rounds.S getcontext.S fabs.S frexp.S \ +SRCS+= _ctx_start.S flt_rounds.S fabs.S frexp.S \ infinity.c isinf.S ldexp.S makecontext.c modf.S \ - setjmp.S swapcontext.c + setjmp.S signalcontext.c ==== //depot/projects/s390/lib/libc/s390/gen/getcontext.S#2 (text+ko) ==== @@ -13,11 +13,13 @@ .weak setcontext .set setcontext, __setcontext ENTRY(__setcontext) + lhi %r2, -1 br %r14 /* int getcontext(ucontext_t *ucp) */ .weak getcontext .set getcontext, __getcontext ENTRY(__getcontext) + lhi %r2, -1 br %r14 ==== //depot/projects/s390/lib/libc/s390/gen/infinity.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ /* $FreeBSD: src/lib/libc/s390/gen/fabs.S,v 1.0 2002/03/23 02:44:18 tzukanov Exp $ */ /* Bytes for +Infinity on a S/390. */ -char __infinity[] = {0x7f, 0xf0, 0, 0, 0, 0, 0, 0}; +const union __infinity_un __infinity = {{0x7f, 0xf0, 0, 0, 0, 0, 0, 0}}; ==== //depot/projects/s390/lib/libc/s390/sys/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,7 @@ # $FreeBSD: src/lib/libc/s390/sys/Makefile.inc,v 1.0 2001/11/13 06:36:43 tzukanov Exp $ +SRCS+= s390_sysinfo.c + MDASM= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S # Don't generate default code for these syscalls: @@ -8,3 +10,5 @@ pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o PSEUDO= _getlogin.o _exit.o + +MAN+= s390_sysinfo.2 ==== //depot/projects/s390/sys/dev/md/md.c#5 (text+ko) ==== @@ -1146,7 +1146,7 @@ md_takeroot(void *junk) { if (mdrootready) - rootdevnames[0] = "ufs:/dev/md0"; + rootdevnames[0] = "ufs:/dev/md0c"; } SYSINIT(md_root, SI_SUB_MOUNT_ROOT, SI_ORDER_FIRST, md_takeroot, NULL); ==== //depot/projects/s390/sys/s390/conf/GENERIC#4 (text+ko) ==== @@ -34,15 +34,16 @@ options INVARIANT_SUPPORT options INVARIANTS options WITNESS -options WITNESS_SKIPSPIN +#options WITNESS_SKIPSPIN #options DIAGNOSTIC -#options DEBUG_LOCKS +options DEBUG_LOCKS options KTR options KTR_ENTRIES=8192 options KTR_COMPILE=KTR_ALL #options KTR_MASK="(KTR_PMAP|KTR_TRAP|KTR_PROC|KTR_SIG|KTR_VM|KTR_SYSC|KTR_VOP|KTR_SMP)" -options KTR_MASK=0 +#options KTR_MASK="(KTR_PMAP|KTR_SIG|KTR_PROC)" +options KTR_MASK=KTR_PROC options KTR_CPUMASK=0x3 options KTR_VERBOSE @@ -57,7 +58,7 @@ options COMPAT_43 # Compatible with BSD 4.3 options COMPAT_FREEBSD4 options MD_ROOT # MD is potential root device -options MD_ROOT_SIZE=2048 +options MD_ROOT_SIZE=4096 #device hhc # Debug feature device hmcsc # HMC system console ==== //depot/projects/s390/sys/s390/s390/autoconf.c#2 (text+ko) ==== @@ -27,4 +27,4 @@ cold = 0; } -SYSINIT(configure, SI_SUB_CONFIGURE, SI_ORDER_ANY, configure, NULL); +SYSINIT(configure, SI_SUB_CONFIGURE, SI_ORDER_THIRD, configure, NULL); ==== //depot/projects/s390/sys/s390/s390/locore.S#2 (text+ko) ==== @@ -117,9 +117,10 @@ .align 8 .globl sigcode sigcode: + .long 0 basr %r14, %r5 lhi %r0, SYSCALLNUM(sigreturn) svc 0 -2: j 2b + /* not reached */ .align 8 .Lesigcode: ==== //depot/projects/s390/sys/s390/s390/machdep.c#4 (text+ko) ==== ==== //depot/projects/s390/sys/s390/s390/pmap.c#4 (text+ko) ==== @@ -453,9 +453,7 @@ CTR2(KTR_PMAP, "pmap_page_lookup: object = %p, pindex = %u", object, pindex); do { - do { - m = vm_page_lookup(object, pindex); - } while (m && vm_page_sleep_busy(m, FALSE, "pmplu")); + m = vm_page_lookup(object, pindex); if (m != NULL) { vm_page_lock_queues(); if (vm_page_sleep_if_busy(m, FALSE, "pmplu")) @@ -482,7 +480,9 @@ (pmap->pm_ptphint->pindex == pindex)) { mpte = pmap->pm_ptphint; } else { - mpte = pmap_page_lookup(pmap->pm_pteobj, pindex); + while ((mpte = vm_page_lookup(pmap->pm_pteobj, pindex)) != NULL && + vm_page_sleep_if_busy(mpte, FALSE, "pulook")) + vm_page_lock_queues(); pmap->pm_ptphint = mpte; } KASSERT(mpte != NULL, ("pmap_unuse_ptp: mpte == NULL")); @@ -843,9 +843,9 @@ CTR1(KTR_PMAP, "pmap_dispose_thread: td = %p", td); + pages = td->td_kstack_pages; ksobj = td->td_kstack_obj; ks = td->td_kstack; - pages = td->td_kstack_pages; pmap_qremove(ks, pages); for (i = 0; i < pages; i++) { m = vm_page_lookup(ksobj, i); @@ -1161,6 +1161,7 @@ panic("pmap_new_thread: kstack allocation failed"); #endif td->td_kstack = ks; + td->td_kstack_pages = pages; for (i = 0; i < pages; i++) { m = vm_page_grab(ksobj, i, VM_ALLOC_NORMAL | ==== //depot/projects/s390/sys/s390/s390/trap.c#3 (text+ko) ==== @@ -466,9 +466,11 @@ /* not reached */ } +#if 0 /* Translate signal for emulators. */ - if (p->p_sysent->sv_transtrap) - signo = p->p_sysent->sv_transtrap(signo, code); + if (*p->p_sysent->sv_transtrap) + signo = (*p->p_sysent->sv_transtrap)(signo, code); +#endif /* Dispose signal for process. */ trapsignal(p, signo, sigcode); ==== //depot/projects/s390/sys/s390/s390/vm_machdep.c#3 (text+ko) ==== ==== //depot/projects/s390/sys/sys/param.h#5 (text+ko) ==== @@ -297,7 +297,7 @@ * Constraints: PAGE_SIZE <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and * MAXALLOCSIZE must be a power of two. */ -#if defined(__alpha__) || defined(__ia64__) || defined(__sparc64__) +#if defined(__alpha__) || defined(__ia64__) || defined(__sparc64__) || defined(__s390x__) #define MINBUCKET 5 /* 5 => min allocation of 32 bytes */ #else #define MINBUCKET 4 /* 4 => min allocation of 16 bytes */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212211036.gBLAaqwF009159>