diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2003-09-02 17:25:22 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2003-09-02 17:25:22 +0000 |
commit | 7592107d280aebe0829159bdff0c28d07a15ad5c (patch) | |
tree | be3858eb98d5551c88fa98da2beb45255bad0331 /sys/arch/alpha/pci/tsp_bus_mem.c | |
parent | 502ab6598a0aceb78d7a33559ce85c2c4ef131c0 (diff) |
Our extent implementation relies on the fact that extents all have distinct
names.
However, the tsp code uses one global extent, which both device instances
want to reinitialize and use for themselves (whether this is a genuine bug
or not is left to the reader).
Solve the problem by putting the extents into the tsp softc, and change the
pci_bwx_bus code to handle variable extent names.
This makes DS20 systems with tsp0 and tsp1 work again.
ok deraadt@
Diffstat (limited to 'sys/arch/alpha/pci/tsp_bus_mem.c')
-rw-r--r-- | sys/arch/alpha/pci/tsp_bus_mem.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/arch/alpha/pci/tsp_bus_mem.c b/sys/arch/alpha/pci/tsp_bus_mem.c index 3ced801484b..97017b5b0fb 100644 --- a/sys/arch/alpha/pci/tsp_bus_mem.c +++ b/sys/arch/alpha/pci/tsp_bus_mem.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tsp_bus_mem.c,v 1.3 2001/11/06 19:53:13 miod Exp $ */ +/* $OpenBSD: tsp_bus_mem.c,v 1.4 2003/09/02 17:25:21 miod Exp $ */ /* $NetBSD: tsp_bus_mem.c,v 1.4 2000/06/26 19:46:25 thorpej Exp $ */ /*- @@ -62,6 +62,9 @@ */ __asm(".arch ev6"); +#define CHIP_EXTENT_NAME(v) ((struct tsp_config *)(v))->pc_mem_ex_name +#define CHIP_EXTENT_STORAGE(v) ((struct tsp_config *)(v))->pc_mem_ex_storage + #include <alpha/pci/pci_bwx_bus_mem_chipdep.c> void |