OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [Documentation/] [DocBook/] [s390-drivers.tmpl] - Blame information for rev 65

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
2
3
        "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
4
 
5
6
 
7
  Writing s390 channel device drivers
8
 
9
  
10
   
11
    Cornelia
12
    Huck
13
    
14
     
15
       cornelia.huck@de.ibm.com
16
     
17
    
18
   
19
  
20
 
21
  
22
   2007
23
   IBM Corp.
24
  
25
 
26
  
27
   
28
     This documentation is free software; you can redistribute
29
     it and/or modify it under the terms of the GNU General Public
30
     License as published by the Free Software Foundation; either
31
     version 2 of the License, or (at your option) any later
32
     version.
33
   
34
 
35
   
36
     This program is distributed in the hope that it will be
37
     useful, but WITHOUT ANY WARRANTY; without even the implied
38
     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
39
     See the GNU General Public License for more details.
40
   
41
 
42
   
43
     You should have received a copy of the GNU General Public
44
     License along with this program; if not, write to the Free
45
     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
46
     MA 02111-1307 USA
47
   
48
 
49
   
50
     For more details see the file COPYING in the source
51
     distribution of Linux.
52
   
53
  
54
 
55
 
56
57
 
58
  
59
   Introduction
60
  
61
    This document describes the interfaces available for device drivers that
62
    drive s390 based channel attached devices. This includes interfaces for
63
    interaction with the hardware and interfaces for interacting with the
64
    common driver core. Those interfaces are provided by the s390 common I/O
65
    layer.
66
  
67
  
68
    The document assumes a familarity with the technical terms associated
69
    with the s390 channel I/O architecture. For a description of this
70
    architecture, please refer to the "z/Architecture: Principles of
71
    Operation", IBM publication no. SA22-7832.
72
  
73
  
74
    While most I/O devices on a s390 system are typically driven through the
75
    channel I/O mechanism described here, there are various other methods
76
    (like the diag interface). These are out of the scope of this document.
77
  
78
  
79
    Some additional information can also be found in the kernel source
80
    under Documentation/s390/driver-model.txt.
81
  
82
  
83
  
84
   The ccw bus
85
  
86
        The ccw bus typically contains the majority of devices available to
87
        a s390 system. Named after the channel command word (ccw), the basic
88
        command structure used to address its devices, the ccw bus contains
89
        so-called channel attached devices. They are addressed via subchannels,
90
        visible on the css bus. A device driver, however, will never interact
91
        with the subchannel directly, but only via the device on the ccw bus,
92
        the ccw device.
93
  
94
    
95
     I/O functions for channel-attached devices
96
    
97
      Some hardware structures have been translated into C structures for use
98
      by the common I/O layer and device drivers. For more information on
99
      the hardware structures represented here, please consult the Principles
100
      of Operation.
101
    
102
!Iinclude/asm-s390/cio.h
103
    
104
    
105
     ccw devices
106
    
107
      Devices that want to initiate channel I/O need to attach to the ccw bus.
108
      Interaction with the driver core is done via the common I/O layer, which
109
      provides the abstractions of ccw devices and ccw device drivers.
110
    
111
    
112
      The functions that initiate or terminate channel I/O all act upon a
113
      ccw device structure. Device drivers must not bypass those functions
114
      or strange side effects may happen.
115
    
116
!Iinclude/asm-s390/ccwdev.h
117
!Edrivers/s390/cio/device.c
118
!Edrivers/s390/cio/device_ops.c
119
    
120
    
121
     The channel-measurement facility
122
  
123
        The channel-measurement facility provides a means to collect
124
        measurement data which is made available by the channel subsystem
125
        for each channel attached device.
126
  
127
!Iinclude/asm-s390/cmb.h
128
!Edrivers/s390/cio/cmf.c
129
    
130
  
131
 
132
  
133
   The ccwgroup bus
134
  
135
        The ccwgroup bus only contains artificial devices, created by the user.
136
        Many networking devices (e.g. qeth) are in fact composed of several
137
        ccw devices (like read, write and data channel for qeth). The
138
        ccwgroup bus provides a mechanism to create a meta-device which
139
        contains those ccw devices as slave devices and can be associated
140
        with the netdevice.
141
  
142
   
143
    ccw group devices
144
!Iinclude/asm-s390/ccwgroup.h
145
!Edrivers/s390/cio/ccwgroup.c
146
   
147
  
148
 
149

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.