[iSCSI] Support Windows Server 2008 direct iSCSI installation

Add yet another ugly hack to iscsiboot.c, this time to allow the user to
inhibit the shutdown/removal of the iSCSI INT13 device (and the network
devices, since they are required for the iSCSI device to function).

On the plus side, the fact that shutdown() now takes flags to
differentiate between shutdown-for-exit and shutdown-for-boot means that
another ugly hack (to allow returning via the PXE stack on BIOSes that
have broken INT 18 calls) will be easier.

I feel dirty.
This commit is contained in:
Michael Brown
2008-07-17 17:45:17 +01:00
parent 4e033c774b
commit 03c80c12b8
18 changed files with 115 additions and 51 deletions

View File

@@ -224,7 +224,7 @@ static void serial_init ( void ) {
* Cleanup our use of the serial port, in particular flush the
* output buffer so we don't accidentially lose characters.
*/
static void serial_fini ( void ) {
static void serial_fini ( int flags __unused ) {
int i, status;
/* Flush the output buffer to avoid dropping characters,
* if we are reinitializing the serial port.
@@ -247,6 +247,6 @@ struct init_fn serial_init_fn __init_fn ( INIT_SERIAL ) = {
};
/** Serial driver startup function */
struct startup_fn serial_startup_fn __startup_fn ( STARTUP_NORMAL ) = {
struct startup_fn serial_startup_fn __startup_fn ( STARTUP_EARLY ) = {
.shutdown = serial_fini,
};