summaryrefslogtreecommitdiff
path: root/debian/patches/ata-rump.diff
blob: 2dfa5740bdeb7894376f421a0df63fcef38a4ea7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/ATA.ioconf
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/ATA.ioconf
@@ -0,0 +1,29 @@
+ioconf ata
+
+include "conf/files"
+include "dev/ata/files.ata"
+include "dev/pci/files.pci"
+include "rump/dev/files.rump"
+
+pseudo-root ahcisata*
+pseudo-root piixide*
+pseudo-root atapi*
+
+
+# ATA (IDE) bus support
+atabus* 	at ahcisata? channel?
+atabus* 	at piixide? channel?
+#ata_hl*		at atabus? drive?
+
+# IDE drives
+wd*     	at atabus? drive? flags 0x0000
+
+# ATAPI devices
+# flags have the same meanig as for IDE drives.
+atapibus*	at atapi? channel? 
+atapibus*	at ahcisata? channel? 
+atapibus*	at piixide? channel? 
+cd*		at atapibus? drive ? flags 0x0000  #ATAPI CD-ROM drives
+sd*		at atapibus? drive ? flags 0x0000  #ATAPI disk drives
+st*		at atapibus? drive ? flags 0x0000  #ATAPI tape drives
+uk*		at atapibus? drive ? flags 0x0000  #ATAPI unkown
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/Makefile
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/Makefile
@@ -0,0 +1,20 @@
+RUMPTOP=${TOPRUMP}
+
+.PATH:	${.CURDIR}/../../../../dev/pci \
+	${.CURDIR}/../../../../dev/ata \
+	${.CURDIR}/../../../../dev/scsipi \
+	${.CURDIR}/../../../../dev/ic
+
+LIB=	rumpdev_ata
+COMMENT=ATA && ATAPI
+IOCONF=	ATA.ioconf
+
+SRCS+=	atapi_wdc.c atapi_base.c cd.c
+SRCS+=	wd.c ata.c ata_wdc.c ata_subr.c ata_recovery.c
+SRCS+=	wdc.c
+
+SRCS+=	ata_component.c
+
+.include "${RUMPTOP}/Makefile.rump"
+.include <bsd.lib.mk>
+.include <bsd.klinks.mk>
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/ata_component.c
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/ata_component.c
@@ -0,0 +1,51 @@
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/kmem.h>
+#include <sys/stat.h>
+
+#include "ioconf.c"
+
+#include <rump-sys/kern.h>
+#include <rump-sys/vfs.h>
+
+
+RUMP_COMPONENT(RUMP_COMPONENT_DEV)
+{
+	extern struct bdevsw wd_bdevsw, cd_bdevsw;
+	extern struct cdevsw wd_cdevsw, cd_cdevsw;
+	devmajor_t bmaj, cmaj;
+
+	config_init_component(cfdriver_ioconf_ata,
+	    cfattach_ioconf_ata, cfdata_ioconf_ata);
+
+	bmaj = cmaj = -1;
+	int err = devsw_attach("wd", &wd_bdevsw, &bmaj, &wd_cdevsw, &cmaj);
+	if (err != 0) { panic("devsw_attach failed with error %i", err);}
+
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/wd0", 'a',
+	    bmaj, 0, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rwd0", 'a',
+	    cmaj, 0, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/wd1", 'a',
+	    bmaj, 8, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rwd1", 'a',
+	    cmaj, 8, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/wd2", 'a',
+	    bmaj, 16, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rwd2", 'a',
+	    cmaj, 16, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/wd3", 'a',
+	    bmaj, 24, 4));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rwd3", 'a',
+	    cmaj, 24, 4));
+/* Borked
+	bmaj = cmaj = -1;
+	FLAWLESSCALL(devsw_attach("cd", &cd_bdevsw, &bmaj, &cd_cdevsw, &cmaj));
+
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/cd0", 'a',
+	    bmaj, 0, 1));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rcd0", 'a',
+	    cmaj, 0, 1));
+*/
+}
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/ataraid.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/ataraid.h
@@ -0,0 +1 @@
+
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/locators.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/locators.h
@@ -0,0 +1,119 @@
+#define WSKBDDEVCF_CONSOLE 0
+#define WSKBDDEVCF_CONSOLE_DEFAULT -1
+#define WSKBDDEVCF_MUX 1
+#define WSKBDDEVCF_MUX_DEFAULT 1
+#define WSKBDDEVCF_NLOCS 2
+#define PCKBPORTCF_SLOT 0
+#define PCKBPORTCF_SLOT_DEFAULT -1
+#define PCKBPORTCF_NLOCS 1
+#define MLXCF_UNIT 0
+#define MLXCF_UNIT_DEFAULT -1
+#define MLXCF_NLOCS 1
+#define WSMOUSEDEVCF_MUX 0
+#define WSMOUSEDEVCF_MUX_DEFAULT 0
+#define WSMOUSEDEVCF_NLOCS 1
+#define CPCBUSCF_ADDR 0
+#define CPCBUSCF_IRQ 1
+#define CPCBUSCF_IRQ_DEFAULT -1
+#define CPCBUSCF_NLOCS 2
+#define IHIDBUSCF_REPORTID 0
+#define IHIDBUSCF_REPORTID_DEFAULT -1
+#define IHIDBUSCF_NLOCS 1
+#define NVMECF_NSID 0
+#define NVMECF_NSID_DEFAULT -1
+#define NVMECF_NLOCS 1
+#define PCMCIABUSCF_CONTROLLER 0
+#define PCMCIABUSCF_CONTROLLER_DEFAULT -1
+#define PCMCIABUSCF_SOCKET 1
+#define PCMCIABUSCF_SOCKET_DEFAULT -1
+#define PCMCIABUSCF_NLOCS 2
+#define FLASHBUSCF_OFFSET 0
+#define FLASHBUSCF_OFFSET_DEFAULT 0
+#define FLASHBUSCF_SIZE 1
+#define FLASHBUSCF_SIZE_DEFAULT 0
+#define FLASHBUSCF_READONLY 2
+#define FLASHBUSCF_READONLY_DEFAULT 0
+#define FLASHBUSCF_DYNAMIC 3
+#define FLASHBUSCF_DYNAMIC_DEFAULT 0
+#define FLASHBUSCF_NLOCS 4
+#define PUCCF_PORT 0
+#define PUCCF_PORT_DEFAULT -1
+#define PUCCF_NLOCS 1
+#define PCICF_DEV 0
+#define PCICF_DEV_DEFAULT -1
+#define PCICF_FUNCTION 1
+#define PCICF_FUNCTION_DEFAULT -1
+#define PCICF_NLOCS 2
+#define GPIBDEVCF_ADDRESS 0
+#define GPIBDEVCF_ADDRESS_DEFAULT -1
+#define GPIBDEVCF_NLOCS 1
+#define WSBELLDEVCF_CONSOLE 0
+#define WSBELLDEVCF_CONSOLE_DEFAULT -1
+#define WSBELLDEVCF_MUX 1
+#define WSBELLDEVCF_MUX_DEFAULT 1
+#define WSBELLDEVCF_NLOCS 2
+#define PCIBUSCF_BUS 0
+#define PCIBUSCF_BUS_DEFAULT -1
+#define PCIBUSCF_NLOCS 1
+#define WSDISPLAYDEVCF_KBDMUX 0
+#define WSDISPLAYDEVCF_KBDMUX_DEFAULT 1
+#define WSDISPLAYDEVCF_NLOCS 1
+#define MIICF_PHY 0
+#define MIICF_PHY_DEFAULT -1
+#define MIICF_NLOCS 1
+#define SPICF_SLAVE 0
+#define SPICF_SLAVE_DEFAULT -1
+#define SPICF_NLOCS 1
+#define WSEMULDISPLAYDEVCF_CONSOLE 0
+#define WSEMULDISPLAYDEVCF_CONSOLE_DEFAULT -1
+#define WSEMULDISPLAYDEVCF_KBDMUX 1
+#define WSEMULDISPLAYDEVCF_KBDMUX_DEFAULT 1
+#define WSEMULDISPLAYDEVCF_NLOCS 2
+#define AACCF_UNIT 0
+#define AACCF_UNIT_DEFAULT -1
+#define AACCF_NLOCS 1
+#define SCSICF_CHANNEL 0
+#define SCSICF_CHANNEL_DEFAULT -1
+#define SCSICF_NLOCS 1
+#define HDAUDIOBUSCF_NID 0
+#define HDAUDIOBUSCF_NID_DEFAULT -1
+#define HDAUDIOBUSCF_NLOCS 1
+#define TWACF_UNIT 0
+#define TWACF_UNIT_DEFAULT -1
+#define TWACF_NLOCS 1
+#define ATACF_CHANNEL 0
+#define ATACF_CHANNEL_DEFAULT -1
+#define ATACF_NLOCS 1
+#define CACCF_UNIT 0
+#define CACCF_UNIT_DEFAULT -1
+#define CACCF_NLOCS 1
+#define FDTCF_PASS 0
+#define FDTCF_PASS_DEFAULT 10
+#define FDTCF_NLOCS 1
+#define AMRCF_UNIT 0
+#define AMRCF_UNIT_DEFAULT -1
+#define AMRCF_NLOCS 1
+#define TWECF_UNIT 0
+#define TWECF_UNIT_DEFAULT -1
+#define TWECF_NLOCS 1
+#define IICCF_ADDR 0
+#define IICCF_ADDR_DEFAULT -1
+#define IICCF_NLOCS 1
+#define ATA_HLCF_DRIVE 0
+#define ATA_HLCF_DRIVE_DEFAULT -1
+#define ATA_HLCF_NLOCS 1
+#define GPIOCF_OFFSET 0
+#define GPIOCF_OFFSET_DEFAULT -1
+#define GPIOCF_MASK 1
+#define GPIOCF_MASK_DEFAULT 0
+#define GPIOCF_FLAG 2
+#define GPIOCF_FLAG_DEFAULT 0
+#define GPIOCF_NLOCS 3
+#define ICPCF_UNIT 0
+#define ICPCF_UNIT_DEFAULT -1
+#define ICPCF_NLOCS 1
+#define ATARAIDCF_VENDTYPE 0
+#define ATARAIDCF_VENDTYPE_DEFAULT -1
+#define ATARAIDCF_UNIT 1
+#define ATARAIDCF_UNIT_DEFAULT -1
+#define ATARAIDCF_NLOCS 2
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/opt_ata.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/opt_ata.h
@@ -0,0 +1 @@
+
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/opt_wd.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/opt_wd.h
@@ -0,0 +1 @@
+
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/opt_wdc.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/opt_wdc.h
@@ -0,0 +1,3 @@
+#define NWD	1
+#define NSATA	1
+#define WDC_NO_IDS
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/sata.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/sata.h
@@ -0,0 +1 @@
+
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/sata_pmp.h
===================================================================
--- /dev/null
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/lib/libata/sata_pmp.h
@@ -0,0 +1 @@
+
Index: rumpkernel/buildrump.sh/src/sys/rump/dev/Makefile.rumpdevcomp
===================================================================
--- rumpkernel.orig/buildrump.sh/src/sys/rump/dev/Makefile.rumpdevcomp
+++ rumpkernel/buildrump.sh/src/sys/rump/dev/Makefile.rumpdevcomp
@@ -1,7 +1,7 @@
 #	$NetBSD: Makefile.rumpdevcomp,v 1.25 2020/04/04 17:20:16 christos Exp $
 #
 
-RUMPDEVCOMP=	audio bpf cgd disk dm drvctl fss md 			\
+RUMPDEVCOMP=	ata audio bpf cgd disk dm drvctl fss md 		\
 		pad pud	putter raidframe rnd scsipi sysmon vnd wscons	\
 		opencrypto