( PMM_HANDLE_BASE | 0x00001000 )
#define PMM_HANDLE_BASE_DECOMPRESS_TO \
( PMM_HANDLE_BASE | 0x00002000 )
+#define PCI_FUNC_MASK 0x07
/* ROM banner timeout. Based on the configurable BANNER_TIMEOUT in
* config.h, but converted to a number of (18Hz) timer ticks, and
xorw %di, %di
cs rep movsb
+ /* Skip prompt if this is not the first PCI function */
+ testb $PCI_FUNC_MASK, init_pci_busdevfn
+ jnz no_shell
/* Prompt for POST-time shell */
movw $init_message_prompt, %si
xorw %di, %di
movw $init_message_done, %si
call print_message
popf
- jnz 2f
+ jnz no_shell
/* Ctrl-B was pressed: invoke iPXE. The keypress will be
* picked up by the initial shell prompt, and we will drop
* into a shell.
xorl %ebp, %ebp /* Inhibit use of INT 15,e820 and INT 15,e801 */
pushw %cs
call exec
-2:
+no_shell:
+ movb $( '\n' ), %al
+ xorw %di, %di
+ call print_character
+
/* Restore registers */
popw %gs
popw %fs
*
*/
init_pci_busdevfn:
- .word 0xffff
+ .word 0
.size init_pci_busdevfn, . - init_pci_busdevfn
/* Image source area