summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/mvme88k/dev/vx.c17
-rw-r--r--sys/arch/mvme88k/dev/vxreg.h10
2 files changed, 16 insertions, 11 deletions
diff --git a/sys/arch/mvme88k/dev/vx.c b/sys/arch/mvme88k/dev/vx.c
index 6dcb258a491..2a5175515c1 100644
--- a/sys/arch/mvme88k/dev/vx.c
+++ b/sys/arch/mvme88k/dev/vx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vx.c,v 1.31 2004/05/25 21:22:49 miod Exp $ */
+/* $OpenBSD: vx.c,v 1.32 2004/05/26 21:15:31 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* All rights reserved.
@@ -68,7 +68,6 @@ struct vxsoftc {
struct evcnt sc_intrcnt;
struct vx_info sc_info[NVXPORTS];
struct vxreg *vx_reg;
- paddr_t board_addr;
vaddr_t board_vaddr;
struct channel *channel;
char channel_number;
@@ -140,8 +139,16 @@ void vx_unblock(struct tty *);
* opposite.
*/
#define VIRTUAL(addr) (((addr) & 0xffff) + sc->board_vaddr)
-#define PHYSICAL(addr) (((addr - sc->board_vaddr) & 0xffff) + sc->board_addr)
-/* #define PHYSICAL(addr) (((addr - sc->board_vaddr) & 0xffff) | 0xf30000) */
+#define PHYSICAL(addr) \
+ (((addr - sc->board_vaddr) & 0xffff) | LOCAL_DPMEM_ADDRESS)
+
+#if 0
+#define LO(x) (u_short)((unsigned long)x & 0x0000FFFF)
+#define HI(x) (u_short)((unsigned long)x >> 16)
+#else
+#define LO(x) (u_short)(x)
+#define HI(x) (LOCAL_DPMEM_ADDRESS >> 16)
+#endif
struct tty *
vxtty(dev_t dev)
@@ -191,8 +198,6 @@ vxattach(struct device *parent, struct device *self, void *aux)
if (ca->ca_ipl < 0)
ca->ca_ipl = IPL_TTY;
- sc->board_addr = ca->ca_paddr;
-
if (bus_space_map(iot, ca->ca_paddr, 0x10000, 0, &ioh) != 0) {
printf(": can't map registers!\n");
return;
diff --git a/sys/arch/mvme88k/dev/vxreg.h b/sys/arch/mvme88k/dev/vxreg.h
index c677bcb550e..1344d711c78 100644
--- a/sys/arch/mvme88k/dev/vxreg.h
+++ b/sys/arch/mvme88k/dev/vxreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vxreg.h,v 1.7 2004/05/25 21:21:24 miod Exp $ */
+/* $OpenBSD: vxreg.h,v 1.8 2004/05/26 21:15:31 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr. All rights reserved.
@@ -396,8 +396,8 @@ struct init_info { /* 88 bytes */
#define NENVELOPES 30
#define NPACKETS NENVELOPES
-#define USER_AREA (sc->board_addr + 0x0100)
-#define CHANNEL_H (sc->board_addr + 0x0100)
+#define USER_AREA (0x0100)
+#define CHANNEL_H (0x0100)
#define ENVELOPE_AREA (CHANNEL_H + sizeof(struct channel))
#define ENVELOPE_AREA_SIZE (NENVELOPES * sizeof(struct envelope))
#define PACKET_AREA (ENVELOPE_AREA + ENVELOPE_AREA_SIZE)
@@ -410,5 +410,5 @@ struct init_info { /* 88 bytes */
#define RRING_AREA_SIZE (NVXPORTS * sizeof(struct rring))
#define USER_AREA_SIZE (RRING_AREA + RRING_AREA_SIZE - USER_AREA)
-#define LO(x) (u_short)((unsigned long)x & 0x0000FFFF)
-#define HI(x) (u_short)((unsigned long)x >> 16)
+/* Hardware's view of the dual ported memory */
+#define LOCAL_DPMEM_ADDRESS 0x00f30000