Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Apr 2003 12:12:54 -0700 (PDT)
From:      Serguei Tzukanov <tzukanov@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 29709 for review
Message-ID:  <200304251912.h3PJCsuI036882@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=29709

Change 29709 by tzukanov@tzukanov_antares on 2003/04/25 12:12:54

	Blind update to -current.

Affected files ...

.. //depot/projects/s390/lib/libc/s390/_fpmath.h#2 edit
.. //depot/projects/s390/lib/libc/s390x/_fpmath.h#2 edit
.. //depot/projects/s390/sys/s390/conf/GENERIC#9 edit
.. //depot/projects/s390/sys/s390/include/_types.h#3 edit
.. //depot/projects/s390/sys/s390/include/cpufunc.h#2 edit
.. //depot/projects/s390/sys/s390/include/pmap.h#3 edit
.. //depot/projects/s390/sys/s390/s390/genassym.c#3 edit
.. //depot/projects/s390/sys/s390/s390/machdep.c#8 edit
.. //depot/projects/s390/sys/s390/s390/mem.c#6 edit
.. //depot/projects/s390/sys/s390/s390/pmap.c#12 edit
.. //depot/projects/s390/sys/s390/s390/support.S#2 edit
.. //depot/projects/s390/sys/s390/s390/swtch.S#3 edit
.. //depot/projects/s390/sys/s390/s390/trap.c#7 edit

Differences ...

==== //depot/projects/s390/lib/libc/s390/_fpmath.h#2 (text+ko) ====

@@ -38,3 +38,12 @@
 };
 
 #define	mask_nbit_l(u)	((void)0)
+#define	LDBL_IMPLICIT_NBIT
+
+#define	LDBL_TO_ARRAY32(u, a) do {			\
+	(a)[0] = (uint32_t)(u).bits.manl;		\
+	(a)[1] = (uint32_t)((u).bits.manl >> 32);	\
+	(a)[2] = (uint32_t)(u).bits.manh;		\
+	(a)[3] = (uint32_t)((u).bits.manh >> 32);	\
+} while (0)
+

==== //depot/projects/s390/lib/libc/s390x/_fpmath.h#2 (text+ko) ====

@@ -38,3 +38,12 @@
 };
 
 #define	mask_nbit_l(u)	((void)0)
+#define	LDBL_IMPLICIT_NBIT
+
+#defineLDBL_TO_ARRAY32(u, a) do {			\
+	(a)[0] = (uint32_t)(u).bits.manl;		\
+	(a)[1] = (uint32_t)((u).bits.manl >> 32);	\
+	(a)[2] = (uint32_t)(u).bits.manh;		\
+	(a)[3] = (uint32_t)((u).bits.manh >> 32);	\
+} while (0)
+

==== //depot/projects/s390/sys/s390/conf/GENERIC#9 (text+ko) ====

@@ -21,7 +21,6 @@
 machine		s390
 cpu		G5_CPU			# No-op
 ident		GENERIC
-maxusers	0
 
 #To statically compile in device wiring instead of /boot/device.hints
 hints		"GENERIC.hints"

==== //depot/projects/s390/sys/s390/include/_types.h#3 (text+ko) ====

@@ -97,6 +97,7 @@
 typedef	__uint32_t	__u_register_t;
 typedef	__uint32_t	__vm_offset_t;
 typedef	__int64_t	__vm_ooffset_t;
+typedef __uint32_t	__vm_paddr_t;
 typedef	__uint64_t	__vm_pindex_t;
 typedef	__uint32_t	__vm_size_t;
 

==== //depot/projects/s390/sys/s390/include/cpufunc.h#2 (text+ko) ====

@@ -53,7 +53,7 @@
 
 /* Load using real address. */
 static __inline u_long
