diff options
author | Michael Brown <mcb30@etherboot.org> | 2008-07-17 17:45:17 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2008-07-17 17:45:17 +0100 |
commit | 03c80c12b8e9019554c3bd4545cf68926ee1ce47 (patch) | |
tree | ad2217eda5c315775a86708e166c85a9f04926ff /src/arch/i386/image | |
parent | 4e033c774b3731488cc7750f2d4d89c12661a254 (diff) | |
download | ipxe-03c80c12b8e9019554c3bd4545cf68926ee1ce47.tar.gz |
[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.
Diffstat (limited to 'src/arch/i386/image')
-rw-r--r-- | src/arch/i386/image/bzimage.c | 2 | ||||
-rw-r--r-- | src/arch/i386/image/elfboot.c | 2 | ||||
-rw-r--r-- | src/arch/i386/image/multiboot.c | 2 | ||||
-rw-r--r-- | src/arch/i386/image/nbi.c | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/i386/image/bzimage.c b/src/arch/i386/image/bzimage.c index d9c054532..e6fd854f7 100644 --- a/src/arch/i386/image/bzimage.c +++ b/src/arch/i386/image/bzimage.c @@ -348,7 +348,7 @@ static int bzimage_exec ( struct image *image ) { sizeof ( bzhdr ) ); /* Prepare for exiting */ - shutdown(); + shutdown ( SHUTDOWN_BOOT ); DBGC ( image, "bzImage %p jumping to RM kernel at %04x:0000 " "(stack %04x:%04zx)\n", image, diff --git a/src/arch/i386/image/elfboot.c b/src/arch/i386/image/elfboot.c index 52510aa97..60c54992a 100644 --- a/src/arch/i386/image/elfboot.c +++ b/src/arch/i386/image/elfboot.c @@ -46,7 +46,7 @@ static int elfboot_exec ( struct image *image ) { /* An ELF image has no callback interface, so we need to shut * down before invoking it. */ - shutdown(); + shutdown ( SHUTDOWN_BOOT ); /* Jump to OS with flat physical addressing */ __asm__ __volatile__ ( PHYS_CODE ( "call *%%edi\n\t" ) diff --git a/src/arch/i386/image/multiboot.c b/src/arch/i386/image/multiboot.c index fbaebd5c7..d7c2b8dab 100644 --- a/src/arch/i386/image/multiboot.c +++ b/src/arch/i386/image/multiboot.c @@ -277,7 +277,7 @@ static int multiboot_exec ( struct image *image ) { /* Multiboot images may not return and have no callback * interface, so shut everything down prior to booting the OS. */ - shutdown(); + shutdown ( SHUTDOWN_BOOT ); /* Jump to OS with flat physical addressing */ __asm__ __volatile__ ( PHYS_CODE ( "call *%%edi\n\t" ) diff --git a/src/arch/i386/image/nbi.c b/src/arch/i386/image/nbi.c index 73791be90..e6a0ab0f3 100644 --- a/src/arch/i386/image/nbi.c +++ b/src/arch/i386/image/nbi.c @@ -429,7 +429,7 @@ static int nbi_exec ( struct image *image ) { /* Shut down now if NBI image will not return */ may_return = NBI_PROGRAM_RETURNS ( imgheader.flags ); if ( ! may_return ) - shutdown(); + shutdown ( SHUTDOWN_BOOT ); /* Execute NBI image */ if ( NBI_LINEAR_EXEC_ADDR ( imgheader.flags ) ) { |