diff --git a/EdkNt32Pkg/EdkNt32Pkg.spd b/EdkNt32Pkg/EdkNt32Pkg.spd
index a9270e07b9..123819be22 100644
--- a/EdkNt32Pkg/EdkNt32Pkg.spd
+++ b/EdkNt32Pkg/EdkNt32Pkg.spd
@@ -105,6 +105,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Dxe/WinNtThunk/Cpu/Cpu.msa
Dxe/WinNtThunk/WinNtThunk/WinNtThunk.msa
Library/DxeWinNtLib/DxeWinNtLib.msa
+ Library/Nt32TimerLibNull/Nt32TimerLib.msa
Library/EdkGenericBdsLib/EdkGenericBdsLib.msa
Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.msa
Library/Nt32PeCoffLoaderLib/Nt32PeCoffLoaderLib.msa
diff --git a/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c b/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c
new file mode 100644
index 0000000000..40a1a41eb8
--- /dev/null
+++ b/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.c
@@ -0,0 +1,113 @@
+/** @file
+ Timer Library functions for Nt32 platform.
+
+ @bug Still no complete implementation for time library function for Nt32 platform.
+
+ Copyright (c) 2006, Intel Corporation
+ All rights reserved. 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.
+
+ Module Name: x86TimerLib.c
+
+**/
+
+/**
+ Stalls the CPU for at least the given number of microseconds.
+
+ Stalls the CPU for the number of microseconds specified by MicroSeconds.
+
+ @param MicroSeconds The minimum number of microseconds to delay.
+
+ @return MicroSeconds
+
+**/
+UINTN
+EFIAPI
+MicroSecondDelay (
+ IN UINTN MicroSeconds
+ )
+{
+ ASSERT (FALSE);
+ return MicroSeconds;
+}
+
+/**
+ Stalls the CPU for at least the given number of nanoseconds.
+
+ Stalls the CPU for the number of nanoseconds specified by NanoSeconds.
+
+ @param NanoSeconds The minimum number of nanoseconds to delay.
+
+ @return NanoSeconds
+
+**/
+UINTN
+EFIAPI
+NanoSecondDelay (
+ IN UINTN NanoSeconds
+ )
+{
+ ASSERT (FALSE);
+ return 0;
+}
+
+/**
+ Retrieves the current value of a 64-bit free running performance counter.
+
+ Retrieves the current value of a 64-bit free running performance counter. The
+ counter can either count up by 1 or count down by 1. If the physical
+ performance counter counts by a larger increment, then the counter values
+ must be translated. The properties of the counter can be retrieved from
+ GetPerformanceCounterProperties().
+
+ @return The current value of the free running performance counter.
+
+**/
+UINT64
+EFIAPI
+GetPerformanceCounter (
+ VOID
+ )
+{
+ ASSERT (FALSE);
+ return 0;
+}
+
+/**
+ Retrieves the 64-bit frequency in Hz and the range of performance counter
+ values.
+
+ If StartValue is not NULL, then the value that the performance counter starts
+ with immediately after is it rolls over is returned in StartValue. If
+ EndValue is not NULL, then the value that the performance counter end with
+ immediately before it rolls over is returned in EndValue. The 64-bit
+ frequency of the performance counter in Hz is always returned. If StartValue
+ is less than EndValue, then the performance counter counts up. If StartValue
+ is greater than EndValue, then the performance counter counts down. For
+ example, a 64-bit free running counter that counts up would have a StartValue
+ of 0 and an EndValue of 0xFFFFFFFFFFFFFFFF. A 24-bit free running counter
+ that counts down would have a StartValue of 0xFFFFFF and an EndValue of 0.
+
+ @param StartValue The value the performance counter starts with when it
+ rolls over.
+ @param EndValue The value that the performance counter ends with before
+ it rolls over.
+
+ @return The frequency in Hz.
+
+**/
+UINT64
+EFIAPI
+GetPerformanceCounterProperties (
+ OUT UINT64 *StartValue, OPTIONAL
+ OUT UINT64 *EndValue OPTIONAL
+ )
+{
+ ASSERT (FALSE);
+ return 0;
+}
diff --git a/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa b/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa
new file mode 100644
index 0000000000..183c465c3a
--- /dev/null
+++ b/EdkNt32Pkg/Library/Nt32TimerLibNull/Nt32TimerLib.msa
@@ -0,0 +1,47 @@
+
+
+
+ Nt32TimerLib
+ BASE
+ 3813bb9b-808b-4dcb-b9a3-ea47bd9324c0
+ 1.0
+ Component description file for Nt32Timer Library
+ Timer Library provide API of TimerLib library class for Nt32 platform,
+ Now this library do not impletement functionality completely.
+ Copyright (c) 2006, Intel Corporation.
+ All rights reserved. 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.
+ FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052
+
+
+ IA32 X64 IPF EBC
+ false
+ Nt32TimerLib
+
+
+
+ TimerLib
+
+
+ BaseLib
+
+
+ DebugLib
+
+
+
+ Nt32TimerLib.c
+
+
+
+
+
+
+ EFI_SPECIFICATION_VERSION 0x00020000
+ EDK_RELEASE_VERSION 0x00020000
+
+
\ No newline at end of file
diff --git a/EdkNt32Pkg/Nt32.fpd b/EdkNt32Pkg/Nt32.fpd
index 4f4471e0df..e41684fa35 100644
--- a/EdkNt32Pkg/Nt32.fpd
+++ b/EdkNt32Pkg/Nt32.fpd
@@ -5,15 +5,15 @@
eb216561-961f-47ee-9ef9-ca426ef547c2
0.3
EFI/Framework Emulation Platform
- The Emulation Platform can be used to debug individual modules, prior to creating
+ The Emulation Platform can be used to debug individual modules, prior to creating
a real platform. This also provides an example for how an FPD is created.
Copyright (c) 2006, Intel Corporation
- All rights reserved. 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,
+ All rights reserved. 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.
FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052
@@ -243,8 +243,9 @@
-
+
+
@@ -7209,22 +7210,22 @@
- @REM
- @REM Copyright (c) 2006, Intel Corporation
- @REM All rights reserved. This program and the accompanying materials
- @REM are licensed and made available under the terms and conditions of the BSD License
- @REM which accompanies this distribution. The full text of the license may be found at
- @REM http://opensource.org/licenses/bsd-license.php
- @REM
- @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- @REM
-
- @echo off
- pushd .
- cd ${SecMainPath}
- SecMain.exe
- popd
+ @REM
+ @REM Copyright (c) 2006, Intel Corporation
+ @REM All rights reserved. This program and the accompanying materials
+ @REM are licensed and made available under the terms and conditions of the BSD License
+ @REM which accompanies this distribution. The full text of the license may be found at
+ @REM http://opensource.org/licenses/bsd-license.php
+ @REM
+ @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+ @REM
+
+ @echo off
+ pushd .
+ cd ${SecMainPath}
+ SecMain.exe
+ popd
@echo on
\ No newline at end of file