-lura(vm_offset_t pa)
+lura(vm_paddr_t pa)
 {
 	u_long x;
 
@@ -66,7 +66,7 @@
 
 /* Store using real address. */
 static __inline void
-stura(vm_offset_t pa, u_long x)
+stura(vm_paddr_t pa, u_long x)
 {
 	__asm volatile (
 	"	stura	%[x],	%[pa]"
@@ -109,10 +109,10 @@
 	cr_write(cid, cr_read(cid) & ~mask);
 }
 
-static __inline vm_offset_t
+static __inline vm_paddr_t
 lra(vm_offset_t va)
 {
-	vm_offset_t pa;
+	vm_paddr_t pa;
 
 	__asm __volatile (
 	"	lra	%[pa],	0(%[va])\n"

==== //depot/projects/s390/sys/s390/include/pmap.h#3 (text+ko) ====

@@ -90,11 +90,11 @@
 	vm_page_t		pv_mpte;	/* VM page for pte */
 } *pv_entry_t;
 
-extern vm_offset_t avail_start;
-extern vm_offset_t avail_end;
+extern vm_paddr_t avail_start;
+extern vm_paddr_t avail_end;
 extern vm_offset_t clean_eva;
 extern vm_offset_t clean_sva;
-extern vm_offset_t phys_avail[];
+extern vm_paddr_t phys_avail[];
 extern vm_offset_t virtual_avail;
 extern vm_offset_t virtual_end;
 

==== //depot/projects/s390/sys/s390/s390/genassym.c#3 (text+ko) ====

@@ -85,7 +85,6 @@
 
 ASSYM(TD_FLAGS, offsetof(struct thread, td_flags));
 ASSYM(TD_FRAME, offsetof(struct thread, td_frame));
-ASSYM(TD_KSE, offsetof(struct thread, td_kse));
 ASSYM(TD_PCB, offsetof(struct thread, td_pcb));
 ASSYM(TD_PROC, offsetof(struct thread, td_proc));
 ASSYM(TD_STATE, offsetof(struct thread, td_state));

==== //depot/projects/s390/sys/s390/s390/machdep.c#8 (text+ko) ====

@@ -135,7 +135,7 @@
 		}
 	}
 
-	return status;
+	return (status);
 }
 
 static void
@@ -337,22 +337,24 @@
 
 	error = copyin(uap->sigcntxp, &uc, sizeof(uc));
 	if (error)
-		return error;
+		return (error);
 
-	if (psw_insecure(&uc.uc_mcontext.mc_psw))
-		return EINVAL;
+	if (psw_insecure(&uc.uc_mcontext.mc_psw)) {
+		trapsignal(td, SIGBUS, 0);
+		return (EINVAL);
+	}
 
 	tf = td->td_frame;
 	bcopy(&uc.uc_mcontext.mc_context, &tf->tf_context, ESA_CONTEXT_SIZE);
 
 	p = td->td_proc;
 	PROC_LOCK(p);
-	p->p_sigmask = uc.uc_sigmask;
-	SIG_CANTMASK(p->p_sigmask);
-	signotify(p);
+	td->td_sigmask = uc.uc_sigmask;
+	SIG_CANTMASK(td->td_sigmask);
+	signotify(td);
 	PROC_UNLOCK(p);
 
-	return EJUSTRETURN;
+	return (EJUSTRETURN);
 }
 
 #ifdef COMPAT_FREEBSD4
@@ -364,15 +366,15 @@
 #endif
 
 int
-get_mcontext(struct thread *td, mcontext_t *mcp)
+get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret)
 {
-	return ENOSYS;
+	return (ENOSYS);
 }
 
 int
 set_mcontext(struct thread *td, const mcontext_t *mcp)
 {
-	return ENOSYS;
+	return (ENOSYS);
 }
 
 void
@@ -444,7 +446,7 @@
 {
 	psw_define_addr(&td->td_frame->tf_psw, addr);
 
-	return 0;
+	return (0);
 }
 
 int
@@ -453,7 +455,7 @@
 	/* XXX - wrong */
 	td->td_frame->tf_psw.mask |= PSW_W;
 
-	return 0;
+	return (0);
 }
 
 int
