[PATCH] common: fix regression on block cache init
Angelo Dureghello
angelo.dureghello at timesys.com
Tue Feb 18 13:57:44 CET 2020
Hi Simon,
sorry for the late reply,
startup assembly code that is actually accessing (re-adjusting) "got" after
relocation is in :
microblaze
m68k
I cannot test microblaze stuff btw.
Regards,
Angelo
On Mon, Jan 27, 2020 at 9:21 AM Simon Goldschmidt
<simon.k.r.goldschmidt at gmail.com> wrote:
>
> On Sun, Jan 26, 2020 at 7:30 PM Angelo Dureghello
> <angelo.dureghello at timesys.com> wrote:
> >
> > From: Angelo Durgehello <angelo.dureghello at timesys.com>
> >
> > m68k needs block cache list initialized after relocation.
> > Other architectures must not be involved.
> >
> > Fixing regression related to:
> >
> > commit 1526bcce0f7285087621e16e6720636d01839da8
> > ("common: add blkcache init")
> >
> > Signed-off-by: Angelo Durgehello <angelo.dureghello at timesys.com>
> > ---
> > common/board_r.c | 2 +-
> > drivers/block/blkcache.c | 6 ++++++
> > 2 files changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/common/board_r.c b/common/board_r.c
> > index 4f56c19fcc..0bbeaa7594 100644
> > --- a/common/board_r.c
> > +++ b/common/board_r.c
> > @@ -865,7 +865,7 @@ static init_fnc_t init_sequence_r[] = {
> > #if defined(CONFIG_PRAM)
> > initr_mem,
> > #endif
> > -#ifdef CONFIG_BLOCK_CACHE
> > +#if defined(CONFIG_M68K) && defined(CONFIG_BLOCK_CACHE)
>
> Sorry for not reacting earlier here, but is this really M68K specific?
> Or would COFIG_NEES_MANUAL_RELOC be a better fit?
>
> Regards,
> Simon
>
> > blkcache_init,
> > #endif
> > run_main_loop,
> > diff --git a/drivers/block/blkcache.c b/drivers/block/blkcache.c
> > index f603aa129d..ea40929e3e 100644
> > --- a/drivers/block/blkcache.c
> > +++ b/drivers/block/blkcache.c
> > @@ -21,19 +21,25 @@ struct block_cache_node {
> > char *cache;
> > };
> >
> > +#ifndef CONFIG_M68K
> > +static LIST_HEAD(block_cache);
> > +#else
> > static struct list_head block_cache;
> > +#endif
> >
> > static struct block_cache_stats _stats = {
> > .max_blocks_per_entry = 8,
> > .max_entries = 32
> > };
> >
> > +#ifdef CONFIG_M68K
> > int blkcache_init(void)
> > {
> > INIT_LIST_HEAD(&block_cache);
> >
> > return 0;
> > }
> > +#endif
> >
> > static struct block_cache_node *cache_find(int iftype, int devnum,
> > lbaint_t start, lbaint_t blkcnt,
> > --
> > 2.24.1
> >
--
Angelo Dureghello
Timesys
e. angelo.dureghello at timesys.com
More information about the U-Boot
mailing list