diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2012-11-13 15:36:05 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-11-14 15:45:36 -0600 |
commit | 073d82a61ee7ce0ec4522c18ce92cd93537025db (patch) | |
tree | 382b3db4c6032fb83b2e1c7e9f50eb6c0507fb5b /src/include/kernel/misc.H | |
parent | f5fc4c94d84ed3a5263d4139cb09179a5722f382 (diff) | |
download | talos-hostboot-073d82a61ee7ce0ec4522c18ce92cd93537025db.tar.gz talos-hostboot-073d82a61ee7ce0ec4522c18ce92cd93537025db.zip |
Expand memory footprint to full 8MB cache.
If fake PNOR isn't being used, we can expand our memory space to
the full 8MB cache. There will be follow up work with RTC: 49137
to support 4MB degraded caches for bring-up.
Change-Id: I1248efa37965f39ebab62aae556349c34aa24b66
RTC: 47356
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2319
Tested-by: Jenkins Server
Reviewed-by: Melissa J. Connell <missyc@us.ibm.com>
Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/kernel/misc.H')
-rw-r--r-- | src/include/kernel/misc.H | 69 |
1 files changed, 46 insertions, 23 deletions
diff --git a/src/include/kernel/misc.H b/src/include/kernel/misc.H index c970c337e..5a818078e 100644 --- a/src/include/kernel/misc.H +++ b/src/include/kernel/misc.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/kernel/misc.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2011-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/kernel/misc.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ /** @file misc.H * @brief Misc. Kernel functions and utilities. */ @@ -88,5 +87,29 @@ namespace KernelMisc /** Current time-base value for restore after winkle. */ uint64_t iv_timebase; }; + + /** @fn expand_full_cache + * + * @brief Expands the image footprint from a half-cache to full-cache + * mode. + * + * @return 0 or -errno + */ + int expand_full_cache(); + + /** @fn populate_cache_lines + * + * @brief Populates a range of memory addresses into the cache via dcbz. + * + * This is meant to be used while the processor is in cache-contained + * mode. The entire cache line is zero'd so if the range is less then + * a cache-line, or starts misaligned, then more memory might be zero'd + * then would be expected. + * + * @param[in] i_start - Address to start dcbz at. + * @param[in] i_end - Address to stop dcbz at. + * (This address is not dcbz'd itself) + */ + void populate_cache_lines(uint64_t* i_start, uint64_t* i_end); }; #endif |