PERFORCE change 29709 for review
Serguei Tzukanov
tzukanov at FreeBSD.org
Fri Apr 25 12:12:57 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=29709
Change 29709 by tzukanov at 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, ®s->r_psw, sizeof(*regs));
- return 0;
+ return (0);
}
int
set_regs(struct thread *td, struct reg *regs)
{
if (psw_insecure(®s->r_psw))
- return EINVAL;
+ return (EINVAL);
bcopy(&td->td_frame->tf_psw, ®s->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);
More information about the p4-projects
mailing list