@@ -461,18 +463,18 @@
 {
 	bcopy(&td->td_frame->tf_psw, &regs->r_psw, sizeof(*regs));
 
-	return 0;
+	return (0);
 }
 
 int
 set_regs(struct thread *td, struct reg *regs)
 {
 	if (psw_insecure(&regs->r_psw))
-		return EINVAL;
+		return (EINVAL);
 
 	bcopy(&td->td_frame->tf_psw, &regs->r_psw, sizeof(*regs));
 
-	return 0;
+	return (0);
 }
 
 int
@@ -480,7 +482,7 @@
 {
 	bcopy(&td->td_frame->tf_fpr, &fpregs->fr_fpr, sizeof(*fpregs));
 
-	return 0;
+	return (0);
 }
 
 int
@@ -488,19 +490,19 @@
 {
 	bcopy(&td->td_frame->tf_fpr, &fpregs->fr_fpr, sizeof(*fpregs));
 
-	return 0;
+	return (0);
 }
 
 int
 fill_dbregs(struct thread *td, struct dbreg *dbregs)
 {
-	return 0;
+	return (0);
 }
 
 int
 set_dbregs(struct thread *td, struct dbreg *dbregs)
 {
-	return 0;
+	return (0);
 }
 
 #ifndef DDB

==== //depot/projects/s390/sys/s390/s390/mem.c#6 (text+ko) ====

@@ -156,7 +156,7 @@
 }
 
 static int
