Home | History | Annotate | Download | only in Pei
      1 /************************************************************************
      2  *
      3  * Copyright (c) 2013-2015 Intel Corporation.
      4  *
      5 * This program and the accompanying materials
      6 * are licensed and made available under the terms and conditions of the BSD License
      7 * which accompanies this distribution.  The full text of the license may be found at
      8 * http://opensource.org/licenses/bsd-license.php
      9 *
     10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12  *
     13  ************************************************************************/
     14 #include "mrc.h"
     15 #include "memory_options.h"
     16 
     17 #include "meminit.h"
     18 #include "meminit_utils.h"
     19 #include "prememinit.h"
     20 #include "io.h"
     21 
     22 // Base address for UART registers
     23 extern uint32_t UartMmioBase;
     24 
     25 //
     26 // Memory Reference Code entry point when executing from BIOS
     27 //
     28 void Mrc( MRCParams_t *mrc_params)
     29 {
     30   // configure uart base address assuming code relocated to eSRAM
     31   UartMmioBase = mrc_params->uart_mmio_base;
     32 
     33   ENTERFN();
     34 
     35   DPF(D_INFO, "MRC Version %04X %s %s\n", MRC_VERSION, __DATE__, __TIME__);
     36 
     37   // this will set up the data structures used by MemInit()
     38   PreMemInit(mrc_params);
     39 
     40   // this will initialize system memory
     41   MemInit(mrc_params);
     42 
     43   LEAVEFN();
     44   return;
     45 }
     46 
     47