Commit graph

4048 commits

Author SHA1 Message Date
Elyes Haouas
49af63b8a1 nb/intel/gm45: Specify supported memory types
Change-Id: I3a3a45a1a36ea6ad0b8fb2d3ee78add0b38460ac
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68997
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-11-04 00:55:12 +00:00
Elyes Haouas
e845753ce4 nb/intel/i945: Specify supported memory type
Change-Id: I3cc2a9786dfb1f8fb1ec8e78bde7c46c07f8da48
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68996
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-11-04 00:54:52 +00:00
Angel Pons
6397687940 nb/intel/gm45: Make polling loops more explicit
Replace `while (...);` with `do {} while (...);` so that it's easier to
distinguish polling loops from something else, like function calls. The
`{}` can be understood as "nothing", so that the construct is naturally
read as "do nothing while (...)".

Another reason to prefer this method is that Jenkins does not complain.

Change-Id: Ifbf3cf072f8b817b2fdeece4ef89bae0822bb6e6
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69077
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-11-03 02:01:14 +00:00
Elyes Haouas
901566597e nb/intel/i945/raminit: Use 'bool' for do_reset
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I692b86bba28853186185846f63dad1dcbfce1eea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68217
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-22 05:14:35 +00:00
Elyes Haouas
d9dade3cb9 nb/intel/i945/raminit: Use 'bool' for clkcfg_bit7
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ia87fbbeb9ecb57ee2f4879404cbae5403de9bfc7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68216
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-22 05:14:11 +00:00
Elyes Haouas
26fc2a40ae nb/intel/i945/raminit: Use 'size_t' for banksize[]
Change-Id: I4fb845bb4145d47aea39d7e5493d854d00e289aa
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68213
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-22 05:12:22 +00:00
Elyes Haouas
4c0299fbc8 nb/x4x/dq_dqs.c: Use 'enum cb_err'
Change-Id: I94dd6b1bb81bbc38ac5f89469b3ed7c83ca2a498
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68579
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-21 14:35:26 +00:00
Elyes Haouas
6f9786bbcc nb/intel/x4x/raminit.c: Use 'enum cb_err'
Change-Id: I22d7e724e69b41c9fabdef785276dc428be2b400
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68558
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-21 14:32:40 +00:00
Elyes Haouas
60bdb327c6 nb/intel/i945/rcven.c: Use read32p()
Tested on unsupported mainboard (945g-m4).

Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I1935308cc50abd651b52d6290d66180905c6a521
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68087
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
2022-10-21 14:30:01 +00:00
Elyes Haouas
72c2e11beb nb/intel/i945/i945.h: Drop useless guard
i945.h file is not used to generate asl files.

Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I93bf96f8a86a2652a88f3a129ec197048dd914a4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68215
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-20 19:39:53 +00:00
Elyes Haouas
1a847a11be nb/intel/i945: Clean up includes
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I0e5f102d75647c9c184cb7422af30c9196503882
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68211
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-20 17:29:48 +00:00
Elyes Haouas
4944609bd0 intel/i945: Use 'bool' for dual_channel and interleaved
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I055847c9b08795683fe2e1dfd7fcde49901fc973
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67925
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-20 17:29:15 +00:00
Arthur Heymans
d0b2aa1c5d nb/amd/agesa/fam16kb: Remove dead code
Setting up HT resource seems to be copied from the old native family10
code. It is however not used as no device has a child device below 18.0
in any of the fam15tn board device trees.

Setting up HT resources is therefore done by AGESA and resource
allocation mostly happens to work.

Change-Id: I7edf19f71095fb38161f19d511997cdc2fe0d76c
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68412
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-17 13:48:00 +00:00
Arthur Heymans
6fa6e11d78 nb/amd/agesa/fam15tn: Remove dead code
Setting up HT resource seems to be copied from the old native family10
code. It is however not used as no device has a child device below 18.0
in any of the fam15tn board device trees.

Setting up HT resources is therefore done by AGESA and resource
allocation mostly happens to work.

