Home | History | Annotate | Download | only in Setup
      1 /** @file
      2 Platform Initialization Driver.
      3 
      4 Copyright (c) 2013-2015 Intel Corporation.
      5 
      6 This program and the accompanying materials
      7 are licensed and made available under the terms and conditions of the BSD License
      8 which accompanies this distribution.  The full text of the license may be found at
      9 http://opensource.org/licenses/bsd-license.php
     10 
     11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13 
     14 **/
     15 
     16 #include "CommonHeader.h"
     17 
     18 #include "SetupPlatform.h"
     19 #include <Library/HobLib.h>
     20 
     21 EFI_HANDLE            mImageHandle = NULL;
     22 
     23 EFI_HII_DATABASE_PROTOCOL        *mHiiDataBase = NULL;
     24 EFI_HII_CONFIG_ROUTING_PROTOCOL  *mHiiConfigRouting = NULL;
     25 
     26 UINT8                    mSmbusRsvdAddresses[PLATFORM_NUM_SMBUS_RSVD_ADDRESSES] = {
     27   SMBUS_ADDR_CH_A_1,
     28   SMBUS_ADDR_CK505,
     29   SMBUS_ADDR_THERMAL_SENSOR1,
     30   SMBUS_ADDR_THERMAL_SENSOR2
     31 };
     32 
     33 EFI_PLATFORM_POLICY_PROTOCOL    mPlatformPolicyData = {
     34   PLATFORM_NUM_SMBUS_RSVD_ADDRESSES,
     35   mSmbusRsvdAddresses
     36 };
     37 
     38 EFI_STATUS
     39 DxePlatformDriverEntry (
     40   IN EFI_HANDLE         ImageHandle,
     41   IN EFI_SYSTEM_TABLE   *SystemTable
     42   )
     43 /*++
     44 
     45   Routine Description:
     46     This is the standard EFI driver point for the D845GRgPlatform Driver. This
     47     driver is responsible for setting up any platform specific policy or
     48     initialization information.
     49 
     50   Arguments:
     51     ImageHandle     - Handle for the image of this driver
     52     SystemTable     - Pointer to the EFI System Table
     53 
     54   Returns:
     55     EFI_SUCCESS     - Policy decisions set
     56 
     57 --*/
     58 {
     59   EFI_STATUS                  Status;
     60   EFI_HANDLE                  Handle;
     61 
     62   S3BootScriptSaveInformationAsciiString (
     63     "SetupDxeEntryBegin"
     64     );
     65 
     66   mImageHandle = ImageHandle;
     67 
     68   Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID**)&mHiiDataBase);
     69   ASSERT_EFI_ERROR (Status);
     70 
     71   Status = gBS->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid, NULL, (VOID**)&mHiiConfigRouting);
     72   ASSERT_EFI_ERROR (Status);
     73 
     74   //
     75   // Initialize keyboard layout
     76   //
     77   Status = InitKeyboardLayout ();
     78 
     79   //
     80   // Initialize ICH registers
     81   //
     82   PlatformInitQNCRegs();
     83 
     84   ProducePlatformCpuData ();
     85 
     86   //
     87   // Install protocol to to allow access to this Policy.
     88   //
     89   Handle = NULL;
     90   Status = gBS->InstallMultipleProtocolInterfaces (
     91                   &Handle,
     92                   &gEfiPlatformPolicyProtocolGuid, &mPlatformPolicyData,
     93                   NULL
     94                   );
     95   ASSERT_EFI_ERROR(Status);
     96 
     97   S3BootScriptSaveInformationAsciiString (
     98     "SetupDxeEntryEnd"
     99     );
    100 
    101   return EFI_SUCCESS;
    102 }
    103 
    104