baytrail: use version 2 of efi wrapper

Version 2 of the efi wrapper wants the speed of the TSC
timer initialized in the parameter structure.

BUG=chrome-os-partner:22866
BRANCH=None
TEST=Built and booted through depthcharge. No errors spit out by
     wrapper.
CQ-DEPEND=CL:*147256

Change-Id: I9cd265ea6bde93be85fc6fbc905d83af57fc2773
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/174712
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/4903
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Aaron Durbin 2013-10-28 09:54:22 -05:00 committed by Aaron Durbin
parent eb2eedf6f7
commit 8fa6283b8d
2 changed files with 5 additions and 1 deletions

View File

@ -29,7 +29,7 @@
#ifndef __EFI_WRAPPER_H__ #ifndef __EFI_WRAPPER_H__
#define __EFI_WRAPPER_H__ #define __EFI_WRAPPER_H__
#define EFI_WRAPPER_VER 1 #define EFI_WRAPPER_VER 2
/* Provide generic x86 calling conventions. */ /* Provide generic x86 calling conventions. */
#define ABI_X86 __attribute((regparm(0))) #define ABI_X86 __attribute((regparm(0)))
@ -44,6 +44,8 @@ struct efi_wrapper_params {
int version; int version;
void ABI_X86 (*console_out)(unsigned char byte); void ABI_X86 (*console_out)(unsigned char byte);
unsigned int tsc_ticks_per_microsecond;
} __attribute__((packed)); } __attribute__((packed));
typedef int ABI_X86 (*efi_wrapper_entry_t)(struct efi_wrapper_params *); typedef int ABI_X86 (*efi_wrapper_entry_t)(struct efi_wrapper_params *);

View File

@ -19,6 +19,7 @@
#include <cbmem.h> #include <cbmem.h>
#include <console/console.h> #include <console/console.h>
#include <cpu/x86/tsc.h>
#include <rmodule.h> #include <rmodule.h>
#include <baytrail/ramstage.h> #include <baytrail/ramstage.h>
@ -47,6 +48,7 @@ void baytrail_run_reference_code(void)
return; return;
} }
wrp.tsc_ticks_per_microsecond = tsc_freq_mhz();
entry = refcode.entry; entry = refcode.entry;
/* Call into reference code. */ /* Call into reference code. */