Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/18548 )
Change subject: nb/intel/i945: Programm CxODT value for each channel
......................................................................
Patch Set 26: Code-Review+2
(2 comments)
https://review.coreboot.org/c/coreboot/+/18548/22/src/northbridge/intel/i94…
File src/northbridge/intel/i945/raminit.c:
https://review.coreboot.org/c/coreboot/+/18548/22/src/northbridge/intel/i94…
PS22, Line 2463: (dimm_mask & 3) != 3
> you have to look up what this means, while the previous statement was very clear.
It can be written even clearer by pulling the outer ! in:
if (sysinfo->dimm[0] == SYSINFO_DIMM_NOT_POPULATED ||
sysinfo->dimm[1] == SYSINFO_DIMM_NOT_POPULATED)
https://review.coreboot.org/c/coreboot/+/18548/22/src/northbridge/intel/i94…
PS22, Line 2473: MCHBAR32(C1ODT)
> There is no documentation on this one and only very limited documentation on C0ODT. […]
ODT is no magic, so I think it's fair to assume that the current code
doesn't work if both channels are not equally populated. But the new
code might work and can't break anything if they are.
--
To view, visit https://review.coreboot.org/c/coreboot/+/18548
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I7aec35f45250da554ddc5a68f5add157c313399c
Gerrit-Change-Number: 18548
Gerrit-PatchSet: 26
Gerrit-Owner: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-CC: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Gerrit-Comment-Date: Mon, 25 Nov 2019 14:34:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-MessageType: comment
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/28648 )
Change subject: nb/intel/i945: Set CxDRT1 tRPALL bit if populated with 8-bank
......................................................................
Patch Set 14:
> BIOS programs this register with “least common denominator” values after reading the SPD
> registers of each DIMM in the channel."
So looks like it's the least common denominator *per channel*
and not for all DIMMs in the system.
I guess the code is full of such issues anyway (i.e. expects equal
DIMMs in the channels) but we shouldn't make this worse if we can
avoid it.
--
To view, visit https://review.coreboot.org/c/coreboot/+/28648
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Id6c7dccd295e187acfe00a08294010af53b4d0ee
Gerrit-Change-Number: 28648
Gerrit-PatchSet: 14
Gerrit-Owner: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: HAOUAS Elyes <ehaouas(a)noos.fr>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Comment-Date: Mon, 25 Nov 2019 14:16:02 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Hello Arthur Heymans, Marshall Dawson, Paul Menzel, build bot (Jenkins), Marc Jones, Michał Żygowski, Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/18526
to look at the new patch set (#10).
Change subject: binaryPI: Drop CAR teardown without POSTCAR_STAGE
......................................................................
binaryPI: Drop CAR teardown without POSTCAR_STAGE
The remaining (active) binaryPI boards moved away from
BINARYPI_LEGACY_WRAPPER and have POSTCAR_STAGE now.
As the cache_as_ram.S is also used with AGESA, this slightly
reduces the codesize there for romstage and postcar as well.
This commit is actually a revert for the vendorcode parts,
AMD originally shipped the codes using 'invd' for the CAR
teardown, but these were changed for coreboot due the
convoluted teardown that used to happen with non-empty stack.
Change-Id: I693c104c3aab3be537c00695cbd764a48bd603b0
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com
Signed-off-by: Michał Żygowski <michal.zygowski(a)3mdeb.com>
---
M src/drivers/amd/agesa/Makefile.inc
M src/drivers/amd/agesa/cache_as_ram.S
A src/drivers/amd/agesa/exit_car.S
M src/vendorcode/amd/pi/00630F01/binaryPI/gcccar.inc
M src/vendorcode/amd/pi/00660F01/binaryPI/gcccar.inc
M src/vendorcode/amd/pi/00730F01/binaryPI/gcccar.inc
6 files changed, 45 insertions(+), 139 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/26/18526/10
--
To view, visit https://review.coreboot.org/c/coreboot/+/18526
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I693c104c3aab3be537c00695cbd764a48bd603b0
Gerrit-Change-Number: 18526
Gerrit-PatchSet: 10
Gerrit-Owner: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Marc Jones <marc(a)marcjonesconsulting.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-MessageType: newpatchset
Hello Arthur Heymans, Marshall Dawson, Paul Menzel, build bot (Jenkins), Marc Jones, Michał Żygowski, Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/18526
to look at the new patch set (#9).
Change subject: binaryPI: Drop CAR teardown without POSTCAR_STAGE
......................................................................
binaryPI: Drop CAR teardown without POSTCAR_STAGE
The remaining (active) binaryPI boards moved away from
BINARYPI_LEGACY_WRAPPER and have POSTCAR_STAGE now.
As the cache_as_ram.S is also used with AGESA, this slightly
reduces the codesize there for romstage and postcar as well.
This commit is actually a revert for the vendorcode parts,
AMD originally shipped the codes using 'invd' for the CAR
teardown, but these were changed for coreboot due the
convoluted teardown that used to happen with non-empty stack.
Change-Id: I693c104c3aab3be537c00695cbd764a48bd603b0
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com
Signed-off-by: Michał Żygowski <michal.zygowski(a)3mdeb.com>
---
M src/drivers/amd/agesa/Makefile.inc
M src/drivers/amd/agesa/cache_as_ram.S
A src/drivers/amd/agesa/exit_car.S
M src/vendorcode/amd/pi/00630F01/binaryPI/gcccar.inc
M src/vendorcode/amd/pi/00660F01/binaryPI/gcccar.inc
M src/vendorcode/amd/pi/00730F01/binaryPI/gcccar.inc
6 files changed, 45 insertions(+), 137 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/26/18526/9
--
To view, visit https://review.coreboot.org/c/coreboot/+/18526
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I693c104c3aab3be537c00695cbd764a48bd603b0
Gerrit-Change-Number: 18526
Gerrit-PatchSet: 9
Gerrit-Owner: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Marc Jones <marc(a)marcjonesconsulting.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-MessageType: newpatchset
Hello Marshall Dawson, Paul Menzel, build bot (Jenkins), Marc Jones, Michał Żygowski, Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/19275
to look at the new patch set (#9).
Change subject: binaryPI: Drop BINARYPI_LEGACY_WRAPPER support
......................................................................
binaryPI: Drop BINARYPI_LEGACY_WRAPPER support
Drop all the sources that were guarded with this.
Change-Id: I6c6fd19875cb57f0caf42a1a94f59efed83bfe0d
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
M src/cpu/amd/pi/Kconfig
M src/cpu/amd/pi/Makefile.inc
D src/cpu/amd/pi/amd_late_init.c
D src/cpu/amd/pi/romstage.c
M src/drivers/amd/agesa/Makefile.inc
M src/drivers/amd/agesa/def_callouts.c
M src/drivers/amd/agesa/eventlog.c
M src/drivers/amd/agesa/romstage.c
M src/mainboard/amd/bettong/BiosCallOuts.c
M src/mainboard/amd/bettong/Kconfig
M src/mainboard/amd/bettong/OemCustomize.c
M src/mainboard/amd/bettong/romstage.c
M src/mainboard/amd/db-ft3b-lc/Kconfig
M src/mainboard/amd/db-ft3b-lc/OemCustomize.c
M src/mainboard/amd/db-ft3b-lc/romstage.c
M src/mainboard/amd/lamar/Kconfig
M src/mainboard/amd/lamar/OemCustomize.c
M src/mainboard/amd/lamar/romstage.c
M src/mainboard/amd/olivehillplus/Kconfig
M src/mainboard/amd/olivehillplus/OemCustomize.c
M src/mainboard/amd/olivehillplus/romstage.c
M src/mainboard/bap/ode_e21XX/Kconfig
M src/mainboard/bap/ode_e21XX/OemCustomize.c
M src/mainboard/bap/ode_e21XX/romstage.c
M src/northbridge/amd/agesa/state_machine.h
M src/northbridge/amd/pi/00630F01/northbridge.c
M src/northbridge/amd/pi/00660F01/northbridge.c
M src/northbridge/amd/pi/00730F01/Makefile.inc
M src/northbridge/amd/pi/00730F01/northbridge.c
M src/northbridge/amd/pi/Makefile.inc
D src/northbridge/amd/pi/agesawrapper.c
D src/northbridge/amd/pi/agesawrapper.h
D src/northbridge/amd/pi/agesawrapper_call.h
M src/vendorcode/amd/Kconfig
D src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c
D src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c
D src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c
M src/vendorcode/amd/pi/Makefile.inc
38 files changed, 9 insertions(+), 2,073 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/75/19275/9
--
To view, visit https://review.coreboot.org/c/coreboot/+/19275
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6c6fd19875cb57f0caf42a1a94f59efed83bfe0d
Gerrit-Change-Number: 19275
Gerrit-PatchSet: 9
Gerrit-Owner: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Marc Jones <marc(a)marcjonesconsulting.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-MessageType: newpatchset
Kyösti Mälkki has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37174 )
Change subject: binaryPI: Remove FieldAccessors.[ch]
......................................................................
binaryPI: Remove FieldAccessors.[ch]
SAGE brought these in outside AGESA specifications and they
had some ill semantics. They were already removed from StoneyRidge.
Change-Id: I59d0c450583b2ff58031c127aae881d1f3799338
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
M src/vendorcode/amd/pi/00630F01/AMD.h
M src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c
D src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h
M src/vendorcode/amd/pi/00660F01/AMD.h
M src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c
D src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h
M src/vendorcode/amd/pi/00730F01/AMD.h
M src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c
D src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h
9 files changed, 6 insertions(+), 568 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/74/37174/1
diff --git a/src/vendorcode/amd/pi/00630F01/AMD.h b/src/vendorcode/amd/pi/00630F01/AMD.h
index f70b128..2de5461 100644
--- a/src/vendorcode/amd/pi/00630F01/AMD.h
+++ b/src/vendorcode/amd/pi/00630F01/AMD.h
@@ -159,8 +159,8 @@
FCH_INIT_LATE = 0x00043000,
FCH_INIT_S3_EARLY_RESTORE = 0x00044000,
FCH_INIT_S3_LATE_RESTORE = 0x00045000,
- AMD_SET_VALUE = 0x00081000,
- AMD_GET_VALUE = 0x00082000,
+ AMD_SET_VALUE_invalid = 0x00081000,
+ AMD_GET_VALUE_invalid = 0x00082000,
} AGESA_STRUCT_NAME;
/* ResetType constant values */
diff --git a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c
index 2bc9399..fa6c276 100644
--- a/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c
+++ b/src/vendorcode/amd/pi/00630F01/binaryPI/AGESA.c
@@ -48,7 +48,6 @@
#include <FchCommonCfg.h>
#include <Fch.h>
#include <FchDef.h>
-#include <FieldAccessors.h>
CONST UINT32 ImageSignature = IMAGE_SIGNATURE;
CONST UINT32 ModuleSignature = MODULE_SIGNATURE;
@@ -511,78 +510,3 @@
{
((FCH_DATA_BLOCK*)FchDataPtr)->StdHeader->Func = 0;
}
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdSetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID* value,
- IN UINT32 size
- )
-{
- AGESA_STATUS status = AGESA_UNSUPPORTED;
-
- MODULE_ENTRY Dispatcher = NULL;
- const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier);
-
- AMD_ACCESSOR_PARAMS AccessorParams = {};
-
- if (!module) return status;
- Dispatcher = module->ModuleDispatcher;
-
- AccessorParams.StdHeader.AltImageBasePtr = 0;
- AccessorParams.StdHeader.CalloutPtr = NULL;
- AccessorParams.StdHeader.Func = AMD_SET_VALUE;
- AccessorParams.StdHeader.ImageBasePtr = 0;
-
- AccessorParams.AllocationMethod = ByHost;
- AccessorParams.FieldName = name;
- AccessorParams.FieldValue = value;
- AccessorParams.FieldSize = size;
-
- status = Dispatcher(&AccessorParams);
- return status;
-}
-
-/**********************************************************************
- * Interface call: AmdGetValue
- **********************************************************************/
-AGESA_STATUS
-AmdGetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID** value,
- IN UINT32 size
- )
-{
- AGESA_STATUS status = AGESA_UNSUPPORTED;
-
- MODULE_ENTRY Dispatcher = NULL;
- const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier);
-
- AMD_ACCESSOR_PARAMS AccessorParams = {};
-
- ASSERT(module);
- if (!module) return status;
- Dispatcher = module->ModuleDispatcher;
- ASSERT(Dispatcher);
-
- AccessorParams.StdHeader.AltImageBasePtr = 0;
- AccessorParams.StdHeader.CalloutPtr = NULL;
- AccessorParams.StdHeader.Func = AMD_GET_VALUE;
- AccessorParams.StdHeader.ImageBasePtr = 0;
-
- AccessorParams.AllocationMethod = ByHost;
- AccessorParams.FieldName = name;
- AccessorParams.FieldValue = *value;
- AccessorParams.FieldSize = size;
-
- status = Dispatcher(&AccessorParams);
- ASSERT(AGESA_SUCCESS == status);
-
- *value = AccessorParams.FieldValue;
- size = AccessorParams.FieldSize;
-
- return status;
-}
diff --git a/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h
deleted file mode 100644
index bfbccbe..0000000
--- a/src/vendorcode/amd/pi/00630F01/binaryPI/FieldAccessors.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-#ifndef _FIELDACCESSORS_H_
-#define _FIELDACCESSORS_H_
-
-#include "AGESA.h"
-
-/// AGESA value name
-typedef enum {
- AMD_GLOBAL_USER_OPTIONS = 0x00020000,
- AMD_GLOBAL_NUM_SOCKETS = 0x00020001,
- AMD_GLOBAL_NUM_MODULES = 0x00020002,
-} AGESA_FIELD_NAME;
-
-typedef AGESA_STATUS (*SETTER_ENTRY) (
- IN OUT VOID* value,
- IN UINT32 size
- );
-
-typedef AGESA_STATUS (*GETTER_ENTRY) (
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-/// Accessor Interface.
-typedef struct {
- IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header
- IN AGESA_FIELD_NAME FieldName; ///< The service to init
- IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data
- IN OUT VOID *Struct; ///< The struct for the service.
- IN OUT UINT32 FieldSize; ///< The size of the data value.
- IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure.
-} AMD_ACCESSOR_PARAMS;
-
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdGetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdSetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID* value,
- IN UINT32 size
- );
-
-/**
- * Dispatch Table.
- *
- * The push high dispatcher uses this table to find what entries are currently in the build image.
- */
-typedef struct {
- UINT32 FunctionId;
- SETTER_ENTRY SetValueEntryPoint;
- GETTER_ENTRY GetValueEntryPoint;
-} ACCESSOR_DISPATCH_TABLE;
-
-AGESA_STATUS
-GetUserOptions(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-AGESA_STATUS
-GetNumSockets(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-AGESA_STATUS
-GetNumModules(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-#endif /* _FIELDACCESSORS_H_ */
diff --git a/src/vendorcode/amd/pi/00660F01/AMD.h b/src/vendorcode/amd/pi/00660F01/AMD.h
index 54abf80..990261b 100644
--- a/src/vendorcode/amd/pi/00660F01/AMD.h
+++ b/src/vendorcode/amd/pi/00660F01/AMD.h
@@ -168,8 +168,8 @@
FCH_INIT_LATE = 0x00043000,
FCH_INIT_S3_EARLY_RESTORE = 0x00044000,
FCH_INIT_S3_LATE_RESTORE = 0x00045000,
- AMD_SET_VALUE = 0x00081000,
- AMD_GET_VALUE = 0x00082000
+ AMD_SET_VALUE_invalid = 0x00081000,
+ AMD_GET_VALUE_invalid = 0x00082000
} AGESA_STRUCT_NAME;
/* ResetType constant values */
diff --git a/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c
index cb2f7f6..a4eef5a 100644
--- a/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c
+++ b/src/vendorcode/amd/pi/00660F01/binaryPI/AGESA.c
@@ -42,7 +42,6 @@
// TODO This list needs to be pruned of anything that is not API
#include "AGESA.h"
#include "agesawrapper.h"
-#include "FieldAccessors.h"
#include "AcpiLib.h"
#include "FchCommonCfg.h"
#include "Fch.h"
@@ -401,75 +400,3 @@
Dispatcher = module->ModuleDispatcher;
Dispatcher(FchDataPtr);
}
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdSetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID* value,
- IN UINT32 size
- )
-{
- AGESA_STATUS status = AGESA_UNSUPPORTED;
-
- MODULE_ENTRY Dispatcher = NULL;
- const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier);
-
- AMD_ACCESSOR_PARAMS AccessorParams = {};
-
- if (!module) return status;
- Dispatcher = module->ModuleDispatcher;
-
- AccessorParams.StdHeader.AltImageBasePtr = 0;
- AccessorParams.StdHeader.CalloutPtr = NULL;
- AccessorParams.StdHeader.Func = AMD_SET_VALUE;
- AccessorParams.StdHeader.ImageBasePtr = 0;
-
- AccessorParams.AllocationMethod = ByHost;
- AccessorParams.FieldName = name;
- AccessorParams.FieldValue = value;
- AccessorParams.FieldSize = size;
-
- status = Dispatcher(&AccessorParams);
- return status;
-}
-
-/**********************************************************************
- * Interface call: AmdGetValue
- **********************************************************************/
-AGESA_STATUS
-AmdGetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID** value,
- IN UINT32 size
- )
-{
- AGESA_STATUS status = AGESA_UNSUPPORTED;
-
- MODULE_ENTRY Dispatcher = NULL;
- const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier);
-
- AMD_ACCESSOR_PARAMS AccessorParams = {};
-
- if (!module) return status;
- Dispatcher = module->ModuleDispatcher;
-
- AccessorParams.StdHeader.AltImageBasePtr = 0;
- AccessorParams.StdHeader.CalloutPtr = NULL;
- AccessorParams.StdHeader.Func = AMD_GET_VALUE;
- AccessorParams.StdHeader.ImageBasePtr = 0;
-
- AccessorParams.AllocationMethod = ByHost;
- AccessorParams.FieldName = name;
- AccessorParams.FieldValue = *value;
- AccessorParams.FieldSize = size;
-
- status = Dispatcher(&AccessorParams);
-
- *value = AccessorParams.FieldValue;
- size = AccessorParams.FieldSize;
-
- return status;
-}
diff --git a/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h
deleted file mode 100644
index 2d860c5..0000000
--- a/src/vendorcode/amd/pi/00660F01/binaryPI/FieldAccessors.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-#ifndef _FIELDACCESSORS_H_
-#define _FIELDACCESSORS_H_
-
-/// AGESA value name
-typedef enum {
- AMD_GLOBAL_USER_OPTIONS = 0x00020000,
- AMD_GLOBAL_NUM_SOCKETS = 0x00020001,
- AMD_GLOBAL_NUM_MODULES = 0x00020002,
-} AGESA_FIELD_NAME;
-
-typedef AGESA_STATUS (*SETTER_ENTRY) (
- IN OUT VOID* value,
- IN UINT32 size
- );
-
-typedef AGESA_STATUS (*GETTER_ENTRY) (
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-/// Accessor Interface.
-typedef struct {
- IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header
- IN AGESA_FIELD_NAME FieldName; ///< The service to init
- IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data
- IN OUT VOID *Struct; ///< The struct for the service.
- IN OUT UINT32 FieldSize; ///< The size of the data value.
- IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure.
-} AMD_ACCESSOR_PARAMS;
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdSetValueDispatch (
- IN OUT AMD_ACCESSOR_PARAMS *AccessorParams
- );
-
-AGESA_STATUS
-AmdSetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID* value,
- IN UINT32 size
- );
-
-/**********************************************************************
- * Interface call: AmdGetValue
- **********************************************************************/
-AGESA_STATUS
-AmdGetValueDispatch (
- IN OUT AMD_ACCESSOR_PARAMS *AccessorParams
- );
-
-AGESA_STATUS
-AmdGetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-/**
- * Dispatch Table.
- *
- * The push high dispatcher uses this table to find what entries are currently in the build image.
- */
-typedef struct {
- UINT32 FunctionId;
- SETTER_ENTRY SetValueEntryPoint;
- GETTER_ENTRY GetValueEntryPoint;
-} ACCESSOR_DISPATCH_TABLE;
-
-AGESA_STATUS
-GetUserOptions(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-AGESA_STATUS
-GetNumSockets(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-AGESA_STATUS
-GetNumModules(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-#endif /* _FIELDACCESSORS_H_ */
diff --git a/src/vendorcode/amd/pi/00730F01/AMD.h b/src/vendorcode/amd/pi/00730F01/AMD.h
index 13fc29a..81612b5 100644
--- a/src/vendorcode/amd/pi/00730F01/AMD.h
+++ b/src/vendorcode/amd/pi/00730F01/AMD.h
@@ -159,8 +159,8 @@
FCH_INIT_LATE = 0x00043000,
FCH_INIT_S3_EARLY_RESTORE = 0x00044000,
FCH_INIT_S3_LATE_RESTORE = 0x00045000,
- AMD_SET_VALUE = 0x00081000,
- AMD_GET_VALUE = 0x00082000,
+ AMD_SET_VALUE_invalid = 0x00081000,
+ AMD_GET_VALUE_invalid = 0x00082000,
} AGESA_STRUCT_NAME;
/* ResetType constant values */
diff --git a/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c b/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c
index f233542..7b1a98a 100644
--- a/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c
+++ b/src/vendorcode/amd/pi/00730F01/binaryPI/AGESA.c
@@ -42,7 +42,6 @@
// TODO This list needs to be pruned of anything that is not API
#include "AGESA.h"
#include <agesawrapper.h>
-#include "FieldAccessors.h"
#include "AcpiLib.h"
#include "FchCommonCfg.h"
#include "Fch.h"
@@ -510,75 +509,3 @@
{
((FCH_DATA_BLOCK*)FchDataPtr)->StdHeader->Func = 0;
}
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdSetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID* value,
- IN UINT32 size
- )
-{
- AGESA_STATUS status = AGESA_UNSUPPORTED;
-
- MODULE_ENTRY Dispatcher = NULL;
- const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier);
-
- AMD_ACCESSOR_PARAMS AccessorParams = {};
-
- if (!module) return status;
- Dispatcher = module->ModuleDispatcher;
-
- AccessorParams.StdHeader.AltImageBasePtr = 0;
- AccessorParams.StdHeader.CalloutPtr = NULL;
- AccessorParams.StdHeader.Func = AMD_SET_VALUE;
- AccessorParams.StdHeader.ImageBasePtr = 0;
-
- AccessorParams.AllocationMethod = ByHost;
- AccessorParams.FieldName = name;
- AccessorParams.FieldValue = value;
- AccessorParams.FieldSize = size;
-
- status = Dispatcher(&AccessorParams);
- return status;
-}
-
-/**********************************************************************
- * Interface call: AmdGetValue
- **********************************************************************/
-AGESA_STATUS
-AmdGetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID** value,
- IN UINT32 size
- )
-{
- AGESA_STATUS status = AGESA_UNSUPPORTED;
-
- MODULE_ENTRY Dispatcher = NULL;
- const AMD_MODULE_HEADER* module = agesawrapper_locate_module(ModuleIdentifier);
-
- AMD_ACCESSOR_PARAMS AccessorParams = {};
-
- if (!module) return status;
- Dispatcher = module->ModuleDispatcher;
-
- AccessorParams.StdHeader.AltImageBasePtr = 0;
- AccessorParams.StdHeader.CalloutPtr = NULL;
- AccessorParams.StdHeader.Func = AMD_GET_VALUE;
- AccessorParams.StdHeader.ImageBasePtr = 0;
-
- AccessorParams.AllocationMethod = ByHost;
- AccessorParams.FieldName = name;
- AccessorParams.FieldValue = *value;
- AccessorParams.FieldSize = size;
-
- status = Dispatcher(&AccessorParams);
-
- *value = AccessorParams.FieldValue;
- size = AccessorParams.FieldSize;
-
- return status;
-}
diff --git a/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h b/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h
deleted file mode 100644
index d50e8fc..0000000
--- a/src/vendorcode/amd/pi/00730F01/binaryPI/FieldAccessors.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (c) 2014, Sage Electronic Engineering, LLC
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-#ifndef _FIELDACCESSORS_H_
-#define _FIELDACCESSORS_H_
-
-#include "AGESA.h"
-
-/// AGESA value name
-typedef enum {
- AMD_GLOBAL_USER_OPTIONS = 0x00020000,
- AMD_GLOBAL_NUM_SOCKETS = 0x00020001,
- AMD_GLOBAL_NUM_MODULES = 0x00020002,
-} AGESA_FIELD_NAME;
-
-typedef AGESA_STATUS (*SETTER_ENTRY) (
- IN OUT VOID* value,
- IN UINT32 size
- );
-
-typedef AGESA_STATUS (*GETTER_ENTRY) (
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-/// Accessor Interface.
-typedef struct {
- IN AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration header
- IN AGESA_FIELD_NAME FieldName; ///< The service to init
- IN ALLOCATION_METHOD AllocationMethod; ///< For pointers, how to allocate space for copied data
- IN OUT VOID *Struct; ///< The struct for the service.
- IN OUT UINT32 FieldSize; ///< The size of the data value.
- IN OUT VOID *FieldValue; ///< The value retrieved or set into the target structure.
-} AMD_ACCESSOR_PARAMS;
-
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdGetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-/**********************************************************************
- * Interface call: AmdSetValue
- **********************************************************************/
-AGESA_STATUS
-AmdSetValue (
- IN CONST AGESA_FIELD_NAME name,
- IN OUT VOID* value,
- IN UINT32 size
- );
-
-/**
- * Dispatch Table.
- *
- * The push high dispatcher uses this table to find what entries are currently in the build image.
- */
-typedef struct {
- UINT32 FunctionId;
- SETTER_ENTRY SetValueEntryPoint;
- GETTER_ENTRY GetValueEntryPoint;
-} ACCESSOR_DISPATCH_TABLE;
-
-AGESA_STATUS
-GetUserOptions(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-AGESA_STATUS
-GetNumSockets(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-AGESA_STATUS
-GetNumModules(
- IN OUT VOID** value,
- IN UINT32 size
- );
-
-#endif /* _FIELDACCESSORS_H_ */
--
To view, visit https://review.coreboot.org/c/coreboot/+/37174
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I59d0c450583b2ff58031c127aae881d1f3799338
Gerrit-Change-Number: 37174
Gerrit-PatchSet: 1
Gerrit-Owner: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-MessageType: newchange
Tim Wawrzynczak has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37025 )
Change subject: hatch: Enable EC sync in romstage
......................................................................
hatch: Enable EC sync in romstage
Now that the EC software sync in romstage ("early EC sync") patches
have landed, it's time to enable this for Hatch.
BUG=none
BRANCH=hatch
TEST=verify EC sync runs in romstage
Change-Id: Ie567ab081b95b2302b051812fbf46e183c76bab6
Signed-off-by: Tim Wawrzynczak <twawrzynczak(a)chromium.org>
---
M src/mainboard/google/hatch/Kconfig
1 file changed, 1 insertion(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/25/37025/1
diff --git a/src/mainboard/google/hatch/Kconfig b/src/mainboard/google/hatch/Kconfig
index 943ec61..19319d2 100644
--- a/src/mainboard/google/hatch/Kconfig
+++ b/src/mainboard/google/hatch/Kconfig
@@ -22,6 +22,7 @@
select MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
select SOC_INTEL_COMETLAKE
select SYSTEM_TYPE_LAPTOP
+ select VBOOT_EARLY_EC_SYNC
if BOARD_GOOGLE_BASEBOARD_HATCH
--
To view, visit https://review.coreboot.org/c/coreboot/+/37025
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie567ab081b95b2302b051812fbf46e183c76bab6
Gerrit-Change-Number: 37025
Gerrit-PatchSet: 1
Gerrit-Owner: Tim Wawrzynczak <twawrzynczak(a)chromium.org>
Gerrit-MessageType: newchange