nb/intel/sandybridge: Do not define tables in a header
Header files are supposed to not make allocations from .bss. Builds fail if said file is included multiple times. To prevent this from happening, move the definitions to a C file. Also, rename raminit_patterns to raminit_tables. This is because more tables that are not patterns will be added here in subsequent changes. Tested on Asus P8Z77-V LX2, still boots fine. Change-Id: If8e3a285ecdc4df9e978ae156be915ced6e1750b Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39754 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
0e47ad6d2c
commit
7f6586ff78
|
@ -36,6 +36,7 @@ romstage-y += raminit.c
|
||||||
romstage-y += raminit_common.c
|
romstage-y += raminit_common.c
|
||||||
romstage-y += raminit_sandy.c
|
romstage-y += raminit_sandy.c
|
||||||
romstage-y += raminit_ivy.c
|
romstage-y += raminit_ivy.c
|
||||||
|
romstage-y += raminit_tables.c
|
||||||
romstage-y += ../../../device/dram/ddr3.c
|
romstage-y += ../../../device/dram/ddr3.c
|
||||||
else
|
else
|
||||||
romstage-y += raminit_mrc.c
|
romstage-y += raminit_mrc.c
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
#include "raminit_native.h"
|
#include "raminit_native.h"
|
||||||
#include "raminit_common.h"
|
#include "raminit_common.h"
|
||||||
|
#include "raminit_tables.h"
|
||||||
#include "sandybridge.h"
|
#include "sandybridge.h"
|
||||||
|
|
||||||
/* FIXME: no ECC support */
|
/* FIXME: no ECC support */
|
||||||
|
@ -2100,8 +2101,6 @@ static int test_320c(ramctr_timing *ctrl, int channel, int slotrank)
|
||||||
return lanes_ok != ((1 << NUM_LANES) - 1);
|
return lanes_ok != ((1 << NUM_LANES) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "raminit_patterns.h"
|
|
||||||
|
|
||||||
static void fill_pattern5(ramctr_timing *ctrl, int channel, int patno)
|
static void fill_pattern5(ramctr_timing *ctrl, int channel, int patno)
|
||||||
{
|
{
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
|
@ -1,18 +1,7 @@
|
||||||
/*
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
* This file is part of the coreboot project.
|
/* This file is part of the coreboot project. */
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SANDYBRIDGE_RAMINIT_PATTERNS_H
|
#include "raminit_tables.h"
|
||||||
#define SANDYBRIDGE_RAMINIT_PATTERNS_H
|
|
||||||
|
|
||||||
const u32 pattern[32][16] = {
|
const u32 pattern[32][16] = {
|
||||||
{0x00000000, 0x00000000, 0xffffffff, 0xffffffff,
|
{0x00000000, 0x00000000, 0xffffffff, 0xffffffff,
|
||||||
|
@ -654,5 +643,3 @@ const u8 invert[63][32] = {
|
||||||
0x88, 0xa4, 0x1c, 0xea, 0x11, 0x8c, 0xfb, 0xbe,
|
0x88, 0xa4, 0x1c, 0xea, 0x11, 0x8c, 0xfb, 0xbe,
|
||||||
0x70, 0x62, 0xec, 0x4e, 0x00, 0x56, 0x0e, 0xa9},
|
0x70, 0x62, 0xec, 0x4e, 0x00, 0x56, 0x0e, 0xa9},
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SANDYBRIDGE_RAMINIT_PATTERNS_H */
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
/* This file is part of the coreboot project. */
|
||||||
|
|
||||||
|
#ifndef RAMINIT_TABLES_H
|
||||||
|
#define RAMINIT_TABLES_H
|
||||||
|
|
||||||
|
#include <types.h>
|
||||||
|
|
||||||
|
extern const u32 pattern[32][16];
|
||||||
|
|
||||||
|
extern const u8 use_base[63][32];
|
||||||
|
|
||||||
|
extern const u8 invert[63][32];
|
||||||
|
|
||||||
|
#endif /* RAMINIT_TABLES_H */
|
Loading…
Reference in New Issue