Update the license dates
authorlpleahy <lpleahy@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 20 Mar 2012 22:16:42 +0000 (22:16 +0000)
committerlpleahy <lpleahy@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 20 Mar 2012 22:16:42 +0000 (22:16 +0000)
Use the BSD license
Fix errors detected by GCC compiler in WebServer/ConfigurationTable.c
Add libraries: CpuLib, DxeServicesTableLib and MtrrLib

Signed-off-by: lpleahy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13115 6f19259b-4bc3-4df7-8a09-765794883524

71 files changed:
AppPkg/Applications/Sockets/DataSink/DataSink.c
AppPkg/Applications/Sockets/DataSink/DataSink.inf
AppPkg/Applications/Sockets/DataSource/DataSource.c
AppPkg/Applications/Sockets/DataSource/DataSource.inf
AppPkg/Applications/Sockets/GetAddrInfo/GetAddrInfo.c
AppPkg/Applications/Sockets/GetAddrInfo/GetAddrInfo.inf
AppPkg/Applications/Sockets/GetHostByAddr/GetHostByAddr.c
AppPkg/Applications/Sockets/GetHostByAddr/GetHostByAddr.inf
AppPkg/Applications/Sockets/GetHostByDns/GetHostByDns.c
AppPkg/Applications/Sockets/GetHostByDns/GetHostByDns.inf
AppPkg/Applications/Sockets/GetHostByName/GetHostByName.c
AppPkg/Applications/Sockets/GetHostByName/GetHostByName.inf
AppPkg/Applications/Sockets/GetNameInfo/GetNameInfo.c
AppPkg/Applications/Sockets/GetNameInfo/GetNameInfo.inf
AppPkg/Applications/Sockets/GetNetByAddr/GetNetByAddr.c
AppPkg/Applications/Sockets/GetNetByAddr/GetNetByAddr.inf
AppPkg/Applications/Sockets/GetNetByName/GetNetByName.c
AppPkg/Applications/Sockets/GetNetByName/GetNetByName.inf
AppPkg/Applications/Sockets/GetServByName/GetServByName.c
AppPkg/Applications/Sockets/GetServByName/GetServByName.inf
AppPkg/Applications/Sockets/GetServByPort/GetServByPort.c
AppPkg/Applications/Sockets/GetServByPort/GetServByPort.inf
AppPkg/Applications/Sockets/OobRx/Main.c
AppPkg/Applications/Sockets/OobRx/OobRx.c
AppPkg/Applications/Sockets/OobRx/OobRx.h
AppPkg/Applications/Sockets/OobRx/OobRx.inf
AppPkg/Applications/Sockets/OobRx/Windows/main.c
AppPkg/Applications/Sockets/OobTx/Main.c
AppPkg/Applications/Sockets/OobTx/OobTx.c
AppPkg/Applications/Sockets/OobTx/OobTx.h
AppPkg/Applications/Sockets/OobTx/OobTx.inf
AppPkg/Applications/Sockets/OobTx/Windows/main.c
AppPkg/Applications/Sockets/RawIp4Rx/Main.c
AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.h
AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.inf
AppPkg/Applications/Sockets/RawIp4Rx/Windows/main.c
AppPkg/Applications/Sockets/RawIp4Tx/Main.c
AppPkg/Applications/Sockets/RawIp4Tx/RawIp4Tx.c
AppPkg/Applications/Sockets/RawIp4Tx/RawIp4Tx.h
AppPkg/Applications/Sockets/RawIp4Tx/RawIp4Tx.inf
AppPkg/Applications/Sockets/RawIp4Tx/Windows/main.c
AppPkg/Applications/Sockets/RecvDgram/RecvDgram.c
AppPkg/Applications/Sockets/RecvDgram/RecvDgram.inf
AppPkg/Applications/Sockets/SetHostName/SetHostName.c
AppPkg/Applications/Sockets/SetHostName/SetHostName.inf
AppPkg/Applications/Sockets/SetSockOpt/SetSockOpt.c
AppPkg/Applications/Sockets/SetSockOpt/SetSockOpt.inf
AppPkg/Applications/Sockets/Sockets.inc
AppPkg/Applications/Sockets/TftpServer/TftpServer.inf
AppPkg/Applications/Sockets/WebServer/ACPI.c
AppPkg/Applications/Sockets/WebServer/BootServicesTable.c
AppPkg/Applications/Sockets/WebServer/ConfigurationTable.c
AppPkg/Applications/Sockets/WebServer/DhcpOptions.c
AppPkg/Applications/Sockets/WebServer/DxeServicesTable.c
AppPkg/Applications/Sockets/WebServer/Exit.c
AppPkg/Applications/Sockets/WebServer/Firmware.c
AppPkg/Applications/Sockets/WebServer/HTTP.c
AppPkg/Applications/Sockets/WebServer/Handles.c
AppPkg/Applications/Sockets/WebServer/Hello.c
AppPkg/Applications/Sockets/WebServer/Index.c
AppPkg/Applications/Sockets/WebServer/MemoryMap.c [new file with mode: 0644]
AppPkg/Applications/Sockets/WebServer/Mtrr.c [new file with mode: 0644]
AppPkg/Applications/Sockets/WebServer/PageList.c
AppPkg/Applications/Sockets/WebServer/Ports.c
AppPkg/Applications/Sockets/WebServer/Reboot.c
AppPkg/Applications/Sockets/WebServer/RuntimeServicesTable.c
AppPkg/Applications/Sockets/WebServer/SystemTable.c
AppPkg/Applications/Sockets/WebServer/WebServer.c
AppPkg/Applications/Sockets/WebServer/WebServer.h
AppPkg/Applications/Sockets/WebServer/WebServer.inf

index dcf4b59..f2c3b3b 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Data source for network testing.\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 43a8e96..9ad6fd9 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  DataSink Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 6ca3b58..cf4caa2 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Data source for network testing.\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 8353041..d088177 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  DataSource Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 3db71ba..27da918 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Test the getaddrinfo API\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index c0d5c29..34267a8 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetAddrInfo Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index bb58415..2387a2c 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the port number into a service name\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index e2aee9e..9ed1d37 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetHostByAddr Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index a9aa183..83fa60c 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the host name into an IP address\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index a69e1ff..44d6fda 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetHostByDns Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index f81ca96..1bddc61 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the host name into an IP address\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 84dc850..f6d0aea 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetHostByName Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index df5c2d6..d6fafde 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Test the getnameinfo API\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 0b9ceb5..0aa35a5 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetNameInfo Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index ce07cea..156aa2b 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the IPv4 address into a network name\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 2bc1836..003b89f 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetNetByAddr Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index a77fefc..f4e0aca 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the network name into an IP address\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 8c706ba..e5e7416 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetNetByName Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index f90bcf2..bd32d1d 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the service name into a port number\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 7af2f6c..5c10b90 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetServByName Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 5be0361..1b8dcd3 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Translate the port number into a service name\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index ef902c4..a6b5b61 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  GetServByPort Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 0cdecdf..b4a37e0 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Out-of-band receive test application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 7e6b8f7..40d056d 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Windows version of the OOB Receive application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index cd31ddc..0920029 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions for the OOB Receive application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index fd137dd..17a4935 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  OobRx Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 7d2c644..afae5da 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Windows version of the OOB Receive application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index ac7c8b0..5b6ab02 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Out-of-band transmit test application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index d52cbb7..545e5f4 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Windows version of the OOB Transmit application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index ab8f39a..e042a13 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions for the OOB Transmit application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 7f7c091..f12e389 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  OobTx Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index cf149c4..dd0f3a2 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Windows version of the OOB Transmit application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 21d4827..0857b23 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Raw IP4 receive test application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 9b6725f..bce4578 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Raw IP4 receive application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 177222f..ae8daac 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions for the raw IP4 receive application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index b543f29..232f050 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  RawIp4 Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index d198db9..530c2d6 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Windows version of the raw IP4 receive application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index cec5cd7..451193a 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Raw IP4 transmit test application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index aea946c..f6efbe1 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Raw IP4 transmit application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 820ff58..2fe2839 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions for the raw IP4 transmit application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 8852f14..32d5182 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  RawIp4Tx Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 23946ac..441a951 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Windows version of the raw IP4 transmit application\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 695db93..8467005 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Receive a datagram\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 6e51317..89e907c 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  Receive Datagram Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 2986b66..2c8001e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Set the host name\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 539a315..97b6382 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  SetHostName Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 0df143a..bba8f4b 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Set the socket options\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
index 4de5133..8f6ab00 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  SetHostName Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 4aa8822..4ad109f 100644 (file)
   AppPkg/Applications/Sockets/SetHostName/SetHostName.inf\r
   AppPkg/Applications/Sockets/SetSockOpt/SetSockOpt.inf\r
   AppPkg/Applications/Sockets/WebServer/WebServer.inf {\r
+    <LibraryClasses>\r
+      CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
+      DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+      MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf\r
+\r
     <PcdsFixedAtBuild>\r
       gAppPkgTokenSpaceGuid.WebServer_HttpPort|80\r
   }\r
