thorpej
102190b8fe
Implement bus_space_mmap().
2001-09-04 05:31:27 +00:00
drochner
13c9f8d398
implement bus_space_vaddr()
2000-04-17 17:24:48 +00:00
thorpej
df88882d80
- Add a bus space method for getting the translation for a window.
...
- Add sysarch methods for "get bus window count", "get bus window",
and "pci conf read/write".
These are a hack, but they're what's necessary in order to make
XFree86 work in its current state.
2000-02-26 18:53:10 +00:00
thorpej
de974ff82d
Add an internal bus space method alpha_bus_space_translate(), which
...
provides a method to translate an address on an I/O bus into a sysBus
address, along with acccess method information.
2000-02-25 00:45:04 +00:00
elric
28bdaf37d9
Changed cacheable -> prefetchable.
2000-02-06 03:52:27 +00:00
thorpej
781149bb12
Handle the case where PCI dense memory and PCI sparse memory don't
...
overlap; don't require allocation from the dense extent if the PCI
memory address isn't mapped into dense space.
Also, make sure to return an error if a liner mapping is requested
and dense space is not available (not just not requested).
1999-12-08 01:48:39 +00:00
thorpej
9beb275ae8
Oops, committed the wrong version of this file previously.
1999-12-08 00:35:43 +00:00
thorpej
ac20942bc5
Some systems don't have dense space; don't require it.
1999-12-07 07:04:39 +00:00
thorpej
51f4c69ad4
Clarify what appear to the untrained eye to be two magic constants (the
...
address shift and access size shift), and allow them to be overridden
by chip-specific code, if necessary.
1999-12-07 05:44:57 +00:00
perry
a92175a153
nuke ovbcopy
1999-03-12 22:54:58 +00:00
cgd
3110e22945
use current bus_space interface names for barrier ops
1998-08-30 23:29:10 +00:00
thorpej
f948e430bb
Provide a hook for bypassing space accounting, needed to support ISA PnP
...
for now.
1998-07-31 04:37:02 +00:00
thorpej
611012d836
Make the copy_region methods do overlapping copies properly. Fixes
...
port-alpha/4216 (Chris Demetriou).
1997-10-25 01:21:57 +00:00
thorpej
ed2ec4869c
Update for Chris Demetriou's changes made to the bus.h interface:
...
- bus_space_copy -> bus_space_copy_region (for consistency)
- "cacheable" argument becomes a "flags" argument instead, with
BUS_SPACE_MAP_CACHEABLE and BUS_SPACE_MAP_LINEAR flags currently
defined.
1997-09-06 05:44:07 +00:00
thorpej
1aa35e94d4
s/BUS_BARRIER/BUS_SPACE_BARRIER/g
1997-09-06 05:21:14 +00:00
thorpej
3735c7d1d7
Fix a think-o.
1997-09-02 19:39:15 +00:00
thorpej
aa7a2876e6
Treat bus space tags more like pci chipset tags and bus dma tags: allocate
...
them statically within a chipset's state structure, and pass them to
the *_bus_{io,mem}_init() functions.
1997-09-02 12:40:18 +00:00
thorpej
9199b6645b
Clean up RCS IDs.
1997-09-02 10:56:52 +00:00
thorpej
8998fa1198
Revive these files from the Attic.
1997-09-02 10:26:55 +00:00
cgd
9dc7578cb5
move and split pcs_bus_{mem,io}_common.c, so that:
...
(1) object code can be shared (where the hardware makes that possible), and
(2) so that the file names better describe the systems which use them. (the
pci_swiz* files are for machines whose PCI interfaces require address
"swizzling." Later, there will be probably be other sets, e.g. pci_bwx*
for machines whose chipsets can easily deal with the Alpha BWX extensions
when doing device accesses.)
1997-04-10 23:21:29 +00:00
cgd
0a500fffa0
update to allow PCI bus interfaces that wish to allocate static
...
extent storage per interface unit (e.g. dwlpx, where there can be multiple
units per machine) to do so. Inspired by discussion with and changes from
Matt Jacob.
1997-03-12 05:24:23 +00:00
cgd
30b636bd09
implement bus_space_copy_*().
1996-12-02 22:19:32 +00:00
cgd
256cf234a1
move barrier operation definition closer to the top of the bus space ops
...
structure. In the implementations, allow the barrier op to be inlined.
1996-12-02 07:07:18 +00:00
cgd
54ba942f79
implement bus_space_set_multi_* and bus_space_set_region_* operations.
1996-12-02 06:46:49 +00:00
cgd
e6bafb00d6
declare the single-datum read and write methods as inline, so that
...
the multi and region methods can inline them.
1996-12-02 06:12:39 +00:00
cgd
1a45dbd671
update these to set up and use extents to map i/o space, and sparse and
...
dense memory.
1996-11-25 03:37:23 +00:00
cgd
1b03f1bca7
update for new bus.h macros. bus_io_* and bus_mem_* integrated into
...
single bus_space_* framework. Unfortunately, bus_space_{read,write}_*
operations still imply barriers. That will change soon.
1996-10-23 04:12:13 +00:00
christos
8d9699acda
backout previous kprintf change
1996-10-13 02:59:55 +00:00
christos
a60beecedb
printf -> kprintf, sprintf -> ksprintf
1996-10-10 23:44:49 +00:00
cgd
0cefc7ef74
clean and update for new defintions, prototypes, etc.
1996-07-09 00:53:48 +00:00
cgd
2d9140fb20
add definitions and code to support use of multiple I/O and _dense_
...
memory regions.
1996-06-11 21:25:25 +00:00
cgd
d714189d53
implement bus_mem_subregion() and bus_io_subregion().
1996-06-11 21:16:21 +00:00
cgd
df2ba1e245
add support for mapping multiple memory windows. This is necessary
...
for mapping ISA/EISA 'hole' memory on the AlphaStation 600.
1996-06-09 23:57:45 +00:00
cgd
8df74fa62a
wrap __STRING() in a #define so that its argument, which must be
...
expanded by the preprocessor, will be. Problem pointed out by Matt
Thomas.
1996-06-09 23:49:24 +00:00
cgd
c6dd609e7f
gross hack to get around the fact that there are currently devices with
...
common back-ends that live on multiple very-different busses (e.g. PCI and
TC), which need bus-specific DMA mapping support. As a nice side effect,
this will allow the especially nasty (vtophys(va) | 0x40000000) expressions
to go away in favor of less nasty bus-specific function calls.
1996-06-03 20:18:48 +00:00
cgd
04645aa7ad
chipset 'bus' functions that seem to be common to all host bus
...
adapters that exist in single-CPU systems. APECS, CIA, and LCA
all use this, but with different #defines.
1996-04-12 04:34:59 +00:00