diff --git a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/Flat32.asm b/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/Flat32.asm
deleted file mode 100644
index 9f144fc..0000000
--- a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/Flat32.asm
+++ /dev/null
@@ -1,131 +0,0 @@
-;; @file
-;  This is the code that goes from real-mode to protected mode.
-;  It consumes the reset vector, configures the stack.
-;
-; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
-; This program and the accompanying materials
-; are licensed and made available under the terms and conditions of the BSD License
-; which accompanies this distribution.  The full text of the license may be found at
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;;
-
-;
-; Define assembler characteristics
-;
-.586p
-.xmm
-.model flat, c
-
-EXTRN   TempRamInitApi:NEAR
-
-.code 
-
-RET_ESI  MACRO
-
-  movd    esi, mm7                      ; restore ESP from MM7
-  jmp     esi
-
-ENDM
-
-;
-; Perform early platform initialization
-;
-SecPlatformInit    PROC    NEAR    PUBLIC
-
-  RET_ESI
-
-SecPlatformInit    ENDP
-
-;
-; Protected mode portion initializes stack, configures cache, and calls C entry point
-;
-
-;----------------------------------------------------------------------------
-;
-; Procedure:    ProtectedModeEntryPoint
-;
-; Input:        Executing in 32 Bit Protected (flat) mode
-;               cs: 0-4GB
-;               ds: 0-4GB
-;               es: 0-4GB
-;               fs: 0-4GB
-;               gs: 0-4GB
-;               ss: 0-4GB
-;
-; Output:       This function never returns
-;
-; Destroys:
-;               ecx
-;               edi
-;               esi
-;               esp
-;
-; Description:
-;               Perform any essential early platform initilaisation
-;               Setup a stack
-;
-;----------------------------------------------------------------------------
-
-ProtectedModeEntryPoint PROC NEAR C PUBLIC
-  ;
-  ; Dummy function. Consume 2 API to make sure they can be linked.
-  ;
-  mov  eax, TempRamInitApi
-
-  ; Should never return
-  jmp  $
-
-ProtectedModeEntryPoint ENDP
-
-;
-; ROM-based Global-Descriptor Table for the PEI Phase
-;
-align 16
-PUBLIC  BootGdtTable
-
-;
-; GDT[0]: 0x00: Null entry, never used.
-;
-NULL_SEL        equ     $ - GDT_BASE        ; Selector [0]
-GDT_BASE:
-BootGdtTable    DD      0
-                DD      0
-;
-; Linear code segment descriptor
-;
-LINEAR_CODE_SEL equ     $ - GDT_BASE        ; Selector [0x8]
-        DW      0FFFFh                      ; limit 0xFFFF
-        DW      0                           ; base 0
-        DB      0
-        DB      09Bh                        ; present, ring 0, data, expand-up, not-writable
-        DB      0CFh                        ; page-granular, 32-bit
-        DB      0
-;
-; System data segment descriptor
-;
-SYS_DATA_SEL    equ     $ - GDT_BASE        ; Selector [0x10]
-        DW      0FFFFh                      ; limit 0xFFFF
-        DW      0                           ; base 0
-        DB      0
-        DB      093h                        ; present, ring 0, data, expand-up, not-writable
-        DB      0CFh                        ; page-granular, 32-bit
-        DB      0
-
-GDT_SIZE        EQU     $ - BootGDTtable    ; Size, in bytes
-
-;
-; GDT Descriptor
-;
-GdtDesc:                                    ; GDT descriptor
-        DW      GDT_SIZE - 1                ; GDT limit
-        DD      OFFSET BootGdtTable         ; GDT base address
-
-ProtectedModeEntryLinearAddress   LABEL   FWORD
-ProtectedModeEntryLinearOffset    LABEL   DWORD
-  DD      OFFSET ProtectedModeEntryPoint  ; Offset of our 32 bit code
-  DW      LINEAR_CODE_SEL
-  
-END
diff --git a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/Flat32.s b/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/Flat32.s
deleted file mode 100644
index d46d792..0000000
--- a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/Flat32.s
+++ /dev/null
@@ -1,110 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution.  The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Abstract:
-#
-#  This is the code that goes from real-mode to protected mode.
-#  It consumes the reset vector, configures the stack.
-#
-#------------------------------------------------------------------------------
-
-
-#
-# Contrary to the name, this file contains 16 bit code as well.
-#
-.text
-
-ASM_GLOBAL ASM_PFX(SecPlatformInit)
-ASM_PFX(SecPlatformInit):
-  movd    %mm7, %esi                      # restore ESP from MM7
-  jmp     *%esi
-
-#----------------------------------------------------------------------------
-#
-# Procedure:    ProtectedModeEntryPoint
-#
-# Input:        Executing in 32 Bit Protected (flat) mode
-#               cs: 0-4GB
-#               ds: 0-4GB
-#               es: 0-4GB
-#               fs: 0-4GB
-#               gs: 0-4GB
-#               ss: 0-4GB
-#
-# Output:       This function never returns
-#
-# Destroys:
-#               ecx
-#               edi
-#               esi
-#               esp
-#
-# Description:
-#               Perform any essential early platform initilaisation
-#               Setup a stack
-#
-#----------------------------------------------------------------------------
-ProtectedModeEntryPoint:
-  #
-  # Dummy function. Consume 2 API to make sure they can be linked.
-  #
-  movl   ASM_PFX(TempRamInitApi), %eax
-  #
-  # Should never return
-  #
-  jmp     . #'$'
-
-#
-# ROM-based Global-Descriptor Table for the PEI Phase
-#
-.align 16
-#
-# GDT[0]: 000h: Null entry, never used.
-#
-.equ   NULL_SEL, . - GDT_BASE         # Selector [0]
-GDT_BASE: 
-BootGdtTable:   
-        .long   0
-        .long   0
-#
-# Linear code segment descriptor
-#
-.equ     LINEAR_CODE_SEL, . - GDT_BASE         # Selector [08h]
-        .word   0xFFFF                      # limit 0FFFFh
-        .word   0                           # base 0
-        .byte   0
-        .byte   0x9B                        # present, ring 0, data, expand-up, not-writable
-        .byte   0xCF                        # page-granular, 32-bit
-        .byte   0
-#
-# System data segment descriptor
-#
-.equ    SYS_DATA_SEL, . - GDT_BASE         # Selector [010h]
-        .word   0xFFFF                      # limit 0FFFFh
-        .word   0                           # base 0
-        .byte   0
-        .byte   0x93                        # present, ring 0, data, expand-up, not-writable
-        .byte   0xCF                        # page-granular, 32-bit
-        .byte   0
-
-.equ            GDT_SIZE, . - BootGdtTable  # Size, in bytes
-
-#
-# GDT Descriptor
-#
-GdtDesc:                                     # GDT descriptor
-       .word    GDT_SIZE - 1               
-       .long    BootGdtTable        
-
-ProtectedModeEntryLinearAddress:
-ProtectedModeEntryLinearOffset:
-       .long    ProtectedModeEntryPoint
-       .word    LINEAR_CODE_SEL
diff --git a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/SecCarInit.asm b/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/SecCarInit.asm
deleted file mode 100644
index 31296e0..0000000
--- a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/SecCarInit.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-;; @file
-;  SEC CAR function
-;
-; Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-; This program and the accompanying materials
-; are licensed and made available under the terms and conditions of the BSD License
-; which accompanies this distribution.  The full text of the license may be found at
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;;
-
-;
-; Define assembler characteristics
-;
-.586p
-.xmm
-.model flat, c
-
-RET_ESI  MACRO
-
-  movd    esi, mm7                      ; move ReturnAddress from MM7 to ESI
-  jmp     esi
-
-ENDM
-
-.code 
-
-;-----------------------------------------------------------------------------
-;
-;  Section:     SecCarInit
-;
-;  Description: This function initializes the Cache for Data, Stack, and Code
-;
-;-----------------------------------------------------------------------------
-SecCarInit    PROC    NEAR    PUBLIC
-
-  ;
-  ; Set up CAR
-  ;
-
-  xor    eax, eax
-
-SecCarInitExit:
-
-  RET_ESI
-
-SecCarInit    ENDP
-
-END
diff --git a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/SecCarInit.s b/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/SecCarInit.s
deleted file mode 100644
index 7bd40df..0000000
--- a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/Ia32/SecCarInit.s
+++ /dev/null
@@ -1,37 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution.  The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Abstract:
-#
-#  SEC CAR function
-#
-#------------------------------------------------------------------------------
-
-#-----------------------------------------------------------------------------
-#
-#  Section:     SecCarInit
-#
-#  Description: This function initializes the Cache for Data, Stack, and Code
-#
-#-----------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(SecCarInit)
-ASM_PFX(SecCarInit):
-
-  #
-  # Set up CAR
-  #
-
-  xor     %eax, %eax
-
-SecCarInitExit:
-
-  movd       %mm7, %esi                      #RET_ESI
-  jmp        *%esi
diff --git a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/SecFspSecPlatformLibNull.inf b/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/SecFspSecPlatformLibNull.inf
index 2bc638c..e1cab05 100644
--- a/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/SecFspSecPlatformLibNull.inf
+++ b/IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/SecFspSecPlatformLibNull.inf
@@ -1,7 +1,7 @@
 ## @file
 #  NULL instance of Platform Sec Lib.
 #
-#  Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -41,11 +41,7 @@
   PlatformSecLibNull.c
 
 [Sources.IA32]
-  Ia32/Flat32.asm
   Ia32/Flat32.nasm
-  Ia32/Flat32.s
-  Ia32/SecCarInit.asm
-  Ia32/SecCarInit.s
   Ia32/SecCarInit.nasm
 
 ################################################################################