index d7cbfaa..f069494 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  TFTP Server Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
index 7387439..e086a2d 100644 (file)
@@ -1,25 +1,15 @@
-/*++\r
-  This file contains an 'Intel UEFI Application' and is\r
-  licensed for Intel CPUs and chipsets under the terms of your\r
-  license agreement with Intel or your vendor.  This file may\r
-  be modified by the user, subject to additional terms of the\r
-  license agreement\r
---*/\r
-/*++\r
-\r
-Copyright (c)  2011 Intel Corporation. All rights reserved\r
-This software and associated documentation (if any) is furnished\r
-under a license and may only be used or copied in accordance\r
-with the terms of the license. Except as permitted by such\r
-license, no part of this software or documentation may be\r
-reproduced, stored in a retrieval system, or transmitted in any\r
-form or by any means without the express written consent of\r
-Intel Corporation.\r
-\r
---*/\r
-\r
-/** @file\r
-  Display the runtime services table\r
+/**\r
+  @file\r
+  Display the ACPI tables\r
+\r
+  Copyright (c) 2011-2012, Intel Corporation\r
+  All rights reserved. This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 **/\r
 \r
@@ -138,6 +128,11 @@ typedef struct {
 } ACPI_RSDT;\r
 \r
 \r
+typedef struct {\r
+  UINT32 Signature;           //    0\r
+  UINT32 Length;              //    4\r
+} ACPI_UNKNOWN;\r
+\r
 #pragma pack()\r
 \r
 \r