Change-Id: Id95e2dec4a6f3e70234fff1df67ee61e08731400
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68411
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-17 13:47:48 +00:00
Elyes Haouas
d6b6b22616 payloads,src: Replace ALIGN(x, a) by ALIGN_UP(x, a) for clarity
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I80f3d2c90c58daa62651f6fd635c043b1ce38b84
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68255
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-10-13 19:14:57 +00:00
Paul Menzel
8917ab4346 nb/intel/i945/raminit: Include inttypes.h for PRIxPTR
Selecting *Output verbose RAM init debug messages*
(`CONFIG_DEBUG_RAM_SETUP=y`) the build fails due to the missing header.

        CC         romstage/northbridge/intel/i945/raminit.o
    src/northbridge/intel/i945/raminit.c: In function 'ram_read32':
    src/northbridge/intel/i945/raminit.c:77:39: error: expected ')' before 'PRIxPTR'
       77 |         PRINTK_DEBUG("   RAM read: %" PRIxPTR "\n", offset);
          |                                       ^~~~~~~
    src/northbridge/intel/i945/raminit.c:25:52: note: in definition of macro 'PRINTK_DEBUG'
       25 | #define PRINTK_DEBUG(x...)      printk(BIOS_DEBUG, x)
          |                                                    ^
    src/northbridge/intel/i945/raminit.c:22:1: note: 'PRIxPTR' is defined in header '<inttypes.h>'; did you forget to '#include <inttypes.h>'?
       21 | #include "chip.h"
      +++ |+#include <inttypes.h>
       22 |
    src/northbridge/intel/i945/raminit.c:25:39: note: to match this '('
       25 | #define PRINTK_DEBUG(x...)      printk(BIOS_DEBUG, x)
          |                                       ^
    src/northbridge/intel/i945/raminit.c:77:9: note: in expansion of macro 'PRINTK_DEBUG'
       77 |         PRINTK_DEBUG("   RAM read: %" PRIxPTR "\n", offset);
          |         ^~~~~~~~~~~~
    src/northbridge/intel/i945/raminit.c:77:22: error: spurious trailing '%' in format [-Werror=format=]
       77 |         PRINTK_DEBUG("   RAM read: %" PRIxPTR "\n", offset);
          |                      ^~~~~~~~~~~~~~~~
    src/northbridge/intel/i945/raminit.c:25:52: note: in definition of macro 'PRINTK_DEBUG'
       25 | #define PRINTK_DEBUG(x...)      printk(BIOS_DEBUG, x)
          |                                                    ^
    src/northbridge/intel/i945/raminit.c:77:36: note: format string is defined here
       77 |         PRINTK_DEBUG("   RAM read: %" PRIxPTR "\n", offset);
          |                                    ^

Include `inttypes.h` to fix it.

Fixes: e8bb6d2b16 ("Output verbose RAM init debug messages")
Change-Id: If3851ec899d4c7ce5fd64542827f9e0eb546d68b
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68265
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-10-12 13:05:19 +00:00
Elyes Haouas
e8bb6d2b16 nb/intel/i945/raminit.c: Fix formatted print
Change-Id: I7122988a1c88175a2e72c11bb95bfa434ce48ff2
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68104
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-10 21:52:16 +00:00
Fabio Aiuto
61ed4ef5d5 treewide: use predicate to check if pci device is on n-th bus
use function to check if pci device is on a particular bus
number.

TEST: compiled and qemu run successfully

Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
Change-Id: I4a3e96381c29056de71953ea2c39cd540f3df191
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68103
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-06 18:35:03 +00:00
Elyes Haouas
072c99a0df nb/intel/i945/memmap.c: Clean up includes
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ie5d7d1dd446428d12a2f904545682e8fb9cd82f9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68050
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2022-10-06 18:13:05 +00:00
Elyes Haouas
7132b62413 nb/intel/i945/rcven.c: Sort includes and add <types.h>
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I360e4f8ed3b87225a09c7cbb761c570a579771cf
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68045
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2022-10-06 17:01:25 +00:00
Elyes Haouas
4114fdc9a8 nb/intel/i945/raminit.c: Clean up includes and add <types.h>
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I94a81a30950cca6be5ba36a25f8bc6f87c2aad2f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68044
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2022-10-06 17:01:15 +00:00
Elyes Haouas
712c70b357 nb/intel/i945/raminit.c: Use read32p()
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ic0361e5d928c24cfe7dc0a8b0385fbe73d906b15
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62365
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Petr Cvek <petrcvekcz@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-29 13:41:46 +00:00
Arthur Heymans
44807acaef soc/amd/common: Add common function to get cpu count
This is the same for all supported AMD hardware.

Change-Id: Ic6b954308dbb4c5a2050f1eb8f15acb41d0b81bd
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67617
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2022-09-14 20:28:37 +00:00
Elyes Haouas
5e6b0f0cac nb/intel: Use "if (!ptr)" in preference to "if (ptr == NULL)"
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I6d0d945011fa046b974c6f4554cb9fb15e523afb
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67578
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-09-14 12:01:24 +00:00
Arthur Heymans
1233c43a98 nb/intel/sandybridge: Align TOUUD down to 1 MiB granularity
This register has a 1MiB granularity. The lowest bit is a lock bit.

Change-Id: I688cb7818fc849784026ca0bc6acb7ef1ae92133
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66256
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-08-26 14:20:26 +00:00
Angel Pons
c826ba419f commonlib/clamp.h: Relicense file to be BSD-compatible
I added this header in commit a6c8b4becb
(nb/intel/sandybridge: Rewrite get_FRQ). Relicense it as "BSD-3-Clause
OR GPL-2.0-or-later" and move it into the BSD-licensed commonlib part.

