diff --git a/Demo/MicroBlaze_Spartan-6_EthernetLite/SDKProjects/RTOSDemoSource/FreeRTOS_Source/portable/GCC/MicroBlaze/portmacro.h b/Demo/MicroBlaze_Spartan-6_EthernetLite/SDKProjects/RTOSDemoSource/FreeRTOS_Source/portable/GCC/MicroBlaze/portmacro.h
index 940dd7936..ae01b0452 100644
--- a/Demo/MicroBlaze_Spartan-6_EthernetLite/SDKProjects/RTOSDemoSource/FreeRTOS_Source/portable/GCC/MicroBlaze/portmacro.h
+++ b/Demo/MicroBlaze_Spartan-6_EthernetLite/SDKProjects/RTOSDemoSource/FreeRTOS_Source/portable/GCC/MicroBlaze/portmacro.h
@@ -174,8 +174,71 @@ void vPortEnableInterrupt( unsigned char ucInterruptID );
  */
 void vPortDisableInterrupt( unsigned char ucInterruptID );
 
+/*
+ * This is an application defined callback function used to install the tick
+ * interrupt handler.  It is provided as an application callback because the 
+ * kernel will run on lots of different MicroBlaze and FPGA configurations - not 
+ * all of which will have the same timer peripherals defined or available.  This 
+ * example uses the AXI Timer 0.  If that is available on your hardware platform 
+ * then this example callback implementation should not require modification.  
+ * The name of the interrupt handler that should be installed is vPortTickISR(), 
+ * which the function below declares as an extern.
+ */ 
 void vApplicationSetupTimerInterrupt( void );
 
+/* 
+ * This is an application defined callback function used to clear whichever
+ * interrupt was installed by the the vApplicationSetupTimerInterrupt() callback
+ * function - in this case the interrupt generated by the AXI timer.  It is 
+ * provided as an application callback because the kernel will run on lots of 
+ * different MicroBlaze and FPGA configurations - not all of which will have the 
+ * same timer peripherals defined or available.  This example uses the AXI Timer 0.  
+ * If that is available on your hardware platform then this example callback 
+ * implementation should not require modification provided the example definition
+ * of vApplicationSetupTimerInterrupt() is also not modified. 
+ */
+void vApplicationClearTimerInterrupt( void )
+
+/*
+ * vPortExceptionsInstallHandlers() is only available when the MicroBlaze
+ * is configured to include exception functionality, and 
+ * configINSTALL_EXCEPTION_HANDLERS is set to 1 in FreeRTOSConfig.h.
+ *
+ * vPortExceptionsInstallHandlers() installs the FreeRTOS exception handler
+ * for every possible exception cause.  
+ *
+ * vPortExceptionsInstallHandlers() can be called explicitly from application
+ * code.  After that is done, the default FreeRTOS exception handler that will
+ * have been installed can be replaced for any specific exception cause by using 
+ * the standard Xilinx library function microblaze_register_exception_handler().
+ *
+ * If vPortExceptionsInstallHandlers() is not called explicitly by the 
+ * application, it will be called automatically by the kernel the first time
+ * xPortInstallInterruptHandler() is called.  At that time, any exception 
+ * handlers that may have already been installed will be replaced.
+ *
+ * See the description of vApplicationExceptionRegisterDump() for information
+ * on the processing performed by the FreeRTOS exception handler.
+ */
+void vPortExceptionsInstallHandlers( void );
+
+/*
+ * The FreeRTOS exception handler fills an xPortRegisterDump structure (defined 
+ * in portmacro.h) with the MicroBlaze context, as it was at the time the 
+ * exception occurred.  The exception handler then calls
+ * vApplicationExceptionRegisterDump(), passing in the completed
+ * xPortRegisterDump structure as its parameter.
+ *
+ * The FreeRTOS kernel provides its own implementation of
+ * vApplicationExceptionRegisterDump(), but the kernel provided implementation 
+ * is declared as being 'weak'.  The weak definition allows the application 
+ * writer to provide their own implementation, should they wish to use the 
+ * register dump information.  For example, an implementation could be provided
+ * that wrote the register dump data to a display, or a UART port.
+ */
+void vApplicationExceptionRegisterDump( xPortRegisterDump *xRegisterDump );
+
+
 /*-----------------------------------------------------------*/
 
 /* Critical section macros. */
@@ -289,9 +352,6 @@ typedef struct PORT_REGISTER_DUMP
 
 } xPortRegisterDump;
 
-void vPortExceptionsInstallHandlers( void );
-void vApplicationExceptionRegisterDump( xPortRegisterDump *xRegisterDump );
-
 #ifdef __cplusplus
 }
 #endif