|
@@ -109,12 +109,12 @@ mfgstr:
|
109
|
109
|
|
110
|
110
|
/* Product string
|
111
|
111
|
*
|
112
|
|
- * Defaults to "gPXE". If the ROM image is writable at initialisation
|
113
|
|
- * time, it will be filled in to include the PCI bus:dev.fn number of
|
114
|
|
- * the card as well.
|
|
112
|
+ * Defaults to PRODUCT_SHORT_NAME. If the ROM image is writable at
|
|
113
|
+ * initialisation time, it will be filled in to include the PCI
|
|
114
|
+ * bus:dev.fn number of the card as well.
|
115
|
115
|
*/
|
116
|
116
|
prodstr:
|
117
|
|
- .ascii "gPXE"
|
|
117
|
+ .ascii PRODUCT_SHORT_NAME
|
118
|
118
|
prodstr_separator:
|
119
|
119
|
.byte 0
|
120
|
120
|
.ascii "(PCI "
|
|
@@ -346,23 +346,28 @@ no_pmm:
|
346
|
346
|
movw $init_message_prompt, %si
|
347
|
347
|
xorw %di, %di
|
348
|
348
|
call print_message
|
|
349
|
+ movw $prodstr, %si
|
|
350
|
+ call print_message
|
|
351
|
+ movw $init_message_dots, %si
|
|
352
|
+ call print_message
|
349
|
353
|
/* Wait for Ctrl-B */
|
350
|
354
|
movw $0xff02, %bx
|
351
|
355
|
call wait_for_key
|
352
|
356
|
/* Clear prompt */
|
353
|
357
|
pushf
|
354
|
|
- movw $clear_message, %si
|
355
|
358
|
xorw %di, %di
|
|
359
|
+ call print_kill_line
|
|
360
|
+ movw $init_message_done, %si
|
356
|
361
|
call print_message
|
357
|
362
|
popf
|
358
|
|
- jnz 1f
|
|
363
|
+ jnz 2f
|
359
|
364
|
/* Ctrl-B was pressed: invoke gPXE. The keypress will be
|
360
|
365
|
* picked up by the initial shell prompt, and we will drop
|
361
|
366
|
* into a shell.
|
362
|
367
|
*/
|
363
|
368
|
pushw %cs
|
364
|
369
|
call exec
|
365
|
|
-1:
|
|
370
|
+2:
|
366
|
371
|
/* Restore registers */
|
367
|
372
|
popw %gs
|
368
|
373
|
popw %fs
|
|
@@ -375,7 +380,26 @@ no_pmm:
|
375
|
380
|
lret
|
376
|
381
|
.size init, . - init
|
377
|
382
|
|
|
383
|
+/*
|
|
384
|
+ * Note to hardware vendors:
|
|
385
|
+ *
|
|
386
|
+ * If you wish to brand this boot ROM, please do so by defining the
|
|
387
|
+ * strings PRODUCT_NAME and PRODUCT_SHORT_NAME in config/general.h.
|
|
388
|
+ *
|
|
389
|
+ * While nothing in the GPL prevents you from removing all references
|
|
390
|
+ * to gPXE or http://etherboot.org, we prefer you not to do so.
|
|
391
|
+ *
|
|
392
|
+ * If you have an OEM-mandated branding requirement that cannot be
|
|
393
|
+ * satisfied simply by defining PRODUCT_NAME and PRODUCT_SHORT_NAME,
|
|
394
|
+ * please contact us.
|
|
395
|
+ *
|
|
396
|
+ * [ Including an ASCII NUL in PRODUCT_NAME is considered to be
|
|
397
|
+ * bypassing the spirit of this request! ]
|
|
398
|
+ */
|
378
|
399
|
init_message:
|
|
400
|
+ .ascii "\n"
|
|
401
|
+ .ascii PRODUCT_NAME
|
|
402
|
+ .ascii "\n"
|
379
|
403
|
.asciz "gPXE (http://etherboot.org) - "
|
380
|
404
|
.size init_message, . - init_message
|
381
|
405
|
init_message_pci:
|
|
@@ -394,11 +418,14 @@ init_message_int19:
|
394
|
418
|
.asciz " INT19"
|
395
|
419
|
.size init_message_int19, . - init_message_int19
|
396
|
420
|
init_message_prompt:
|
397
|
|
- .asciz "\nPress Ctrl-B to configure gPXE..."
|
|
421
|
+ .asciz "\nPress Ctrl-B to configure "
|
398
|
422
|
.size init_message_prompt, . - init_message_prompt
|
399
|
|
-clear_message:
|
400
|
|
- .asciz "\r \n\n"
|
401
|
|
- .size clear_message, . - clear_message
|
|
423
|
+init_message_dots:
|
|
424
|
+ .asciz "..."
|
|
425
|
+ .size init_message_dots, . - init_message_dots
|
|
426
|
+init_message_done:
|
|
427
|
+ .asciz "\n\n"
|
|
428
|
+ .size init_message_done, . - init_message_done
|
402
|
429
|
|
403
|
430
|
/* ROM image location
|
404
|
431
|
*
|
|
@@ -454,8 +481,9 @@ int19_entry:
|
454
|
481
|
movw $0xdf42, %bx
|
455
|
482
|
call wait_for_key
|
456
|
483
|
pushf
|
457
|
|
- movw $clear_message, %si
|
458
|
484
|
xorw %di, %di
|
|
485
|
+ call print_kill_line
|
|
486
|
+ movw $int19_message_done, %si
|
459
|
487
|
call print_message
|
460
|
488
|
popf
|
461
|
489
|
jnz 1f
|
|
@@ -482,6 +510,9 @@ int19_message_prompt:
|
482
|
510
|
int19_message_dots:
|
483
|
511
|
.asciz "..."
|
484
|
512
|
.size int19_message_dots, . - int19_message_dots
|
|
513
|
+int19_message_done:
|
|
514
|
+ .asciz "\n\n"
|
|
515
|
+ .size int19_message_done, . - int19_message_done
|
485
|
516
|
|
486
|
517
|
/* Execute as a boot device
|
487
|
518
|
*
|