Change-Id: I89ebdcdf8d06e78e624e37a443696981b3b17b7d
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66711
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-08-17 19:49:13 +00:00
Elyes Haouas
f9b535eecf nb/amd: Fix some white spaces issues
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: If8b2db7ff816b9953e9bb767f0f406417e297386
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65899
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-07-17 21:57:31 +00:00
Elyes Haouas
693f7c10bf nb/amd/*/*/pci_devs.h: Fix some white spaces issues
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I9261c89b8a15f1ea2f5883481a1cdb7fc8664bb0
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65893
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-07-17 21:52:28 +00:00
Elyes Haouas
f63edd98a6 nb/amd/agesa/*/dimmSpd.c: Fix some white spaces issues
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Icfd36e0ee524e0e2dc1dd6b0ee39a5c1ae31f4ea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65892
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-07-17 21:45:20 +00:00
Elyes Haouas
3adfde9c6a nb/amd/agesa/*/northbridge.c: Fix some white spaces issues
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: If7cac72e0bbdefdb4b6e2697df69a061a23e8684
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65891
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-07-17 21:43:14 +00:00
Elyes Haouas
f58c787db5 nb/amd/agesa/*/acpi_tables.c: Fix some white spaces issues
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: Ia92acfa006ae44fc2969a92b4b21a2c27e0f01be
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65890
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-07-17 21:42:45 +00:00
Elyes Haouas
24f4e97dd4 nb/intel/sandybridge/raminit_mrc.c: Use semicolon instead of comma
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Change-Id: I15d7e2f30b054d14009761006a2f89f45e001118
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65838
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-07-17 21:34:52 +00:00
Petr Cvek
e75bb01efa northbridge/intel/i945: Fix GCC optimizing out cache preload jump
Clock config setup must be run from cache. Original code used "goto"
to prefetch the code required to update the VCO (by jumping after
the code and back before). The GCC since at least 12.1.0 and clang
since at least 13.0.1 will elimitate these jumps.

Use inline assembler to force the original code flow.

TEST=Verified assembly code is the same as generated by GCC 12.1.0
and boot tested on Kontron 986LCD-M.

Signed-off-by: Petr Cvek <petrcvekcz@gmail.com>
Change-Id: I67c2072b5983a5bd845631af136ae5a003c7ea3c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65174
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-07-14 12:51:12 +00:00
Kyösti Mälkki
0a18d64d00 nb,soc/intel: Handle upper RAM boundary
Change-Id: I2d99523647dfb43265db8f2701b525afd1870fc5
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55929
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-07-05 13:08:34 +00:00
Kyösti Mälkki
8ee11b3e09 nb/intel: Drop local legacy_hole definitions
These are architectural and followup works will address
the VGA MMIO and/or ASEG better.

Change-Id: I88e1dca8058661e31ba934b9860751e13a107108
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55928
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-30 16:39:56 +00:00
Kyösti Mälkki
4e4edf7d60 device/resource: Modify some resource allocation instances
These changes made my crude pattern matching work with
coccinelle simpler.

Change-Id: I83f3ef38b8663640594b4d726838f7a6f96a58a2
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64698
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2022-06-24 19:51:12 +00:00
Nico Huber
2a167ffbbf nb/intel/gm45/acpi: Fix max PCI bus number
Commit 0cc56a2848 (nb/intel/gm45/dsdt: Fix number of PCI busses) derives
the maximum PCI bus number at runtime. However, IASL complains about the
initial 0 in the resource template, which rendered the PB00 definition
self-contradictory at build time (maximum was lower than minimum +
length - 1).

Let's return to the old default values (min: 0, max: 255, length: 256)
and adapt max and length at runtime. Also fix some surrounding whites-
pace.

NB. The issue wasn't detected before merging commit 0cc56a2848 because
of broken IASL versions that can't count errors.

Change-Id: I359d357f276feda8fe04383080d51dc492c3f2e8
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64347
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Stefan Ott <coreboot@desire.ch>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-24 16:28:33 +00:00
Kyösti Mälkki
27d6299d51 device/resource: Add _kb postfix for resource allocators
There is a lot of going back-and-forth with the KiB arguments, start
the work to migrate away from this.

Change-Id: I329864d36137e9a99b5640f4f504c45a02060a40
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64658
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-22 12:30:15 +00:00
Petr Cvek
d6fb425ca6 intel/gma: Use bitwise or instead addition for valid bit
Page table entries bit 0 is used as "valid". Its value should be set
by a bitwise OR and not by an addition.

Signed-off-by: Petr Cvek <petrcvekcz@gmail.com>
Change-Id: I14467081c8279af4611007a25aefab606c61a058
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65172
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-06-20 12:02:05 +00:00
Arthur Heymans
750d57ff5d drivers/amd/agesa: Don't save regular boot MTRR to flash
Save the regular boot MTRRs that are restored on the S3 path during
the CPU init in cbmem instead of storing them to the SPI flash.

This was probably done because historically this code run with late
cbmem init (in ramstage).

TESTED on pcengines/apu1 and lenovo/g505s: S3 resume works fine.

Change-Id: Ia58e7cd1afb785ba0c379ba75ef6090b56cb9dc6
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44294
Reviewed-by: Mike Banon <mikebdp2@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2022-06-06 08:57:09 +00:00
Arthur Heymans
46e93f91af nb/intel/i440bx: Use PARALLEL_MP
The ramstage size is decreased by roughly 5K, but the compressed size
increased by ~1K.

Change-Id: Ic8d2582b353069eecea8561cfe01b2dd8221779b
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59693
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-06-02 05:49:15 +00:00
Arthur Heymans
9e9dccb89f arch/x86/car.ld: Remove AGESA linker warning workaround
Now that all AGESA codebases have been fixed to not use the .data
section, the warning workaround can be disabled.

Change-Id: I675d169a5d2f16e1e9ae05f95e045e9ef3d12208
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64401
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-28 04:20:33 +00:00
Arthur Heymans
b80de180c2 vendorcode/amd/agesa/fam16kb: Fix improper use of .data
AGESA has a lot of code in the .data section which is for initialized
data, that in fact should be .rodata. This adds the 'CONST' keyword
everywhere it is needed.

TEST: See in the .elf file (e.g. using readelf) that there is nothing in
.data section.

Change-Id: Ie8817434ee0bc6c195eabe090f195512c0043ae5
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64400
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-05-28 04:19:20 +00:00
Arthur Heymans
704ccafb39 vendorcode/amd/agesa/f14: Fix improper use of .data
AGESA has a lot of code in the .data section which is for initialized
data, that in fact should be .rodata. This adds the 'CONST' keyword
everywhere it is needed.

TEST: See in the .elf file (e.g. using readelf) that there is nothing in
.data section.

Change-Id: I657d09f05070f5a88a4a162872c961db869a8df3
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64399
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-05-28 04:18:19 +00:00
Arthur Heymans
8d3640d226 vendorcode/amd/agesa/f15tn: Fix all improper use of .data
AGESA has a lot of code in the .data section which is for initialized
data, that in fact should be .rodata. This adds the 'CONST' keyword
everywhere it is needed.

TEST: See in the .elf file (e.g. using readelf) that there is nothing in
.data section.

Change-Id: I9593c24f764319f66a64715d91175f64edf10608
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64386
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-05-28 04:17:47 +00:00
Kyösti Mälkki
c1d4d0b0ea nb/intel/i945,gm45: Use incrementing index with fixed resource
Do this for consistency, while followup will remove the index
completely.

Change-Id: I7b4822c3909801e91627ed2ffe776d65dfab08d5
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55927
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2022-05-24 14:52:12 +00:00
Arthur Heymans
cd259cb08a arch/x86/car.ld: Add a Kconfig param to flag AGESA brokenness
AGESA has a lot of code in the .data section (initialized data). However
there is no such section in CAR stages as the code runs in XIP mode and
CAR is too small to contain the data section. When the linker can not
match code to a section it will just append it, which is why AGESA
worked at all.

Follow-up patches will attempt to fix AGESA and set Kconfig parameter to
'n'. After all AGESA sources have been fixed, this can be removed.

Change-Id: I311ee17e3c0bd283692194fcee63af4449583d74
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64387
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
2022-05-19 11:07:35 +00:00
Arthur Heymans
4e619b2c5c drivers/amd/agesa: Use prepare_and_run_postcar
This removes some of the postcar setup boilerplate.

Change-Id: I4f8f92b88ac16dd70ff4878dfc14e676386d4703
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61962
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2022-05-16 07:05:30 +00:00
Elyes HAOUAS
dd75aaf3f5 northbridge/intel/i945: Convert to ASL 2.0
Change-Id: Iea9630ce7e5bfcc9d1c8699a81bd1c61a0705de8
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61240
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-16 02:55:28 +00:00
Elyes Haouas
db735c478e src: Remove unused <cf9_reset.h>
Found using:
diff <(git grep -l '#include <cf9_reset.h>' -- src/) <(git grep -l 'RST_CNT\|FULL_RST\|RST_CPU\|SYS_RST\|do_system_reset\|do_full_reset\|cf9_reset_prepare\|system_reset\|full_reset' -- src/) |grep "<"

Change-Id: I093d8412e14ce81b462fb9a7ccb3a2a93ae760a6
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/60803
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@tutanota.com>
2022-05-16 02:40:14 +00:00