Index: /trunk/src/VBox/ValidationKit/bootsectors/Makefile.kmk
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/Makefile.kmk	(revision 59865)
+++ /trunk/src/VBox/ValidationKit/bootsectors/Makefile.kmk	(revision 59866)
@@ -230,6 +230,6 @@
 bs3-cpu-basic-2_SOURCES = \
 	bs3kit/bs3-first-rm.asm \
-	bs3-cpu-basic-2-c.c
-#	bs3-cpu-basic-2.asm
+	bs3-cpu-basic-2-c.c \
+	bs3-cpu-basic-2.asm
 endif
 
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2-c.c
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2-c.c	(revision 59865)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2-c.c	(revision 59866)
@@ -32,4 +32,16 @@
 
 
+FNBS3TESTDOMODE               bs3CpuBasic2_iret_c16;
+FNBS3TESTDOMODE BS3_FAR_CODE  bs3CpuBasic2_iret_c32;
+FNBS3TESTDOMODE BS3_FAR_CODE  bs3CpuBasic2_iret_c64;
+
+
+static const BS3TESTMODEENTRY g_aModeTest[] =
+{
+    { "iret", bs3CpuBasic2_iret_c16,
+        bs3CpuBasic2_iret_c16, bs3CpuBasic2_iret_c32, bs3CpuBasic2_iret_c16,
+        bs3CpuBasic2_iret_c32, bs3CpuBasic2_iret_c16, bs3CpuBasic2_iret_c16 }
+};
+
 
 BS3_DECL(void) Main_rm()
@@ -38,6 +50,7 @@
     Bs3TestInit("bs3-cpu-basic-2");
 
+    //Bs3TestDoModes(g_aModeTest, RT_ELEMENTS(g_aModeTest));
+
     Bs3TestTerm();
-
 }
 
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2-template.mac
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2-template.mac	(revision 59865)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2-template.mac	(revision 59866)
@@ -1,3 +1,2 @@
-%include "bs3kit-template-header.mac"   ; setup environment
 
 
@@ -7,4 +6,20 @@
 
 
+
+%include "bs3kit-template-header.mac"   ; setup environment
+
+
+
+
+BS3_PROC_BEGIN_CMN bs3CpuBasic2_iret
+        hlt
+        xor     al, al
+        ret
+BS3_PROC_END_CMN   bs3CpuBasic2_iret
+
+
+
+
+
 %include "bs3kit-template-footer.mac"   ; reset environment
 
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2.asm
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2.asm	(revision 59865)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-basic-2.asm	(revision 59866)
@@ -31,53 +31,5 @@
 %include "bs3kit.mac"
 
-;
-; Segment defs, grouping and related variables.
-; Defines the entry point 'start' as well, leaving us in BS3TEXT16.
-;
-%include "bs3-first-common.mac"
 
+BS3_INSTANTIATE_COMMON_TEMPLATE "bs3-cpu-basic-2-template.mac"
 
-;
-; We start in real mode.
-;
-%define TMPL_RM
-%include "bs3kit-template-header.mac"
-
-BS3_EXTERN_DATA16 g_uBs3CpuDetected
-BS3_BEGIN_TEXT16
-BS3_EXTERN_CMN  Bs3Shutdown
-extern          _Bs3InitAll_rm
-
-
-BS3_BEGIN_TEXT16
-BS3_PROC_BEGIN Bs3CpuBasic2_Main
-        push    word 0                  ; zero return address.
-        push    word 0                  ; zero caller BP
-        mov     bp, sp
-        sub     sp, 20h                 ; reserve 20h for 64-bit calls (we're doing them MSC style, remember).
-
-        call    _Bs3InitAll_rm
-
-        ;
-        ; Start testing.
-        ;
-
-
-
-        ;
-        ; Done.
-        ;
-.shutdown:
-        call    Bs3Shutdown
-        jmp     .shutdown
-BS3_PROC_END   Bs3CpuBasic2_Main
-
-
-;
-; Instantiate the test template code.
-;
-%include "bs3kit-template-footer.mac"  ; reset the initial environemnt.
-
-
-BS3_INSTANTIATE_TEMPLATE_WITH_WEIRD_ONES "bs3-cpu-basic-2-template.mac"
-
