aboutsummaryrefslogtreecommitdiffstats
path: root/src/arch/i386/image
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2008-07-17 17:45:17 +0100
committerMichael Brown <mcb30@etherboot.org>2008-07-17 17:45:17 +0100
commit03c80c12b8e9019554c3bd4545cf68926ee1ce47 (patch)
treead2217eda5c315775a86708e166c85a9f04926ff /src/arch/i386/image
parent4e033c774b3731488cc7750f2d4d89c12661a254 (diff)
downloadipxe-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.c2
-rw-r--r--src/arch/i386/image/elfboot.c2
-rw-r--r--src/arch/i386/image/multiboot.c2
-rw-r--r--src/arch/i386/image/nbi.c2
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 ) ) {