[coreboot-gerrit] New patch to review for coreboot: soc/intel/apollolake: Use car teardown common code

Subrata Banik (subrata.banik@intel.com) gerrit at coreboot.org
Wed Mar 15 13:03:31 CET 2017


Subrata Banik (subrata.banik at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18827

-gerrit

commit fb1f1860f7fe160dbbfd30daced642c750bb682c
Author: Subrata Banik <subrata.banik at intel.com>
Date:   Wed Mar 15 17:32:17 2017 +0530

    soc/intel/apollolake: Use car teardown common code
    
    Change-Id: I5c8ce5983eea62a32a0a8156545723e9b9079dfe
    Signed-off-by: Subrata Banik <subrata.banik at intel.com>
---
 src/soc/intel/apollolake/Makefile.inc |  6 +--
 src/soc/intel/apollolake/exit_car.S   | 69 -----------------------------------
 2 files changed, 1 insertion(+), 74 deletions(-)

diff --git a/src/soc/intel/apollolake/Makefile.inc b/src/soc/intel/apollolake/Makefile.inc
index 16ed9c5..1e6aafd 100644
--- a/src/soc/intel/apollolake/Makefile.inc
+++ b/src/soc/intel/apollolake/Makefile.inc
@@ -89,11 +89,7 @@ postcar-y += spi.c
 postcar-$(CONFIG_SOC_UART_DEBUG) += uart_early.c
 postcar-y += tsc_freq.c
 
-ifeq ($(CONFIG_FSP_CAR),y)
-postcar-y += exit_car_fsp.S
-else
-postcar-y += exit_car.S
-endif
+postcar-$(CONFIG_FSP_CAR) += exit_car_fsp.S
 
 verstage-y += car.c
 verstage-y += flash_ctrlr.c
diff --git a/src/soc/intel/apollolake/exit_car.S b/src/soc/intel/apollolake/exit_car.S
deleted file mode 100644
index 8d732d8..0000000
--- a/src/soc/intel/apollolake/exit_car.S
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright 2016 Google Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <cpu/x86/mtrr.h>
-#include <cpu/x86/cr.h>
-#include <intelblocks/msr.h>
-#include <soc/cpu.h>
-
-.text
-.global chipset_teardown_car
-chipset_teardown_car:
-	/*
-	 * Retrieve return address from stack as it will get trashed below if
-	 * execution is utilizing the cache-as-ram stack.
-	 */
-	pop	%ebx
-
-	/* Disable MTRRs. */
-	mov	$(MTRR_DEF_TYPE_MSR), %ecx
-	rdmsr
-	and	$(~(MTRR_DEF_TYPE_EN | MTRR_DEF_TYPE_FIX_EN)), %eax
-	wrmsr
-
-#if IS_ENABLED(CONFIG_CAR_CQOS)
-	/* Go back to all-evicting mode, set both masks to all-1s */
-	mov	$MSR_L2_QOS_MASK(0), %ecx
-	rdmsr
-	mov	$~0, %al
-	wrmsr
-
-	mov	$MSR_L2_QOS_MASK(1), %ecx
-	rdmsr
-	mov	$~0, %al
-	wrmsr
-
-	/* Reset CLOS selector to 0 */
-	mov	$MSR_IA32_PQR_ASSOC, %ecx
-	rdmsr
-	and	$~IA32_PQR_ASSOC_MASK, %edx
-	wrmsr
-#endif
-	/* invalidate cache contents. */
-	invd
-
-#if IS_ENABLED(CONFIG_CAR_NEM)
-	/* Knock down bit 1 then bit 0 of NEM control not combining steps. */
-	mov	$(MSR_EVICT_CTL), %ecx
-	rdmsr
-	and	$(~(1 << 1)), %eax
-	wrmsr
-	and	$(~(1 << 0)), %eax
-	wrmsr
-#endif
-
-	/* Return to caller. */
-	jmp	*%ebx



More information about the coreboot-gerrit mailing list