@@ -149,8 +144,15 @@ typedef struct {
 \r
 \r
 CONST TABLE_SIGNATURE mTableId[] = {\r
+  { APIC_SIGNATURE, "APIC", PAGE_ACPI_APIC },\r
+  { BGRT_SIGNATURE, "BGRT", PAGE_ACPI_BGRT },\r
   { DSDT_SIGNATURE, "DSDT", PAGE_ACPI_DSDT },\r
-  { FADT_SIGNATURE, "FADT", PAGE_ACPI_FADT }\r
+  { FADT_SIGNATURE, "FADT", PAGE_ACPI_FADT },\r
+  { HPET_SIGNATURE, "HPET", PAGE_ACPI_HPET },\r
+  { MCFG_SIGNATURE, "MCFG", PAGE_ACPI_MCFG },\r
+  { SSDT_SIGNATURE, "SSDT", PAGE_ACPI_SSDT },\r
+  { TCPA_SIGNATURE, "TCPA", PAGE_ACPI_TCPA },\r
+  { UEFI_SIGNATURE, "UEFI", PAGE_ACPI_UEFI }\r
 };\r
 \r
 \r
@@ -815,6 +817,188 @@ SignatureLookup (
 }\r
 \r
 \r
+/**\r
+  Respond with the APIC table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiApicPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST ACPI_UNKNOWN * pApic;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the APIC page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the APIC\r
+    //\r
+    pApic = (ACPI_UNKNOWN *)LocateTable ( APIC_SIGNATURE );\r
+    if ( NULL == pApic ) {\r
+      Status = EFI_NOT_FOUND;\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"APIC Table", pApic );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the header\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pApic->Signature ),\r
+                            (CHAR8 *)&pApic->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pApic->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pApic->Length - sizeof ( *pApic ) + 1,\r
+                       (UINT8 *)( pApic + 1 ));\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
+\r
+\r
+/**\r
+  Respond with the BGRT table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiBgrtPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST ACPI_UNKNOWN * pBgrt;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the BGRT page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the BGRT\r
+    //\r
+    pBgrt = (ACPI_UNKNOWN *)LocateTable ( BGRT_SIGNATURE );\r
+    if ( NULL == pBgrt ) {\r
+      Status = EFI_NOT_FOUND;\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"BGRT Table", pBgrt );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the header\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pBgrt->Signature ),\r
+                            (CHAR8 *)&pBgrt->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pBgrt->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pBgrt->Length - sizeof ( *pBgrt ) + 1,\r
+                       (UINT8 *)( pBgrt + 1 ));\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
+\r
+\r
 /**\r
   Respond with the ACPI DSDT table\r
 \r
@@ -1514,7 +1698,7 @@ AcpiFadtPage (
 \r
 \r
 /**\r
-  Respond with the ACPI RSDP 1.0b table\r
+  Respond with the HPET table\r
 \r
   @param [in] SocketFD      The socket's file descriptor to add to the list.\r
   @param [in] pPort         The WSDT_PORT structure address\r
@@ -1524,77 +1708,65 @@ AcpiFadtPage (
 \r
 **/\r
 EFI_STATUS\r
-AcpiRsdp10Page (\r
+AcpiHpetPage (\r
   IN int SocketFD,\r
   IN WSDT_PORT * pPort,\r
   OUT BOOLEAN * pbDone\r
   )\r
 {\r
-  CONST EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER * pRsdp10b;\r
+  CONST ACPI_UNKNOWN * pHpet;\r
   EFI_STATUS Status;\r
 \r
   DBG_ENTER ( );\r
 \r
   //\r
-  //  Send the RSDP page\r
+  //  Send the HPET page\r
   //\r
   for ( ; ; ) {\r
     //\r
-    //  Locate the RSDP\r
+    //  Locate the HPET\r
     //\r
-    Status = EfiGetSystemConfigurationTable ( &gEfiAcpi10TableGuid, (VOID **) &pRsdp10b );\r
-    if ( EFI_ERROR ( Status )) {\r
+    pHpet = (ACPI_UNKNOWN *)LocateTable ( HPET_SIGNATURE );\r
+    if ( NULL == pHpet ) {\r
+      Status = EFI_NOT_FOUND;\r
       break;\r
     }\r
 \r
     //\r
     //  Send the page and table header\r
     //\r
-    Status = TableHeader ( SocketFD, pPort, L"RSDP - ACPI 1.0b Root System Description Pointer", pRsdp10b );\r
+    Status = TableHeader ( SocketFD, pPort, L"HPET Table", pHpet );\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
 \r
     //\r
-    //  Display the RSDP\r
+    //  Display the header\r
     //\r
     Status = RowAnsiArray ( SocketFD,\r
                             pPort,\r
                             "Signature",\r
-                            sizeof ( pRsdp10b->Signature ),\r
-                            (CHAR8 *)&pRsdp10b->Signature );\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowHexValue ( SocketFD,\r
-                           pPort,\r
-                           "Checksum",\r
-                           pRsdp10b->Checksum,\r
-                           NULL );\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowAnsiArray ( SocketFD,\r
-                            pPort,\r
-                            "OemId",\r
-                            sizeof ( pRsdp10b->OemId ),\r
-                            (CONST CHAR8 *)&pRsdp10b->OemId[ 0 ]);\r
+                            sizeof ( pHpet->Signature ),\r
+                            (CHAR8 *)&pHpet->Signature );\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
-    Status = RowHexValue ( SocketFD,\r
-                           pPort,\r
-                           "Reserved",\r
-                           pRsdp10b->Reserved,\r
-                           NULL );\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pHpet->Length );\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
-    Status = RowPointer ( SocketFD,\r
-                          pPort,\r
-                          "RsdtAddress",\r
-                          (VOID *)(UINTN)pRsdp10b->RsdtAddress,\r
-                          PAGE_ACPI_RSDT );\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pHpet->Length - sizeof ( *pHpet ) + 1,\r
+                       (UINT8 *)( pHpet + 1 ));\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
@@ -1617,7 +1789,7 @@ AcpiRsdp10Page (
 \r
 \r
 /**\r
-  Respond with the ACPI RSDP 3.0 table\r
+  Respond with the MCFG table\r
 \r
   @param [in] SocketFD      The socket's file descriptor to add to the list.\r
   @param [in] pPort         The WSDT_PORT structure address\r
@@ -1627,92 +1799,286 @@ AcpiRsdp10Page (
 \r
 **/\r
 EFI_STATUS\r
-AcpiRsdp30Page (\r
+AcpiMcfgPage (\r
   IN int SocketFD,\r
   IN WSDT_PORT * pPort,\r
   OUT BOOLEAN * pbDone\r
   )\r
 {\r
-  CONST EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER * pRsdp30;\r
+  CONST ACPI_UNKNOWN * pMcfg;\r
   EFI_STATUS Status;\r
 \r
   DBG_ENTER ( );\r
 \r
   //\r
-  //  Send the RSDP page\r
+  //  Send the MCFG page\r
   //\r
   for ( ; ; ) {\r
     //\r
-    //  Locate the RSDP\r
+    //  Locate the MCFG\r
     //\r
-    Status = EfiGetSystemConfigurationTable ( &gEfiAcpiTableGuid, (VOID **) &pRsdp30 );\r
-    if ( EFI_ERROR ( Status )) {\r
+    pMcfg = (ACPI_UNKNOWN *)LocateTable ( MCFG_SIGNATURE );\r
+    if ( NULL == pMcfg ) {\r
+      Status = EFI_NOT_FOUND;\r
       break;\r
     }\r
 \r
     //\r
     //  Send the page and table header\r
     //\r
-    Status = TableHeader ( SocketFD, pPort, L"RSDP - ACPI 3.0 Root System Description Pointer", pRsdp30 );\r
+    Status = TableHeader ( SocketFD, pPort, L"MCFG Table", pMcfg );\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
 \r
     //\r
-    //  Display the RSDP\r
+    //  Display the header\r
     //\r
     Status = RowAnsiArray ( SocketFD,\r
                             pPort,\r
                             "Signature",\r
-                            sizeof ( pRsdp30->Signature ),\r
-                            (CHAR8 *)&pRsdp30->Signature );\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowHexValue ( SocketFD,\r
-                           pPort,\r
-                           "Checksum",\r
-                           pRsdp30->Checksum,\r
-                           NULL );\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowAnsiArray ( SocketFD,\r
-                            pPort,\r
-                            "OemId",\r
-                            sizeof ( pRsdp30->OemId ),\r
-                            (CONST CHAR8 *)&pRsdp30->OemId[ 0 ]);\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowHexValue ( SocketFD,\r
-                           pPort,\r
-                           "Revision",\r
-                           pRsdp30->Revision,\r
-                           NULL );\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowPointer ( SocketFD,\r
-                          pPort,\r
-                          "RsdtAddress",\r
-                          (VOID *)(UINTN)pRsdp30->RsdtAddress,\r
-                          PAGE_ACPI_RSDT );\r
+                            sizeof ( pMcfg->Signature ),\r
+                            (CHAR8 *)&pMcfg->Signature );\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
     Status = RowDecimalValue ( SocketFD,\r
                                pPort,\r
                                "Length",\r
-                               pRsdp30->Length );\r
-    if ( EFI_ERROR ( Status )) {\r
-      break;\r
-    }\r
-    Status = RowPointer ( SocketFD,\r
-                          pPort,\r
-                          "XsdtAddress",\r
-                          (VOID *)(UINTN)pRsdp30->XsdtAddress,\r
-                          NULL );\r
+                               pMcfg->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pMcfg->Length - sizeof ( *pMcfg ) + 1,\r
+                       (UINT8 *)( pMcfg + 1 ));\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
+\r
+\r
+/**\r
+  Respond with the ACPI RSDP 1.0b table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiRsdp10Page (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER * pRsdp10b;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the RSDP page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the RSDP\r
+    //\r
+    Status = EfiGetSystemConfigurationTable ( &gEfiAcpi10TableGuid, (VOID **) &pRsdp10b );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"RSDP - ACPI 1.0b Root System Description Pointer", pRsdp10b );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the RSDP\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pRsdp10b->Signature ),\r
+                            (CHAR8 *)&pRsdp10b->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowHexValue ( SocketFD,\r
+                           pPort,\r
+                           "Checksum",\r
+                           pRsdp10b->Checksum,\r
+                           NULL );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "OemId",\r
+                            sizeof ( pRsdp10b->OemId ),\r
+                            (CONST CHAR8 *)&pRsdp10b->OemId[ 0 ]);\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowHexValue ( SocketFD,\r
+                           pPort,\r
+                           "Reserved",\r
+                           pRsdp10b->Reserved,\r
+                           NULL );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowPointer ( SocketFD,\r
+                          pPort,\r
+                          "RsdtAddress",\r
+                          (VOID *)(UINTN)pRsdp10b->RsdtAddress,\r
+                          PAGE_ACPI_RSDT );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
+\r
+\r
+/**\r
+  Respond with the ACPI RSDP 3.0 table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiRsdp30Page (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER * pRsdp30;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the RSDP page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the RSDP\r
+    //\r
+    Status = EfiGetSystemConfigurationTable ( &gEfiAcpiTableGuid, (VOID **) &pRsdp30 );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"RSDP - ACPI 3.0 Root System Description Pointer", pRsdp30 );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the RSDP\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pRsdp30->Signature ),\r
+                            (CHAR8 *)&pRsdp30->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowHexValue ( SocketFD,\r
+                           pPort,\r
+                           "Checksum",\r
+                           pRsdp30->Checksum,\r
+                           NULL );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "OemId",\r
+                            sizeof ( pRsdp30->OemId ),\r
+                            (CONST CHAR8 *)&pRsdp30->OemId[ 0 ]);\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowHexValue ( SocketFD,\r
+                           pPort,\r
+                           "Revision",\r
+                           pRsdp30->Revision,\r
+                           NULL );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowPointer ( SocketFD,\r
+                          pPort,\r
+                          "RsdtAddress",\r
+                          (VOID *)(UINTN)pRsdp30->RsdtAddress,\r
+                          PAGE_ACPI_RSDT );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pRsdp30->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowPointer ( SocketFD,\r
+                          pPort,\r
+                          "XsdtAddress",\r
+                          (VOID *)(UINTN)pRsdp30->XsdtAddress,\r
+                          NULL );\r
     if ( EFI_ERROR ( Status )) {\r
       break;\r
     }\r
@@ -1918,3 +2284,274 @@ AcpiRsdtPage (
 }\r
 \r
 \r
+/**\r
+  Respond with the SSDT table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiSsdtPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST ACPI_UNKNOWN * pSsdt;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the SSDT page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the SSDT\r
+    //\r
+    pSsdt = (ACPI_UNKNOWN *)LocateTable ( SSDT_SIGNATURE );\r
+    if ( NULL == pSsdt ) {\r
+      Status = EFI_NOT_FOUND;\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"SSDT Table", pSsdt );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the header\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pSsdt->Signature ),\r
+                            (CHAR8 *)&pSsdt->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pSsdt->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pSsdt->Length - sizeof ( *pSsdt ) + 1,\r
+                       (UINT8 *)( pSsdt + 1 ));\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
+\r
+\r
+/**\r
+  Respond with the TCPA table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiTcpaPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST ACPI_UNKNOWN * pTcpa;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the TCPA page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the TCPA\r
+    //\r
+    pTcpa = (ACPI_UNKNOWN *)LocateTable ( TCPA_SIGNATURE );\r
+    if ( NULL == pTcpa ) {\r
+      Status = EFI_NOT_FOUND;\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"TCPA Table", pTcpa );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the header\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pTcpa->Signature ),\r
+                            (CHAR8 *)&pTcpa->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pTcpa->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pTcpa->Length - sizeof ( *pTcpa ) + 1,\r
+                       (UINT8 *)( pTcpa + 1 ));\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
+\r
+\r
+/**\r
+  Respond with the UEFI table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiUefiPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  )\r
+{\r
+  CONST ACPI_UNKNOWN * pUefi;\r
+  EFI_STATUS Status;\r
+\r
+  DBG_ENTER ( );\r
+\r
+  //\r
+  //  Send the UEFI page\r
+  //\r
+  for ( ; ; ) {\r
+    //\r
+    //  Locate the UEFI\r
+    //\r
+    pUefi = (ACPI_UNKNOWN *)LocateTable ( UEFI_SIGNATURE );\r
+    if ( NULL == pUefi ) {\r
+      Status = EFI_NOT_FOUND;\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Send the page and table header\r
+    //\r
+    Status = TableHeader ( SocketFD, pPort, L"UEFI Table", pUefi );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the header\r
+    //\r
+    Status = RowAnsiArray ( SocketFD,\r
+                            pPort,\r
+                            "Signature",\r
+                            sizeof ( pUefi->Signature ),\r
+                            (CHAR8 *)&pUefi->Signature );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+    Status = RowDecimalValue ( SocketFD,\r
+                               pPort,\r
+                               "Length",\r
+                               pUefi->Length );\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Display the data from the table\r
+    //\r
+    Status = RowDump ( SocketFD,\r
+                       pPort,\r
+                       "Data",\r
+                       pUefi->Length - sizeof ( *pUefi ) + 1,\r
+                       (UINT8 *)( pUefi + 1 ));\r
+    if ( EFI_ERROR ( Status )) {\r
+      break;\r
+    }\r
+\r
+    //\r
+    //  Build the table trailer\r
+    //\r
+    Status = TableTrailer ( SocketFD,\r
+                            pPort,\r
+                            pbDone );\r
+    break;\r
+  }\r
+\r
+  //\r
+  //  Return the operation status\r
+  //\r
+  DBG_EXIT_STATUS ( Status );\r
+  return Status;\r
+}\r
index ab01649..4fc1324 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Display the boot services table
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Display the boot services table
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 9208a46..f6303df 100644 (file)
@@ -1,35 +1,25 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
---*/
-
-/** @file
+/**
+  @file
   Display the configuration table
 
+  Copyright (c) 2011-2012, 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.
+
 **/
 
 #include <WebServer.h>
-#include <Guid\Acpi.h>
-#include <Guid\DebugImageInfoTable.h>
-#include <Guid\DxeServices.h>
-#include <Guid\HobList.h>
-#include <Guid\MemoryTypeInformation.h>
-#include <Guid\LoadModuleAtFixedAddress.h>
+#include <Guid/Acpi.h>
+#include <Guid/DebugImageInfoTable.h>
+#include <Guid/DxeServices.h>
+#include <Guid/HobList.h>
+#include <Guid/MemoryTypeInformation.h>
+#include <Guid/LoadModuleAtFixedAddress.h>
 
 
 typedef struct {
index 0a2e6cf..e3e77f3 100644 (file)
@@ -1,26 +1,16 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
---*/
-
-/** @file
+/**
+  @file
   Display the DHCP options
 
+  Copyright (c) 2011-2012, 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.
+
 **/
 
 #include <WebServer.h>
index bfe90cd..d46ce70 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Display the DXE services table
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Display the DXE services table
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index cad4b00..5ff09d3 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Exit response page
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Exit response page
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 4d5aad6..a29da5e 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Display the firmware
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Display the firmware
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 5237ac1..fae1dd9 100644 (file)
@@ -1,30 +1,21 @@
-/*++\r
-  This file contains an 'Intel UEFI Application' and is\r
-  licensed for Intel CPUs and chipsets under the terms of your\r
-  license agreement with Intel or your vendor.  This file may\r
-  be modified by the user, subject to additional terms of the\r
-  license agreement\r
---*/\r
-/*++\r
-\r
-Copyright (c)  2011 Intel Corporation. All rights reserved\r
-This software and associated documentation (if any) is furnished\r
-under a license and may only be used or copied in accordance\r
-with the terms of the license. Except as permitted by such\r
-license, no part of this software or documentation may be\r
-reproduced, stored in a retrieval system, or transmitted in any\r
-form or by any means without the express written consent of\r
-Intel Corporation.\r
-\r
---*/\r
-\r
-/** @file\r
+/**\r
+  @file\r
   HTTP processing for the web server.\r
 \r
+  Copyright (c) 2011-2012, Intel Corporation\r
+  All rights reserved. This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
 **/\r
 \r
 #include <WebServer.h>\r
 \r
+\r
 /**\r
   Get a UTF-8 character from the buffer\r
 \r
index f39620a..19a55dd 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Display the handles in the system
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Display the handles in the system
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 5f65133..3d1f979 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Hello World response page
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Hello World response page
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 688d197..64c1ffc 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Generate the list of known pages.
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Generate the list of known pages.
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
diff --git a/AppPkg/Applications/Sockets/WebServer/MemoryMap.c b/AppPkg/Applications/Sockets/WebServer/MemoryMap.c
new file mode 100644 (file)
index 0000000..71a5b1d
--- /dev/null
@@ -0,0 +1,364 @@
+/**
+  @file
+  Display the memory map
+
+  Copyright (c) 2012, 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.
+
+**/
+
+#include <WebServer.h>
+#include <PiDxe.h>
+#include <Library/DxeServicesTableLib.h>
+
+
+CONST char * mpMemoryType[ ] = {
+  "Non-existent",
+  "Reserved",
+  "System Memory",
+  "Memory Mapped I/O"
+};
+
+
+/**
+  Page to display the memory map
+
+  @param [in] SocketFD      The socket's file descriptor to add to the list.
+  @param [in] pPort         The WSDT_PORT structure address
+  @param [out] pbDone       Address to receive the request completion status
+
+  @retval EFI_SUCCESS       The request was successfully processed
+
+**/
+EFI_STATUS
+MemoryMapPage (
+  IN int SocketFD,
+  IN WSDT_PORT * pPort,
+  OUT BOOLEAN * pbDone
+  )
+{
+  UINT64 Attributes;
+  BOOLEAN bSomethingDisplayed;
+  UINTN Count;
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR * pMemoryEnd;
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR * pMemoryDescriptor;
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR * pMemoryDescriptorStart;
+  EFI_STATUS Status;
+  
+  DBG_ENTER ( );
+  
+  //
+  //  Send the memory map page
+  //
+  pMemoryDescriptorStart = NULL;
+  for ( ; ; ) {
+    //
+    //  Send the page header
+    //
+    Status = HttpPageHeader ( SocketFD, pPort, L"Memory Map" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+  
+    //
+    //  Start the table
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "<h1>Memory Map</h1>\r\n"
+                                  "<table>\r\n"
+                                  "  <tr><th align=\"right\">Type</th><th align=\"right\">Start</th><th align=\"right\">End</th><th align=\"right\">Attributes</th></tr>\r\n" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+
+    //
+    //  Get the memory map
+    //
+    Status = gDS->GetMemorySpaceMap ( &Count,
+                                      &pMemoryDescriptor );
+    if ( !EFI_ERROR ( Status )) {
+      pMemoryDescriptorStart = pMemoryDescriptor;
+      pMemoryEnd = &pMemoryDescriptor[ Count ];
+      while ( pMemoryEnd > pMemoryDescriptor ) {
+        //
+        //  Display the type
+        //
+        Status = HttpSendAnsiString ( SocketFD, pPort, "<tr><td align=\"right\"><code>" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+        if ( DIM ( mpMemoryType ) > pMemoryDescriptor->GcdMemoryType ) {
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        mpMemoryType[ pMemoryDescriptor->GcdMemoryType ]);
+        }
+        else {
+          Status = HttpSendValue ( SocketFD,
+                                   pPort,
+                                   pMemoryDescriptor->GcdMemoryType );
+        }
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+
+        //
+        //  Display the start address
+        //
+        Status = HttpSendAnsiString ( SocketFD, pPort, "</code></td><td align=\"right\"><code>0x" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+        Status = HttpSendHexValue ( SocketFD,
+                                    pPort,
+                                    pMemoryDescriptor->BaseAddress );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+
+        //
+        //  Display the end address
+        //
+        Status = HttpSendAnsiString ( SocketFD, pPort, "</code></td><td align=\"right\"><code>0x" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+        Status = HttpSendHexValue ( SocketFD,
+                                    pPort,
+                                    pMemoryDescriptor->BaseAddress
+                                    + pMemoryDescriptor->Length
+                                    - 1 );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+
+        //
+        //  Display the attributes
+        //
+        Status = HttpSendAnsiString ( SocketFD, pPort, "</code></td><td align=\"right\"><code>0x" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+        Status = HttpSendHexValue ( SocketFD,
+                                    pPort,
+                                    pMemoryDescriptor->Attributes );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+
+        //
+        //  Decode the attributes
+        //
+        Status = HttpSendAnsiString ( SocketFD, pPort, "</code></td><td>" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+        bSomethingDisplayed = FALSE;
+        Attributes = pMemoryDescriptor->Attributes;
+
+        if ( 0 != ( Attributes & EFI_MEMORY_RUNTIME )) {
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "Runtime" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_XP )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "No Execute" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_RP )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "No Read" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_WP )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "No Write" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_UCE )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "UCE" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+
+        if ( 0 != ( Attributes & EFI_MEMORY_WB )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "Write Back" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_WT )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "Write Through" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_WC )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "Write Combining" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        if ( 0 != ( Attributes & EFI_MEMORY_UC )) {
+          if ( bSomethingDisplayed ) {
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          ", " );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          bSomethingDisplayed = TRUE;
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "Uncached" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        //
+        //  Finish the row
+        //
+        Status = HttpSendAnsiString ( SocketFD, pPort, "</td></tr>" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+
+        //
+        //  Set the next memory descriptor
+        //
+        pMemoryDescriptor += 1;
+      }
+    }
+
+    //
+    //  Finish the table
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "</table>\r\n" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+
+    //
+    //  Send the page trailer
+    //
+    Status = HttpPageTrailer ( SocketFD, pPort, pbDone );
+    break;
+  }
+
+  //
+  //  Release the memory descriptors
+  //
+  if ( NULL != pMemoryDescriptorStart ) {
+    FreePool ( pMemoryDescriptorStart );
+  }
+
+  //
+  //  Return the operation status
+  //
+  DBG_EXIT_STATUS ( Status );
+  return Status;
+}
diff --git a/AppPkg/Applications/Sockets/WebServer/Mtrr.c b/AppPkg/Applications/Sockets/WebServer/Mtrr.c
new file mode 100644 (file)
index 0000000..92f90b0
--- /dev/null
@@ -0,0 +1,825 @@
+/**
+  @file
+  Display the memory type range registers
+
+  Copyright (c) 2012, 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.
+
+**/
+
+#include <WebServer.h>
+#include <Library/MtrrLib.h>
+
+#define VARIABLE_MTRR_VALID     0x800
+
+CONST char * mMemoryType [ ] = {
+  "Uncached",
+  "Write Combining",
+  "Reserved",
+  "Reserved",
+  "Write Through",
+  "Write Protected",
+  "Writeback"
+};
+
+
+/**
+  Display a fixed MTRR row
+
+  @param [in] SocketFD      The socket's file descriptor to add to the list.
+  @param [in] pPort         The WSDT_PORT structure address
+  @param [in] Start         Start address for the region
+  @param [in] End           End address for the region
+  @param [in] Type          Memory type
+
+  @retval EFI_SUCCESS       The request was successfully processed
+
+**/
+EFI_STATUS
+MtrrDisplayFixedRow (
+  IN int SocketFD,
+  IN WSDT_PORT * pPort,
+  IN UINT64 Start,
+  IN UINT64 End,
+  IN UINT64 Type
+  )
+{
+  EFI_STATUS Status;
+
+  //
+  //  Use break instead of goto
+  //
+  for ( ; ; ) {
+    //
+    //  Start the row
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "  <tr><td align=\"right\"><code>0x" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+    
+    //
+    //  Start
+    //
+    Status = HttpSendHexValue ( SocketFD,
+                                pPort,
+                                Start );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+    
+    //
+    //  End
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "</code></td><td align=\"right\"><code>0x" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+    Status = HttpSendHexValue ( SocketFD,
+                                pPort,
+                                End - 1 );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+    
+    //
+    //  Type
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "</code></td><td>" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+    Type &= 0xff;
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  ( DIM ( mMemoryType ) > Type )
+                                  ? mMemoryType [ Type ]
+                                  : "Reserved" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+    
+    //
+    //  End of row
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "</td></tr>\r\n" );
+    break;
+  }
+
+  //
+  //  Return the final status
+  //
+  return Status;
+}
+
+
+/**
+  Display the memory type registers
+
+  @param [in] SocketFD      The socket's file descriptor to add to the list.
+  @param [in] pPort         The WSDT_PORT structure address
+  @param [out] pbDone       Address to receive the request completion status
+
+  @retval EFI_SUCCESS       The request was successfully processed
+
+**/
+EFI_STATUS
+MemoryTypeRegistersPage (
+  IN int SocketFD,
+  IN WSDT_PORT * pPort,
+  OUT BOOLEAN * pbDone
+  )
+{
+  UINT64 Addr;
+  BOOLEAN bValid;
+  UINT64 Capabilities;
+  UINTN Count;
+  UINT64 DefType;
+  UINTN Index;
+  UINT64 Mask;
+  UINT64 MaxMtrrs;
+  CONST UINT64 mFixedAddresses [( 8 * MTRR_NUMBER_OF_FIXED_MTRR ) + 1 ] = {
+           0ULL,
+     0x10000ULL,
+     0x20000ULL,
+     0x30000ULL,
+     0x40000ULL,
+     0x50000ULL,
+     0x60000ULL,
+     0x70000ULL,
+
+     0x80000ULL,
+     0x84000ULL,
+     0x88000ULL,
+     0x8c000ULL,
+     0x90000ULL,
+     0x94000ULL,
+     0x98000ULL,
+     0x9c000ULL,
+
+     0xa0000ULL,
+     0xa4000ULL,
+     0xa8000ULL,
+     0xac000ULL,
+     0xb0000ULL,
+     0xb4000ULL,
+     0xb8000ULL,
+     0xbc000ULL,
+
+     0xc0000ULL,
+     0xc1000ULL,
+     0xc2000ULL,
+     0xc3000ULL,
+     0xc4000ULL,
+     0xc5000ULL,
+     0xc6000ULL,
+     0xc7000ULL,
+
+     0xc8000ULL,
+     0xc9000ULL,
+     0xca000ULL,
+     0xcb000ULL,
+     0xcc000ULL,
+     0xcd000ULL,
+     0xce000ULL,
+     0xcf000ULL,
+
+     0xd0000ULL,
+     0xd1000ULL,
+     0xd2000ULL,
+     0xd3000ULL,
+     0xd4000ULL,
+     0xd5000ULL,
+     0xd6000ULL,
+     0xd7000ULL,
+
+     0xd8000ULL,
+     0xd9000ULL,
+     0xda000ULL,
+     0xdb000ULL,
+     0xdc000ULL,
+     0xdd000ULL,
+     0xde000ULL,
+     0xdf000ULL,
+
+     0xe0000ULL,
+     0xe1000ULL,
+     0xe2000ULL,
+     0xe3000ULL,
+     0xe4000ULL,
+     0xe5000ULL,
+     0xe6000ULL,
+     0xe7000ULL,
+
+     0xe8000ULL,
+     0xe9000ULL,
+     0xea000ULL,
+     0xeb000ULL,
+     0xec000ULL,
+     0xed000ULL,
+     0xee000ULL,
+     0xef000ULL,
+
+     0xf0000ULL,
+     0xf1000ULL,
+     0xf2000ULL,
+     0xf3000ULL,
+     0xf4000ULL,
+     0xf5000ULL,
+     0xf6000ULL,
+     0xf7000ULL,
+
+     0xf8000ULL,
+     0xf9000ULL,
+     0xfa000ULL,
+     0xfb000ULL,
+     0xfc000ULL,
+     0xfd000ULL,
+     0xfe000ULL,
+     0xff000ULL,
+
+    0x100000ULL
+  };
+  MTRR_SETTINGS Mtrr;
+  CONST UINT64 * pMemEnd;
+  CONST UINT64 * pMemStart;
+  UINT64 PreviousType;
+  UINT64 ShiftCount;
+  EFI_STATUS Status;
+  UINT64 Type;
+  INT64 Value;
+  
+  DBG_ENTER ( );
+  
+  //
+  //  Send the Memory Type Registers page
+  //
+  for ( ; ; ) {
+    //
+    //  Send the page header
+    //
+    Status = HttpPageHeader ( SocketFD, pPort, L"Memory Type Range Registers" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+
+    //
+    //  Send the header
+    //
+    Status = HttpSendAnsiString ( SocketFD,
+                                  pPort,
+                                  "<h1>Memory Type Range Registers</h1>\r\n" );
+    if ( EFI_ERROR ( Status )) {
+      break;
+    }
+
+    //
+    //  Determine if MTRRs are supported
+    //
+    if ( !IsMtrrSupported ( )) {
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    "<p>Memory Type Range Registers are not supported!\r\n" );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+    }
+    else {
+      //
+      //  Get the capabilities
+      //
+      Capabilities = AsmReadMsr64 ( MTRR_LIB_IA32_MTRR_CAP );
+      DefType =  AsmReadMsr64 ( MTRR_LIB_IA32_MTRR_DEF_TYPE );
+
+      //
+      //  Display the capabilities
+      //
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    "<p>Capabilities: " );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendHexValue ( SocketFD,
+                                  pPort,
+                                  Capabilities );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    "<br>\r\n" );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+
+      //
+      //  Display the default type
+      //
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    "Def Type: " );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendHexValue ( SocketFD,
+                                  pPort,
+                                  DefType );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    ", MTRRs " );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    ( 0 != ( DefType & MTRR_LIB_CACHE_MTRR_ENABLED ))
+                                    ? "Enabled"
+                                    : "Disabled" );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    ", Fixed MTRRs " );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    ( 0 != ( DefType & MTRR_LIB_CACHE_FIXED_MTRR_ENABLED ))
+                                    ? "Enabled"
+                                    : "Disabled" );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    ", " );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Type = DefType & 0xff;
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    ( DIM ( mMemoryType ) > Type )
+                                    ? mMemoryType [ Type ]
+                                    : "Reserved" );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+      Status = HttpSendAnsiString ( SocketFD,
+                                    pPort,
+                                    "</p>\r\n" );
+      if ( EFI_ERROR ( Status )) {
+        break;
+      }
+
+      //
+      //  Determine if MTRRs are enabled
+      //
+      if ( 0 == ( DefType & MTRR_LIB_CACHE_MTRR_ENABLED )) {
+        Status = HttpSendAnsiString ( SocketFD,
+                                      pPort,
+                                      "<p>All memory is uncached!</p>\r\n" );
+        if ( EFI_ERROR ( Status )) {
+          break;
+        }
+      }
+      else {
+        //
+        //  Get the MTRRs
+        //
+        MtrrGetAllMtrrs ( &Mtrr );
+
+        //
+        //  Determine if the fixed MTRRs are supported
+        //
+        if (( 0 != ( Capabilities & 0x100 ))
+          && ( 0 != ( DefType & MTRR_LIB_CACHE_FIXED_MTRR_ENABLED ))) {
+
+          //
+          //  Beginning of table
+          //
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "<h2>Fixed MTRRs</h2>\r\n"
+                                        "<table>\r\n"
+                                        "  <tr><th>Index</th><th align=\"right\">Value</th><th align=\"right\">Start</th><th align=\"right\">End</th></tr>\r\n" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  Display the fixed MTRRs
+          //
+          pMemStart = &mFixedAddresses[ 0 ];
+          for ( Count = 0; DIM ( Mtrr.Fixed.Mtrr ) > Count; Count++ ) {
+            //
+            //  Start the row
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "  <tr><td>" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            
+            //
+            //  Index
+            //
+            Status = HttpSendValue ( SocketFD,
+                                     pPort,
+                                     Count );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            
+            //
+            //  Value
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</td><td align=\"right\"><code>0x" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            Status = HttpSendHexValue ( SocketFD,
+                                        pPort,
+                                        Mtrr.Fixed.Mtrr[ Count ]);
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  Start
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</code></td><td align=\"right\"><code>0x" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            Status = HttpSendHexValue ( SocketFD,
+                                        pPort,
+                                        *pMemStart );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            pMemStart += 8;
+
+            //
+            //  Value
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</code></td><td align=\"right\"><code>0x" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            Status = HttpSendHexValue ( SocketFD,
+                                        pPort,
+                                        *pMemStart - 1 );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  End of row
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</code></td></tr>\r\n" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  End of table
+          //
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "</table>\r\n" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  Beginning of table
+          //
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "<table>\r\n"
+                                        "  <tr><th align=\"right\">Start</th><th align=\"right\">End</th><th align=\"left\">Type</th></tr>\r\n" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  Decode the fixed MTRRs
+          //
+          PreviousType = Mtrr.Fixed.Mtrr[ 0 ] & 0xff;
+          pMemStart = &mFixedAddresses[ 0 ];
+          pMemEnd = pMemStart;
+          for ( Count = 0; DIM ( Mtrr.Fixed.Mtrr ) > Count; Count++ ) {
+            //
+            //  Get the memory types
+            //
+            Type = Mtrr.Fixed.Mtrr[ Count ];
+
+            //
+            //  Walk the memory range
+            //
+            for ( Index = 0; 8 > Index; Index++ ) {
+              //
+              //  Determine if this is the same memory type
+              //
+              if ( PreviousType != ( Type & 0xff )) {
+                //
+                //  Display the row
+                //
+                Status = MtrrDisplayFixedRow ( SocketFD,
+                                               pPort,
+                                               *pMemStart,
+                                               *pMemEnd,
+                                               PreviousType );
+                if ( EFI_ERROR ( Status )) {
+                  break;
+                }
+
+                //
+                //  Start the next range of addresses
+                //
+                pMemStart = pMemEnd;
+                PreviousType = Type & 0xff;
+              }
+
+              //
+              //  Set the next memory range and type
+              //
+              Type >>= 8;
+              pMemEnd += 1;
+            }
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  Display the final row
+          //
+          Status = MtrrDisplayFixedRow ( SocketFD,
+                                         pPort,
+                                         *pMemStart,
+                                         *pMemEnd,
+                                         PreviousType );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  End of table 
+          //
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "</table>\r\n" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+
+        //
+        //  Determine if the variable MTRRs are supported
+        //
+        MaxMtrrs = Capabilities & MTRR_LIB_IA32_MTRR_CAP_VCNT_MASK;
+        if ( 0 < MaxMtrrs ) {
+          //
+          //  Beginning of table
+          //
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "<h2>Variable MTRRs</h2>\r\n"
+                                        "<table>\r\n"
+                                        "  <tr><th>Index</th><th align=\"right\">Base</th><th align=\"right\">Mask</th><th align=\"right\">Start</th><th align=\"right\">End</th></tr>\r\n" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  Display the variable MTRRs
+          //
+          for ( Count = 0; MaxMtrrs > Count; Count++ ) {
+            //
+            //  Start the row
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "  <tr><td>" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            
+            //
+            //  Index
+            //
+            Status = HttpSendValue ( SocketFD,
+                                     pPort,
+                                     Count );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            
+            //
+            //  Base
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</td><td align=\"right\"><code>0x" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            Status = HttpSendHexValue ( SocketFD,
+                                        pPort,
+                                        Mtrr.Variables.Mtrr[ Count ].Base );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  Mask
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</td><td align=\"right\"><code>0x" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            Status = HttpSendHexValue ( SocketFD,
+                                        pPort,
+                                        Mtrr.Variables.Mtrr[ Count ].Mask );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  Determine if the entry is valid
+            //
+            bValid = ( Mtrr.Variables.Mtrr[ Count ].Mask & VARIABLE_MTRR_VALID ) ? TRUE : FALSE;
+
+            //
+            //  Start
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</code></td><td align=\"right\"><code>" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            Addr = Mtrr.Variables.Mtrr[ Count ].Base & 0xfffffffffffff000ULL;
+            if ( bValid ) {
+              Status = HttpSendAnsiString ( SocketFD,
+                                            pPort,
+                                            "0x" );
+              if ( EFI_ERROR ( Status )) {
+                break;
+              }
+              Status = HttpSendHexValue ( SocketFD,
+                                          pPort,
+                                          Addr );
+            }
+            else {
+              Status = HttpSendAnsiString ( SocketFD,
+                                            pPort,
+                                            "Invalid" );
+            }
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  End
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</code></td><td align=\"right\"><code>" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            if ( bValid ) {
+              //
+              //  Determine the end address
+              //
+              Mask = Mtrr.Variables.Mtrr[ Count ].Mask;
+              Value = Mask;
+              ShiftCount = 0;
+              while ( 0 < Value ) {
+                Value <<= 1;
+                ShiftCount += 1;
+              }
+              Value = 1;
+              Value <<= 64 - ShiftCount;
+              Value -= 1;
+              Value = ~Value;
+              Value |= Mask;
+              Value &= ~VARIABLE_MTRR_VALID;
+              Value = ~Value;
+
+              Status = HttpSendAnsiString ( SocketFD,
+                                            pPort,
+                                            "0x" );
+              if ( EFI_ERROR ( Status )) {
+                break;
+              }
+              Status = HttpSendHexValue ( SocketFD,
+                                          pPort,
+                                          Addr + Value );
+            }
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  Type
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</code></td><td>" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+            if ( bValid ) {
+              Type = Mtrr.Variables.Mtrr[ Count ].Base & 0xFF;
+              Status = HttpSendAnsiString ( SocketFD,
+                                            pPort,
+                                            ( DIM ( mMemoryType ) > Type )
+                                            ? mMemoryType [ Type ]
+                                            : "Reserved" );
+            }
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+
+            //
+            //  End of row
+            //
+            Status = HttpSendAnsiString ( SocketFD,
+                                          pPort,
+                                          "</td></tr>\r\n" );
+            if ( EFI_ERROR ( Status )) {
+              break;
+            }
+          }
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+
+          //
+          //  End of table 
+          //
+          Status = HttpSendAnsiString ( SocketFD,
+                                        pPort,
+                                        "</table>\r\n" );
+          if ( EFI_ERROR ( Status )) {
+            break;
+          }
+        }
+      }
+    }
+
+    //
+    //  Send the page trailer
+    //
+    Status = HttpPageTrailer ( SocketFD, pPort, pbDone );
+    break;
+  }
+    
+  //
+  //  Return the operation status
+  //
+  DBG_EXIT_STATUS ( Status );
+  return Status;
+}
index 98927e8..1e271e5 100644 (file)
@@ -1,26 +1,16 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
---*/
-
-/** @file
+/**
+  @file
   List of pages to display
 
+  Copyright (c) 2011-2012, 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.
+
 **/
 
 #include <WebServer.h>
@@ -42,6 +32,8 @@ CONST DT_PAGE mPageList[] = {
   { PAGE_BOOT_SERVICES_TABLE, BootServicesTablePage, L"Boot Services Table" },          ///<  Format boot services table
   { PAGE_CONFIGURATION_TABLE, ConfigurationTablePage, L"Configuration Table" },         ///<  Format configuration table
   { L"/DhcpOptions", DhcpOptionsPage, L"DHCP Options" },                                ///<  Display the DHCP options
+  { PAGE_ACPI_APIC, AcpiApicPage, L"APIC" },            ///<  Format APIC
+  { PAGE_ACPI_BGRT, AcpiBgrtPage, L"BGRT" },            ///<  Format BGRT
   { PAGE_ACPI_DSDT, AcpiDsdtPage, L"DSDT - Differentiated System Description Table" },  ///<  Format DSDT
   { PAGE_DXE_SERVICES_TABLE, DxeServicesTablePage, L"DXE Services Table" },             ///<  Format DXE services table
   { L"/Exit", ExitPage, L"Exit the web server" },       ///<  Exit the web server application
@@ -49,13 +41,22 @@ CONST DT_PAGE mPageList[] = {
   { L"/Firmware", FirmwarePage, L"Firmware" },          ///<  Firmware status
   { L"/Handles", HandlePage, L"Display handles and associated protocol GUIDs" },        ///<  Handle database page
   { L"/Hello", HelloPage, L"Hello World" },             ///<  Hello world page
+  { PAGE_ACPI_HPET, AcpiHpetPage, L"HPET" },            ///<  Format HPET
+  { PAGE_ACPI_MCFG, AcpiMcfgPage, L"MCFG" },            ///<  Format MCFG
+  { L"/MemoryMap", MemoryMapPage, L"Memory Map" },      ///<  Memory list
+#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64)
+  { L"/MTRRs", MemoryTypeRegistersPage, L"Memory Type Range Registers" }, ///<  Memory type range register table
+#endif  //  Intel
   { L"/Ports", PortsPage, L"Display web-server ports" },///<  Web-server ports page
   { L"/Reboot", RebootPage, L"Reboot the sytem" },      ///<  Reboot page
   { PAGE_ACPI_RSDP_10B, AcpiRsdp10Page, L"RSDP 1.0b - ACPI Root System Description Pointer" },  ///<  Format RSDP 1.0b table
   { PAGE_ACPI_RSDP_30, AcpiRsdp30Page, L"RSDP 3.0 - ACPI Root System Description Pointer" },    ///<  Format RSDP 3.0 table
   { PAGE_ACPI_RSDT, AcpiRsdtPage, L"RSDT - ACPI Root System Description Table" },       ///<  Format RSDT
   { PAGE_RUNTIME_SERVICES_TABLE, RuntimeSservicesTablePage, L"Runtime Services Table" },///<  Format runtime services table
-  { L"/SystemTable", SystemTablePage, L"System Table" } ///<  Format system table
+  { PAGE_ACPI_SSDT, AcpiSsdtPage, L"SSDT" },            ///<  Format SSDT
+  { L"/SystemTable", SystemTablePage, L"System Table" },///<  Format system table
+  { PAGE_ACPI_TCPA, AcpiTcpaPage, L"TCPA" },            ///<  Format TCPA
+  { PAGE_ACPI_UEFI, AcpiUefiPage, L"UEFI" }             ///<  Format UEFI
 };
 
 CONST UINTN mPageCount = DIM ( mPageList );
index e9190bf..f9b6680 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Ports response page
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Ports response page
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 51c72d6..2fc8fec 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Reboot the system
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Reboot the system
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
@@ -49,7 +39,7 @@ RebootPage (
   DBG_ENTER ( );
   
   //
-  //  Send the Hello World page
+  //  Send the Reboot page
   //
   for ( ; ; ) {
     //
index 778d3bb..d5fed0c 100644 (file)
@@ -1,25 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
+/**
+  @file
+  Display the runtime services table
 
---*/
+  Copyright (c) 2011-2012, 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
 
-/** @file
-  Display the runtime services table
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 **/
 
index 916c4b9..83f6030 100644 (file)
@@ -1,26 +1,16 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
---*/
-
-/** @file
+/**
+  @file
   Display the system table
 
+  Copyright (c) 2011-2012, 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.
+
 **/
 
 #include <WebServer.h>
index 00f8633..f8a2d3a 100644 (file)
@@ -1,27 +1,15 @@
-/*++
-  This file contains an 'Intel UEFI Application' and is        
-  licensed for Intel CPUs and chipsets under the terms of your  
-  license agreement with Intel or your vendor.  This file may   
-  be modified by the user, subject to additional terms of the   
-  license agreement                                             
---*/
-/*++
-
-Copyright (c)  2011 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
---*/
-
-/** @file
-  This is a simple shell application
-
-  This should be executed with "/Param2 Val1" and "/Param1" as the 2 command line options!
+/**
+  @file
+  Web server application
+
+  Copyright (c) 2011-2012, 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.
 
 **/
 
index 48839f3..16c30c8 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions for the web server.\r
 \r
-  Copyright (c) 2011, Intel Corporation\r
+  Copyright (c) 2011-2012, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -22,6 +22,7 @@
 \r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/DebugLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
 #include <Library/PcdLib.h>\r
 #include <Library/UefiApplicationEntryPoint.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 //  Pages\r
 //------------------------------------------------------------------------------\r
 \r
+#define PAGE_ACPI_APIC                  L"/APIC"\r
+#define PAGE_ACPI_BGRT                  L"/BGRT"\r
 #define PAGE_ACPI_DSDT                  L"/DSDT"\r
 #define PAGE_ACPI_FADT                  L"/FADT"\r
+#define PAGE_ACPI_HPET                  L"/HPET"\r
+#define PAGE_ACPI_MCFG                  L"/MCFG"\r
 #define PAGE_ACPI_RSDP_10B              L"/RSDP1.0b"\r
 #define PAGE_ACPI_RSDP_30               L"/RSDP3.0"\r
 #define PAGE_ACPI_RSDT                  L"/RSDT"\r
+#define PAGE_ACPI_SSDT                  L"/SSDT"\r
+#define PAGE_ACPI_TCPA                  L"/TCPA"\r
+#define PAGE_ACPI_UEFI                  L"/UEFI"\r
 #define PAGE_BOOT_SERVICES_TABLE        L"/BootServicesTable"\r
 #define PAGE_CONFIGURATION_TABLE        L"/ConfigurationTable"\r
 #define PAGE_DXE_SERVICES_TABLE         L"/DxeServicesTable"\r
 //  Signatures\r
 //------------------------------------------------------------------------------\r
 \r
+#define APIC_SIGNATURE        0x43495041\r
+#define BGRT_SIGNATURE        0x54524742\r
 #define DSDT_SIGNATURE        0x54445344\r
 #define FADT_SIGNATURE        0x50434146\r
+#define HPET_SIGNATURE        0x54455048\r
+#define MCFG_SIGNATURE        0x4746434d\r
+#define SSDT_SIGNATURE        0x54445353\r
+#define TCPA_SIGNATURE        0x41504354\r
+#define UEFI_SIGNATURE        0x49464555\r
 \r
 //------------------------------------------------------------------------------\r
 //  Macros\r
@@ -227,6 +242,40 @@ extern CONST UINTN mPageCount;      ///<  Number of pages
 // Web Pages\r
 //------------------------------------------------------------------------------\r
 \r
+/**\r
+  Respond with the APIC table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiApicPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
+/**\r
+  Respond with the BGRT table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiBgrtPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
 /**\r
   Respond with the ACPI DSDT table\r
 \r
@@ -261,6 +310,40 @@ AcpiFadtPage (
   OUT BOOLEAN * pbDone\r
   );\r
 \r
+/**\r
+  Respond with the HPET table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiHpetPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
+/**\r
+  Respond with the MCFG table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiMcfgPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
 /**\r
   Respond with the ACPI RSDP 1.0b table\r
 \r
@@ -312,6 +395,57 @@ AcpiRsdtPage (
   OUT BOOLEAN * pbDone\r
   );\r
 \r
+/**\r
+  Respond with the SSDT table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiSsdtPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
+/**\r
+  Respond with the TCPA table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiTcpaPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
+/**\r
+  Respond with the UEFI table\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+AcpiUefiPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
 /**\r
   Respond with the boot services table\r
 \r
@@ -465,6 +599,40 @@ IndexPage (
   OUT BOOLEAN * pbDone\r
   );\r
 \r
+/**\r
+  Page to display the memory map\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+MemoryMapPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
+/**\r
+  Display the memory type registers\r
+\r
+  @param [in] SocketFD      The socket's file descriptor to add to the list.\r
+  @param [in] pPort         The WSDT_PORT structure address\r
+  @param [out] pbDone       Address to receive the request completion status\r
+\r
+  @retval EFI_SUCCESS       The request was successfully processed\r
+\r
+**/\r
+EFI_STATUS\r
+MemoryTypeRegistersPage (\r
+  IN int SocketFD,\r
+  IN WSDT_PORT * pPort,\r
+  OUT BOOLEAN * pbDone\r
+  );\r
+\r
 /**\r
   Respond with the Ports page\r
 \r
index c250007..3650aef 100644 (file)
@@ -1,21 +1,14 @@
-#/** @file\r
+## @file\r
 #  Web Server Application\r
 #\r
-# This file contains an 'Intel Peripheral Driver' and is      \r
-# licensed for Intel CPUs and chipsets under the terms of your\r
-# license agreement with Intel or your vendor.  This file may \r
-# be modified by the user, subject to additional terms of the \r
-# license agreement                                           \r
+#  Copyright (c) 2011-2012, Intel Corporation\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution.  The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
 #\r
-#\r
-# Copyright (c)  2011 Intel Corporation. All rights reserved\r
-# This software and associated documentation (if any) is furnished\r
-# under a license and may only be used or copied in accordance\r
-# with the terms of the license. Except as permitted by such\r
-# license, no part of this software or documentation may be\r
-# reproduced, stored in a retrieval system, or transmitted in any\r
-# form or by any means without the express written consent of\r
-# Intel Corporation.\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
@@ -46,6 +39,7 @@
   Hello.c\r
   HTTP.c\r
   Index.c\r
+  MemoryMap.c\r
   PageList.c\r
   Ports.c\r
   Reboot.c\r
   SystemTable.c\r
   WebServer.c\r
 \r
+[Sources.IA32]\r
+  Mtrr.c\r
+\r
+[Sources.X64]\r
+  Mtrr.c\r
+\r
 \r
 [Pcd]\r
   gAppPkgTokenSpaceGuid.WebServer_HttpPort\r
   ShellPkg/ShellPkg.dec\r
   StdLib/StdLib.dec\r
 \r
+[Packages.IA32]\r
+  UefiCpuPkg/UefiCpuPkg.dec\r
+\r
+[Packages.X64]\r
+  UefiCpuPkg/UefiCpuPkg.dec\r
+\r
 \r
 [LibraryClasses]\r
   BaseMemoryLib\r
   BsdSocketLib\r
   DebugLib\r
   DevShell\r
+  DxeServicesTableLib\r
   EfiSocketLib\r
   LibC\r
   ShellLib\r
   UefiRuntimeServicesTableLib\r
 #  UseSocketDxe\r
 \r
+[LibraryClasses.IA32]\r
+  MtrrLib\r
+\r
+[LibraryClasses.X64]\r
+  MtrrLib\r
+\r
+\r
 [Guids]\r
   gEfiAcpi10TableGuid\r
   gEfiAcpiTableGuid\r