diff options
author | dfr <dfr@FreeBSD.org> | 1998-07-29 18:36:29 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-07-29 18:36:29 +0000 |
commit | 7ccaec50823c99dda455743a57fa3d51ce17c230 (patch) | |
tree | f7141fe32931ceccd2479501e4d4de85e3845899 /sys/alpha | |
parent | 062b0dc0c31b27beb19089ccab0c79a93553e626 (diff) | |
download | FreeBSD-src-7ccaec50823c99dda455743a57fa3d51ce17c230.zip FreeBSD-src-7ccaec50823c99dda455743a57fa3d51ce17c230.tar.gz |
Fix msgbuf so that it actually works properly.
Diffstat (limited to 'sys/alpha')
-rw-r--r-- | sys/alpha/alpha/machdep.c | 15 | ||||
-rw-r--r-- | sys/alpha/alpha/mem.c | 10 |
2 files changed, 3 insertions, 22 deletions
diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c index 55649b6..dedd487 100644 --- a/sys/alpha/alpha/machdep.c +++ b/sys/alpha/alpha/machdep.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: machdep.c,v 1.7 1998/07/15 20:16:26 dfr Exp $ + * $Id: machdep.c,v 1.8 1998/07/22 08:20:57 dfr Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -185,7 +185,6 @@ SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) static MALLOC_DEFINE(M_MBUF, "mbuf", "mbuf"); struct msgbuf *msgbufp=0; -int msgbufmapped = 0; /* set when safe to use msgbuf */ int bootverbose = 0, Maxmem = 0; long dumplo; @@ -864,17 +863,7 @@ alpha_init(pfn, ptb, bim, bip, biv) phys_avail[i+1] -= sz; msgbufp = (struct msgbuf*) ALPHA_PHYS_TO_K0SEG(phys_avail[i+1]); - cp = (char *)msgbufp; - msgbufp = (struct msgbuf *) (cp + sz - sizeof(*msgbufp)); - if (msgbufp->msg_magic != MSG_MAGIC || msgbufp->msg_ptr != cp) { - bzero(cp, sz); - msgbufp->msg_magic = MSG_MAGIC; - msgbufp->msg_size = (char *)msgbufp - cp; - msgbufp->msg_ptr = cp; - } - msgbufmapped = 1; - - /* initmsgbuf(msgbufaddr, sz); */ + msgbufinit(msgbufp, MSGBUF_SIZE); /* Remove the last segment if it now has no pages. */ if (phys_avail[i] == phys_avail[i+1]) diff --git a/sys/alpha/alpha/mem.c b/sys/alpha/alpha/mem.c index baf0ae5..f08e7d5 100644 --- a/sys/alpha/alpha/mem.c +++ b/sys/alpha/alpha/mem.c @@ -38,7 +38,7 @@ * * from: Utah $Hdr: mem.c 1.13 89/10/08$ * from: @(#)mem.c 7.2 (Berkeley) 5/9/91 - * $Id: mem.c,v 1.50 1998/03/12 09:14:18 bde Exp $ + * $Id: mem.c,v 1.1 1998/06/10 10:52:54 dfr Exp $ */ /* @@ -199,14 +199,6 @@ mmrw(dev, uio, flags) case 0: v = uio->uio_offset; kmemphys: - if (v >= ALPHA_K0SEG_TO_PHYS((vm_offset_t)msgbufp)) { - if (msgbufmapped == 0) { - printf("Message Buf not Mapped\n"); - error = EFAULT; - break; - } - } - /* Allow reads only in RAM. */ rw = (uio->uio_rw == UIO_READ) ? VM_PROT_READ : VM_PROT_WRITE; if ((alpha_pa_access(v) & rw) != rw) { |