浏览代码

Allow linking by converting all functions to stubs

tags/v0.9.3
Michael Brown 18 年前
父节点
当前提交
17ecfd1d67
共有 1 个文件被更改,包括 30 次插入41 次删除
  1. 30
    41
      src/interface/pxe/pxe_undi.c

+ 30
- 41
src/interface/pxe/pxe_undi.c 查看文件

@@ -22,25 +22,14 @@
22 22
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 23
  */
24 24
 
25
-#if 0
26
-
27 25
 #include "pxe.h"
28 26
 
29
-typedef struct {
30
-	char dest[ETH_ALEN];
31
-	char source[ETH_ALEN];
32
-	uint16_t nstype;
33
-} media_header_t;
34
-
35
-static const char broadcast_mac[] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF };
36
-
37 27
 /* PXENV_UNDI_STARTUP
38 28
  *
39 29
  * Status: working
40 30
  */
41 31
 PXENV_EXIT_t pxenv_undi_startup ( struct s_PXENV_UNDI_STARTUP *undi_startup ) {
42 32
 	DBG ( "PXENV_UNDI_STARTUP" );
43
-	ENSURE_MIDWAY(undi_startup);
44 33
 
45 34
 	undi_startup->Status = PXENV_STATUS_SUCCESS;
46 35
 	return PXENV_EXIT_SUCCESS;
@@ -52,7 +41,6 @@ PXENV_EXIT_t pxenv_undi_startup ( struct s_PXENV_UNDI_STARTUP *undi_startup ) {
52 41
  */
53 42
 PXENV_EXIT_t pxenv_undi_cleanup ( struct s_PXENV_UNDI_CLEANUP *undi_cleanup ) {
54 43
 	DBG ( "PXENV_UNDI_CLEANUP" );
55
-	ENSURE_CAN_UNLOAD ( undi_cleanup );
56 44
 
57 45
 	undi_cleanup->Status = PXENV_STATUS_SUCCESS;
58 46
 	return PXENV_EXIT_SUCCESS;
@@ -65,7 +53,6 @@ PXENV_EXIT_t pxenv_undi_cleanup ( struct s_PXENV_UNDI_CLEANUP *undi_cleanup ) {
65 53
 PXENV_EXIT_t pxenv_undi_initialize ( struct s_PXENV_UNDI_INITIALIZE
66 54
 				     *undi_initialize ) {
67 55
 	DBG ( "PXENV_UNDI_INITIALIZE" );
68
-	ENSURE_MIDWAY ( undi_initialize );
69 56
 
70 57
 	undi_initialize->Status = PXENV_STATUS_SUCCESS;
71 58
 	return PXENV_EXIT_SUCCESS;
@@ -79,9 +66,6 @@ PXENV_EXIT_t pxenv_undi_reset_adapter ( struct s_PXENV_UNDI_RESET
79 66
 					*undi_reset_adapter ) {
80 67
 	DBG ( "PXENV_UNDI_RESET_ADAPTER" );
81 68
 
82
-	ENSURE_MIDWAY ( undi_reset_adapter );
83
-	ENSURE_READY ( undi_reset_adapter );
84
-
85 69
 	undi_reset_adapter->Status = PXENV_STATUS_SUCCESS;
86 70
 	return PXENV_EXIT_SUCCESS;
87 71
 }
@@ -93,7 +77,6 @@ PXENV_EXIT_t pxenv_undi_reset_adapter ( struct s_PXENV_UNDI_RESET
93 77
 PXENV_EXIT_t pxenv_undi_shutdown ( struct s_PXENV_UNDI_SHUTDOWN
94 78
 				   *undi_shutdown ) {
95 79
 	DBG ( "PXENV_UNDI_SHUTDOWN" );
96
-	ENSURE_MIDWAY ( undi_shutdown );
97 80
 
98 81
 	undi_shutdown->Status = PXENV_STATUS_SUCCESS;
99 82
 	return PXENV_EXIT_SUCCESS;
@@ -105,13 +88,14 @@ PXENV_EXIT_t pxenv_undi_shutdown ( struct s_PXENV_UNDI_SHUTDOWN
105 88
  */
106 89
 PXENV_EXIT_t pxenv_undi_open ( struct s_PXENV_UNDI_OPEN *undi_open ) {
107 90
 	DBG ( "PXENV_UNDI_OPEN" );
108
-	ENSURE_READY ( undi_open );
109 91
 
92
+#if 0
110 93
 	/* PXESPEC: This is where we choose to enable interrupts.
111 94
 	 * Can't actually find where we're meant to in the PXE spec,
112 95
 	 * but this should work.
113 96
 	 */
114 97
 	eth_irq ( ENABLE );
98
+#endif
115 99
 
116 100
 	undi_open->Status = PXENV_STATUS_SUCCESS;
117 101
 	return PXENV_EXIT_SUCCESS;
@@ -123,7 +107,6 @@ PXENV_EXIT_t pxenv_undi_open ( struct s_PXENV_UNDI_OPEN *undi_open ) {
123 107
  */
124 108
 PXENV_EXIT_t pxenv_undi_close ( struct s_PXENV_UNDI_CLOSE *undi_close ) {
125 109
 	DBG ( "PXENV_UNDI_CLOSE" );
126
-	ENSURE_MIDWAY ( undi_close );
127 110
 
128 111
 	undi_close->Status = PXENV_STATUS_SUCCESS;
129 112
 	return PXENV_EXIT_SUCCESS;
@@ -140,11 +123,10 @@ PXENV_EXIT_t pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT
140 123
 	unsigned int type;
141 124
 	unsigned int length;
142 125
 	const char *data;
143
-	media_header_t *media_header;
144 126
 
145 127
 	DBG ( "PXENV_UNDI_TRANSMIT" );
146
-	ENSURE_READY ( undi_transmit );
147 128
 
129
+#if 0
148 130
 	/* We support only the "immediate" portion of the TBD.  Who
149 131
 	 * knows what Intel's "engineers" were smoking when they came
150 132
 	 * up with the array of transmit data blocks...
@@ -187,6 +169,7 @@ PXENV_EXIT_t pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT
187 169
 
188 170
 	/* Send the packet */
189 171
 	eth_transmit ( dest, type, length, data );
172
+#endif
190 173
 	
191 174
 	undi_transmit->Status = PXENV_STATUS_SUCCESS;
192 175
 	return PXENV_EXIT_SUCCESS;
@@ -200,7 +183,7 @@ PXENV_EXIT_t
200 183
 pxenv_undi_set_mcast_address ( struct s_PXENV_UNDI_SET_MCAST_ADDRESS
201 184
 			       *undi_set_mcast_address ) {
202 185
 	DBG ( "PXENV_UNDI_SET_MCAST_ADDRESS" );
203
-	/* ENSURE_READY ( undi_set_mcast_address ); */
186
+
204 187
 	undi_set_mcast_address->Status = PXENV_STATUS_UNSUPPORTED;
205 188
 	return PXENV_EXIT_FAILURE;
206 189
 }
@@ -213,8 +196,8 @@ PXENV_EXIT_t
213 196
 pxenv_undi_set_station_address ( struct s_PXENV_UNDI_SET_STATION_ADDRESS
214 197
 				 *undi_set_station_address ) {
215 198
 	DBG ( "PXENV_UNDI_SET_STATION_ADDRESS" );
216
-	ENSURE_READY ( undi_set_station_address );
217 199
 
200
+#if 0
218 201
 	/* We don't offer a facility to set the MAC address; this
219 202
 	 * would require adding extra code to all the Etherboot
220 203
 	 * drivers, for very little benefit.  If we're setting it to
@@ -227,6 +210,8 @@ pxenv_undi_set_station_address ( struct s_PXENV_UNDI_SET_STATION_ADDRESS
227 210
 		undi_set_station_address->Status = PXENV_STATUS_SUCCESS;
228 211
 		return PXENV_EXIT_SUCCESS;
229 212
 	}
213
+#endif
214
+
230 215
 	undi_set_station_address->Status = PXENV_STATUS_UNSUPPORTED;
231 216
 	return PXENV_EXIT_FAILURE;
232 217
 }
@@ -240,7 +225,7 @@ PXENV_EXIT_t
240 225
 pxenv_undi_set_packet_filter ( struct s_PXENV_UNDI_SET_PACKET_FILTER
241 226
 			       *undi_set_packet_filter ) {
242 227
 	DBG ( "PXENV_UNDI_SET_PACKET_FILTER" );
243
-	/* ENSURE_READY ( undi_set_packet_filter ); */
228
+
244 229
 	undi_set_packet_filter->Status = PXENV_STATUS_UNSUPPORTED;
245 230
 	return PXENV_EXIT_FAILURE;
246 231
 }
@@ -252,8 +237,8 @@ pxenv_undi_set_packet_filter ( struct s_PXENV_UNDI_SET_PACKET_FILTER
252 237
 PXENV_EXIT_t pxenv_undi_get_information ( struct s_PXENV_UNDI_GET_INFORMATION
253 238
 					  *undi_get_information ) {
254 239
 	DBG ( "PXENV_UNDI_GET_INFORMATION" );
255
-	ENSURE_READY ( undi_get_information );
256 240
 
241
+#if 0
257 242
 	undi_get_information->BaseIo = nic.ioaddr;
258 243
 	undi_get_information->IntNumber = nic.irqno;
259 244
 	/* Cheat: assume all cards can cope with this */
@@ -276,6 +261,8 @@ PXENV_EXIT_t pxenv_undi_get_information ( struct s_PXENV_UNDI_GET_INFORMATION
276 261
 	 */
277 262
 	undi_get_information->RxBufCt = 1;
278 263
 	undi_get_information->TxBufCt = 1;
264
+#endif
265
+
279 266
 	undi_get_information->Status = PXENV_STATUS_SUCCESS;
280 267
 	return PXENV_EXIT_SUCCESS;
281 268
 }
@@ -288,7 +275,7 @@ PXENV_EXIT_t pxenv_undi_get_information ( struct s_PXENV_UNDI_GET_INFORMATION
288 275
 PXENV_EXIT_t pxenv_undi_get_statistics ( struct s_PXENV_UNDI_GET_STATISTICS
289 276
 					 *undi_get_statistics ) {
290 277
 	DBG ( "PXENV_UNDI_GET_STATISTICS" );
291
-	/* ENSURE_READY ( undi_get_statistics ); */
278
+
292 279
 	undi_get_statistics->Status = PXENV_STATUS_UNSUPPORTED;
293 280
 	return PXENV_EXIT_FAILURE;
294 281
 }
@@ -301,7 +288,7 @@ PXENV_EXIT_t pxenv_undi_get_statistics ( struct s_PXENV_UNDI_GET_STATISTICS
301 288
 PXENV_EXIT_t pxenv_undi_clear_statistics ( struct s_PXENV_UNDI_CLEAR_STATISTICS
302 289
 					   *undi_clear_statistics ) {
303 290
 	DBG ( "PXENV_UNDI_CLEAR_STATISTICS" );
304
-	/* ENSURE_READY ( undi_clear_statistics ); */
291
+
305 292
 	undi_clear_statistics->Status = PXENV_STATUS_UNSUPPORTED;
306 293
 	return PXENV_EXIT_FAILURE;
307 294
 }
@@ -314,7 +301,7 @@ PXENV_EXIT_t pxenv_undi_clear_statistics ( struct s_PXENV_UNDI_CLEAR_STATISTICS
314 301
 PXENV_EXIT_t pxenv_undi_initiate_diags ( struct s_PXENV_UNDI_INITIATE_DIAGS
315 302
 					 *undi_initiate_diags ) {
316 303
 	DBG ( "PXENV_UNDI_INITIATE_DIAGS" );
317
-	/* ENSURE_READY ( undi_initiate_diags ); */
304
+
318 305
 	undi_initiate_diags->Status = PXENV_STATUS_UNSUPPORTED;
319 306
 	return PXENV_EXIT_FAILURE;
320 307
 }
@@ -326,9 +313,11 @@ PXENV_EXIT_t pxenv_undi_initiate_diags ( struct s_PXENV_UNDI_INITIATE_DIAGS
326 313
 PXENV_EXIT_t pxenv_undi_force_interrupt ( struct s_PXENV_UNDI_FORCE_INTERRUPT
327 314
 					  *undi_force_interrupt ) {
328 315
 	DBG ( "PXENV_UNDI_FORCE_INTERRUPT" );
329
-	ENSURE_READY ( undi_force_interrupt );
330 316
 
317
+#if 0
331 318
 	eth_irq ( FORCE );
319
+#endif
320
+
332 321
 	undi_force_interrupt->Status = PXENV_STATUS_SUCCESS;
333 322
 	return PXENV_EXIT_SUCCESS;
334 323
 }
@@ -341,7 +330,7 @@ PXENV_EXIT_t
341 330
 pxenv_undi_get_mcast_address ( struct s_PXENV_UNDI_GET_MCAST_ADDRESS
342 331
 			       *undi_get_mcast_address ) {
343 332
 	DBG ( "PXENV_UNDI_GET_MCAST_ADDRESS" );
344
-	/* ENSURE_READY ( undi_get_mcast_address ); */
333
+
345 334
 	undi_get_mcast_address->Status = PXENV_STATUS_UNSUPPORTED;
346 335
 	return PXENV_EXIT_FAILURE;
347 336
 }
@@ -352,14 +341,11 @@ pxenv_undi_get_mcast_address ( struct s_PXENV_UNDI_GET_MCAST_ADDRESS
352 341
  */
353 342
 PXENV_EXIT_t pxenv_undi_get_nic_type ( struct s_PXENV_UNDI_GET_NIC_TYPE
354 343
 				       *undi_get_nic_type ) {
355
-#warning "device probing mechanism has changed completely"
344
+	DBG ( "PXENV_UNDI_GET_NIC_TYPE" );
356 345
 
346
+#warning "device probing mechanism has changed completely"
357 347
 #if 0
358
-	struct dev *dev = &dev;
359
-	
360
-	DBG ( "PXENV_UNDI_GET_NIC_TYPE" );
361
-	ENSURE_READY ( undi_get_nic_type );
362
-	
348
+	struct dev *dev = &dev;	
363 349
 	if ( dev->to_probe == PROBE_PCI ) {
364 350
 		struct pci_device *pci = &dev->state.pci.dev;
365 351
 
@@ -408,8 +394,8 @@ PXENV_EXIT_t pxenv_undi_get_nic_type ( struct s_PXENV_UNDI_GET_NIC_TYPE
408 394
 PXENV_EXIT_t pxenv_undi_get_iface_info ( struct s_PXENV_UNDI_GET_IFACE_INFO
409 395
 					 *undi_get_iface_info ) {
410 396
 	DBG ( "PXENV_UNDI_GET_IFACE_INFO" );
411
-	ENSURE_READY ( undi_get_iface_info );
412 397
 
398
+#if 0
413 399
 	/* Just hand back some info, doesn't really matter what it is.
414 400
 	 * Most PXE stacks seem to take this approach.
415 401
 	 */
@@ -418,6 +404,8 @@ PXENV_EXIT_t pxenv_undi_get_iface_info ( struct s_PXENV_UNDI_GET_IFACE_INFO
418 404
 	undi_get_iface_info->ServiceFlags = 0;
419 405
 	memset ( undi_get_iface_info->Reserved, 0,
420 406
 		 sizeof(undi_get_iface_info->Reserved) );
407
+#endif
408
+
421 409
 	undi_get_iface_info->Status = PXENV_STATUS_SUCCESS;
422 410
 	return PXENV_EXIT_SUCCESS;
423 411
 }
@@ -428,6 +416,8 @@ PXENV_EXIT_t pxenv_undi_get_iface_info ( struct s_PXENV_UNDI_GET_IFACE_INFO
428 416
  */
429 417
 PXENV_EXIT_t pxenv_undi_get_state ( struct s_PXENV_UNDI_GET_STATE
430 418
 				    *undi_get_state ) {
419
+	DBG ( "PXENV_UNDI_GET_STATE" );
420
+
431 421
 	undi_get_state->Status = PXENV_STATUS_UNSUPPORTED;
432 422
 	return PXENV_EXIT_FAILURE;
433 423
 };
@@ -437,9 +427,9 @@ PXENV_EXIT_t pxenv_undi_get_state ( struct s_PXENV_UNDI_GET_STATE
437 427
  * Status: working
438 428
  */
439 429
 PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) {
440
-	media_header_t *media_header = (media_header_t*)nic.packet;
441
-
442 430
 	DBG ( "PXENV_UNDI_ISR" );
431
+
432
+#if 0
443 433
 	/* We can't call ENSURE_READY, because this could be being
444 434
 	 * called as part of an interrupt service routine.  Instead,
445 435
 	 * we should simply die if we're not READY.
@@ -534,9 +524,8 @@ PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) {
534 524
 		undi_isr->Status = PXENV_STATUS_UNDI_INVALID_PARAMETER;
535 525
 		return PXENV_EXIT_FAILURE;
536 526
 	}
527
+#endif
537 528
 
538 529
 	undi_isr->Status = PXENV_STATUS_SUCCESS;
539 530
 	return PXENV_EXIT_SUCCESS;
540 531
 }
541
-
542
-#endif

正在加载...
取消
保存