Commit Graph

36 Commits

Author SHA1 Message Date
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