-memmmap(dev_t dev, vm_offset_t offset, vm_offset_t *paddr, int prot)
+memmmap(dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int prot)
 {
 	switch (minor(dev)) {
 	case 1:

==== //depot/projects/s390/sys/s390/s390/pmap.c#12 (text+ko) ====

@@ -96,12 +96,12 @@
 
 static ste_t *proc0sto;
 
-vm_offset_t avail_start;	/* pa of first available physical page */
-vm_offset_t avail_end;		/* pa of first non-available physical page */
+vm_paddr_t avail_start;		/* pa of first available physical page */
+vm_paddr_t avail_end;		/* pa of first non-available physical page */
 vm_offset_t virtual_avail;	/* va of first page after kernel end */
 vm_offset_t virtual_end;	/* va of first page after kernel space */
 
-vm_offset_t phys_avail[128];
+vm_paddr_t phys_avail[128];
 long Maxmem;			/* highest page */
 
 static boolean_t pmap_initialized = FALSE;
@@ -141,7 +141,7 @@
 DAT_INIT_MAP(crashdumpmap, crashdumpmap, MAXDUMPPGS);
 
 static void
-ipte(vm_offset_t ptepa)
+ipte(vm_paddr_t ptepa)
 {
 	pte_t pte;
 
@@ -161,10 +161,10 @@
 }
 
 
-static vm_offset_t
+static vm_paddr_t
 dat_init_map(int n)
 {
-	vm_offset_t pa = avail_start;
+	vm_paddr_t pa = avail_start;
 
 	avail_start += n * PAGE_SIZE;
 
@@ -304,7 +304,7 @@
 pmap_assert_pt_free(ste_t ste)
 {
 	int i;
-	vm_offset_t ptepa = STE_PTO(ste);
+	vm_paddr_t ptepa = STE_PTO(ste);
 	pte_t pte;
 
 	for (i = 0; i < 256; i++, ptepa += sizeof(pte_t)) {
@@ -329,7 +329,7 @@
 }
 
 static __inline void
-pmap_set_ste_quad(ste_t *ste, vm_offset_t ptepa)
+pmap_set_ste_quad(ste_t *ste, vm_paddr_t ptepa)
 {
 	*ste++ = ptepa            + STE_PTL;
 	*ste++ = ptepa   + PTSIZE + STE_PTL;
@@ -494,7 +494,7 @@
 void
 pmap_remove_all(vm_page_t m)
 {
-	vm_offset_t ptepa;
+	vm_ptepa_t ptepa;
 	pv_entry_t pv;
 	pmap_t pmap;
 	pte_t pte;
@@ -592,7 +592,7 @@
 }
 
 static int
-pmap_remove_pte(pmap_t pmap, vm_offset_t ptepa, vm_offset_t va)
+pmap_remove_pte(pmap_t pmap, vm_paddr_t ptepa, vm_offset_t va)
 {
 	vm_page_t m;
 	pte_t pte;
@@ -624,7 +624,7 @@
 }
 
 static void *
-pmap_allocf(uma_zone_t zone, int size, uint8_t *pflag, int wait)
+pmap_pv_allocf(uma_zone_t zone, int size, uint8_t *pflag, int wait)
 {
 	*pflag = UMA_SLAB_PRIV;
 
@@ -681,7 +681,7 @@
 void
 pmap_clear_modify(vm_page_t m)
 {
-	vm_offset_t pa = VM_PAGE_TO_PHYS(m);
+	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
 
 	CTR1(KTR_PMAP, "pmap_clear_modify: pa = %x", pa);
 
@@ -691,7 +691,7 @@
 void
 pmap_clear_reference(vm_page_t m)
 {
-	vm_offset_t pa = VM_PAGE_TO_PHYS(m);
+	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
 
 	CTR1(KTR_PMAP, "pmap_clear_reference: pa = %x", pa);
 
@@ -713,8 +713,8 @@
 void
 pmap_copy_page(vm_page_t src, vm_page_t dst)
 {
-	vm_offset_t srcpa = VM_PAGE_TO_PHYS(src);
-	vm_offset_t dstpa = VM_PAGE_TO_PHYS(dst);
+	vm_paddr_t srcpa = VM_PAGE_TO_PHYS(src);
+	vm_paddr_t dstpa = VM_PAGE_TO_PHYS(dst);
 
 	CTR2(KTR_PMAP, "pmap_copy_page: srcpa = %x, dstpa = %x", srcpa, dstpa);
 
@@ -783,7 +783,7 @@
 pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m,
 	   vm_prot_t prot, boolean_t wired)
 {
-	vm_offset_t ptepa, opa;
+	vm_paddr_t ptepa, opa;
 	pte_t opte, pte;
 	vm_page_t mpte;
 
@@ -881,16 +881,16 @@
 	stura(ptepa, pte);
 }
 
-vm_offset_t
+vm_paddr_t
 pmap_extract(pmap_t pmap, vm_offset_t va)
 {
-	vm_offset_t ptepa = pmap_ptepa(pmap, va);
+	vm_paddr_t ptepa = pmap_ptepa(pmap, va);
 	pte_t pte = lura(ptepa);
 
 	if (pte_valid(pte))
-		return PTE_PFRA(pte) + VA_BX(va);
+		return (PTE_PFRA(pte) + VA_BX(va));
 	else
-		return 0;
+		return (0);
 }
 
 void
@@ -901,7 +901,7 @@
 }
 
 void
-pmap_init(vm_offset_t spa, vm_offset_t epa)
+pmap_init(vm_paddr_t spa, vm_paddr_t epa)
 {
 	int i;
 
@@ -919,7 +919,7 @@
 	/* Init the pv free list. */
 	pvzone = uma_zcreate("PV ENTRY", sizeof(struct pv_entry),
 			     NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM);
-	uma_zone_set_allocf(pvzone, pmap_allocf);
+	uma_zone_set_allocf(pvzone, pmap_pv_allocf);
 	uma_prealloc(pvzone, vm_page_array_size);
 
 	pmap_initialized = TRUE;
@@ -942,7 +942,7 @@
 boolean_t
 pmap_is_modified(vm_page_t m)
 {
-	vm_offset_t pa = VM_PAGE_TO_PHYS(m);
+	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
 
 	CTR1(KTR_PMAP, "pmap_is_modified: pa = %x", pa);
 
@@ -953,9 +953,9 @@
 }
 
 void
-pmap_kenter(vm_offset_t va, vm_offset_t pa)
+pmap_kenter(vm_offset_t va, vm_paddr_t pa)
 {
-	vm_offset_t ptepa;
+	vm_paddr_t ptepa;
 
 	CTR2(KTR_PMAP, "pmap_kenter: va = %x, pa = %x", va, pa);
 
@@ -984,7 +984,7 @@
 }
 
 vm_offset_t
-pmap_map(vm_offset_t *vap, vm_offset_t spa, vm_offset_t epa, int prot)
+pmap_map(vm_offset_t *vap, vm_paddr_t spa, vm_paddr_t epa, int prot)
 {
 	vm_offset_t va, sva;
 
@@ -1194,7 +1194,7 @@
 void
 pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot)
 {
-	vm_offset_t ptepa;
+	vm_paddr_t ptepa;
 	int anychanged;
 	pte_t pte;
 
@@ -1237,8 +1237,8 @@
 void
 pmap_qenter(vm_offset_t va, vm_page_t *mp, int count)
 {
+	vm_paddr_t ptepa;
 	vm_offset_t eva;
-	vm_offset_t ptepa;
 
 	CTR3(KTR_PMAP, "pmap_qenter: va = %x, mp = %p, count = %d", va, mp, count);
 
@@ -1295,7 +1295,7 @@
 void
 pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
 {
-	vm_offset_t ptepa;
+	vm_paddr_t ptepa;
 	int anyvalid;
 	pte_t pte;
 
@@ -1321,11 +1321,11 @@
 void
 pmap_remove_pages(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
 {
-	vm_offset_t ptepa;
+	pv_entry_t pv, npv;
+	vm_paddr_t ptepa;
 	vm_page_t m;
 	pmap_t pm;
 	pte_t pte;
-	pv_entry_t pv, npv;
 
 	CTR3(KTR_PMAP, "pmap_remove_pages: pmap = %p, sva = %x, eva = %x", pmap, sva, eva);
 
@@ -1436,7 +1436,7 @@
 boolean_t
 pmap_ts_referenced(vm_page_t m)
 {
-	vm_offset_t pa = VM_PAGE_TO_PHYS(m);
+	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
 	boolean_t rv = 0;
 
 	CTR1(KTR_PMAP, "pmap_ts_referenced: pa = %x", pa);
@@ -1457,7 +1457,7 @@
 void
 pmap_zero_page(vm_page_t m)
 {
-	vm_offset_t pa = VM_PAGE_TO_PHYS(m);
+	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
 
 	CTR1(KTR_PMAP, "pmap_zero_page: pa = %x", pa);
 
@@ -1475,7 +1475,7 @@
 void
 pmap_zero_page_area(vm_page_t m, int off, int size)
 {
-	vm_offset_t pa = VM_PAGE_TO_PHYS(m);
+	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
 
 	CTR3(KTR_PMAP, "pmap_zero_page_area: pa = %x, off = %d, size = %d", pa, off, size);
 

==== //depot/projects/s390/sys/s390/s390/support.S#2 (text+ko) ====

@@ -170,6 +170,10 @@
 	lm	%r6,	%r8,	SF_GPR6(%r15)
 	br	%r14
 
+/* intptr_t casuptr(intptr_t *p, intptr_t old, intptr_t new) */
+ENTRY(casuptr)
+	xr	%r2, %r2
+	br	%r14
 
 /* int fubyte(const void *base) */
 ENTRY(fubyte)

==== //depot/projects/s390/sys/s390/s390/swtch.S#3 (text+ko) ====

@@ -1,8 +1,6 @@
 /*-
  * S/390 context switch routines.
  *
- * WHO AND WHY DID ABBREVIATE WORD 'switch' TO 'swtch'?!
- *
  * Copyright (c) 2002 Serguei Tzukanov.
  *
  * All rights reserved. Terms for use and redistribution

==== //depot/projects/s390/sys/s390/s390/trap.c#7 (text+ko) ====

@@ -472,7 +472,7 @@
 #endif
 
 	/* Dispose signal for process. */
-	trapsignal(p, signo, sigcode);
+	trapsignal(tf, signo, sigcode);
 
 user:
 	userret(td, tf, sticks);



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