Patch Set 19:

Patch Set 19:

Patch Set 18:

Patch Set 18:

I can add more description in commit msg, will wait for Furquan's further review before new patchset.

Btw, i don't understand if i need to wait for Oct'19 to merge this changes ?

Definetly not. I can accept a commit renaming 'RELOCATABLE_RAMSTAGE' immediately after 4.10 release. That is, if there is agreement we want to rename it at all due to predicted removal in near future (if POSTCAR_STAGE=y becomes criteria in 2019).

I have added required details to know about RELOCATABLE_RAMSTAGE renaming

As mentioned before, my idea is to untangle stage cache from relocatable ramstage. But that doesn't mean we have to get rid of RELOCATABLE_RAMSTAGE or its uses. Hence I commented on your patchset #17 -- "This equates STAGE_CACHE with RELOCATABLE_STAGES/RELOCATABLE_RAMSTAGE. Is that really a good assumption to make?" I think RELOCATABLE_RAMSTAGE could just live as it is right now. That is what I had collected in my comment:

" 1. Define configs for location of stage cache i.e. EXTERNAL_STAGE_CACHE and CBMEM_STAGE_CACHE which are dependent only on STAGE_CACHE config and are mutually exclusive.

2. Since stage cache support is a property of the platform, it doesn't have to be dependent on things like relocatable ramstage i.e. Platform can have stage cache support (internal / external) independent of other properties. Thus, add appropriate stage_cache files depending upon EXTERNAL_STAGE_CACHE/CBMEM_STAGE_CACHE to romstage, postcar and ramstage. (Basically any stage that exists).

3. Romstage and ramstage can add refcode and postcar to stage cache dependent on the selection of STAGE_CACHE. stage_cache_* APIs will take care of adding those to the right location. Probably we can get rid of the weak functions for stage_cache_*.

4. Romstage or Postcar (if present) will add ramstage to stage cache only if RELOCATABLE_RAMSTAGE is selected and STAGE_CACHE is enabled by the platform. Location of stage cache will be taken care of by stage_cache_* APIs.

5. Finally stage_cache implementation in FSP should be moved to intel/common/block/ since it has nothing to do with the FSP itself."

Entire stage_cache concept exist today based on RELOCATABLE_RAMSTAGE config which is default enable if !NO_RELOCATABLE_RAMSTAGE. Specifically CB has include ext_stage_cache.c or cbmem_stage_cache.c based on RELOCATABLE_RAMSTAGE or CACHE_RELOCATED_OUTSIDE_CBMEM Kconfig ?

What we like to achieve is that, to create generic Kconfig as RELOCATABLE_STAGES and enable .rmod based on that, also enable stage_cache on based on additional Kconfig HAVE_EXT_STAGE_CACHE if its ext to cbmem.

RELOCATABLE_RAMSTAGE and RELOCATABLE_STAGES are going to be duplicate, isn't it ?

View Change

To view, visit change 33116. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I45e894ad335a4661cc7916b3768e1614a038b31c
Gerrit-Change-Number: 33116
Gerrit-PatchSet: 19
Gerrit-Owner: Subrata Banik <subrata.banik@intel.com>
Gerrit-Reviewer: Aaron Durbin <adurbin@chromium.org>
Gerrit-Reviewer: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-Reviewer: Damien Zammit
Gerrit-Reviewer: Furquan Shaikh <furquan@google.com>
Gerrit-Reviewer: Huang Jin <huang.jin@intel.com>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki@gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Gerrit-Reviewer: Subrata Banik <subrata.banik@intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-Reviewer: ron minnich <rminnich@gmail.com>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Comment-Date: Tue, 09 Jul 2019 02:24:45 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment