diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-07-06 22:46:44 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-07-06 22:46:44 +0000 |
commit | 14c7d6e9017676b0f117d973df41d1f295b054b6 (patch) | |
tree | 621321553f5a2b38232f777748d91795106aea3d /sys/arch/sgi/include | |
parent | ca4606da8cc43ab2b78417c1285311b98d5231f6 (diff) |
Almost rewrite xbridge PCI resource allocation:
- introduce an interface for widget drivers to ask the xbow to map arbitrary
views of their address space, in addition to the low 16MB. This operation
may fail or map a subset range of what the caller asked for, depending on
the platform we're running on.
- use this in xbridge to set up views on the direct memory and i/o spaces,
to map devices resources when they don't fit in one of the devio small
ranges (limited to 2MB anyway). These views are only allocated when
devio can't do the job, so as not to consume too many resources on
Origin family systems where such views are scarce resources (and
shared accross the whole crossbow).
This makes pci devices with large resource needs configure correctly.
While there, fix programming of 64 bit memory BAR; this makes bge(4)
work.
Tested on Octane (with Bridge revision < 4 and >= 4), Origin 200 (Bridge >= 4)
and Fuel (XBridge).
ok deraadt@
Diffstat (limited to 'sys/arch/sgi/include')
-rw-r--r-- | sys/arch/sgi/include/mnode.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/sgi/include/mnode.h b/sys/arch/sgi/include/mnode.h index 9d628c38203..65bfec9c657 100644 --- a/sys/arch/sgi/include/mnode.h +++ b/sys/arch/sgi/include/mnode.h @@ -1,4 +1,4 @@ -/* $OpenBSD: mnode.h,v 1.7 2009/06/13 18:47:30 miod Exp $ */ +/* $OpenBSD: mnode.h,v 1.8 2009/07/06 22:46:40 miod Exp $ */ /* * Copyright (c) 2004 Opsycon AB (www.opsycon.se / www.opsycon.com) @@ -392,7 +392,7 @@ typedef struct gda { */ vaddr_t kl_get_console_base(void); -void kl_init(uint64_t); +void kl_init(int); void kl_scan_config(int); void kl_scan_done(void); int kl_scan_node(int, uint, int (*)(lboard_t *, void *), void *); |