Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2711
-gerrit
commit db7c2e529785f46163c57b824e9f31fa59c697bb
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Fri Dec 14 17:11:20 2012 -0600
x86: Add alignment requirement for cbfs microcode
There is a requirement that microcode updates be aligned
on a 16 byte boundary. Inform cbfstool to align the microcode
blob in cbfs to a 16-byte boundary.
Noted that when alignment requirement is added the microcode
is properly aligned.
Change-Id: I84edb8ae98ab06858228e0ccba9e914131a14379
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/cpu/Makefile.inc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
index b48a803..09ca2eb 100644
--- a/src/cpu/Makefile.inc
+++ b/src/cpu/Makefile.inc
@@ -16,12 +16,14 @@ ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL), y)
cbfs-files-y += cpu_microcode_blob.bin
cpu_microcode_blob.bin-type = 0x53
cpu_microcode_blob.bin-file = $(call strip_quotes,$(CONFIG_CPU_MICROCODE_FILE))
+cpu_microcode_blob.bin-position = 0x10
endif
ifeq ($(CONFIG_CPU_MICROCODE_CBFS_GENERATE), y)
cbfs-files-y += cpu_microcode_blob.bin
cpu_microcode_blob.bin-type = 0x53
cpu_microcode_blob.bin-file = $(obj)/cpu_microcode_blob.bin
+cpu_microcode_blob.bin-position = 0x10
endif
# In case we have more than one "source" (cough) files containing microcode, we
the following patch was just integrated into master:
commit ba949d32ba97d96422510967df33532dd39e47c0
Author: Ronald G. Minnich <rminnich(a)gmail.com>
Date: Wed Mar 13 13:42:55 2013 -0700
libpayload: Start using only internal and compiler headers.
When building other payloads with lpgcc the -nostdinc flag was injected into
CFLAGS, but when building libpayload itself some headers were being used from
the host system. This change puts -nostdinc into the Makefile and xcompile
script, fixes up one include path in include/inttypes.h, adds the compiler
provided include directory to the include search path, and deletes the two now
redundant stdint.h files.
BUG=None
TEST=With this and other changes, built libpayload and depthcharge for Daisy,
Link, and Fox.
BRANCH=None
Change-Id: Ia7817fceab5297cd82ccc0d392330de0df61980e
Signed-off-by: Gabe Black <gabeblack(a)google.com>
Signed-off-by: Ronald G. Minnich <rminnich(a)gmail.com>
Reviewed-on: http://review.coreboot.org/2710
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Build-Tested: build bot (Jenkins) at Wed Mar 13 21:59:46 2013, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer(a)coreboot.org> at Wed Mar 13 22:04:37 2013, giving +2
See http://review.coreboot.org/2710 for details.
-gerrit
Paul Menzel (paulepanter(a)users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2706
-gerrit
commit 58ba41f99ebfaba5094e772256d4287d31ecc3a8
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Wed Mar 13 11:12:56 2013 +0200
Intel i82801gx, bd82x6x: Enable PCI-to-PCI bridge
Once the PCI command register is written the bridge forwards
future IO and memory regions, as programmed in the respective base
and limit registers, to the secondary PCI bus.
Since the LPC function claims the resources for IOAPIC, ROM and
low IO (0x0-0xfff) in its read_resources() call, the PCI-to-PCI
configuration will not overlap those regions and does not hide
the resources mentioned in the original comment.
The bridge was disable in the following commit [1]
commit a8e1168064b34b46494b58480411a11bc98340f6
Author: Stefan Reinauer <stepan(a)coresystems.de>
Date: Wed Mar 11 14:54:18 2009 +0000
This patch contains some significant updates to the i82801gx component and will
be required for a series of later patches. Roughly it contains:
but unfortunately it was not noted which system this caused
problems with.
[1] http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=a8e1168064b34b4…
Change-Id: I75128d83a344f4a0e09a3ea623c7f92a016ebfb9
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
src/southbridge/intel/bd82x6x/pci.c | 9 ---------
src/southbridge/intel/i82801gx/pci.c | 9 ---------
2 files changed, 18 deletions(-)
diff --git a/src/southbridge/intel/bd82x6x/pci.c b/src/southbridge/intel/bd82x6x/pci.c
index 306e7d5..0f5f3f6 100644
--- a/src/southbridge/intel/bd82x6x/pci.c
+++ b/src/southbridge/intel/bd82x6x/pci.c
@@ -63,7 +63,6 @@ static void pci_init(struct device *dev)
pci_write_config16(dev, SECSTS, reg16);
}
-#undef PCI_BRIDGE_UPDATE_COMMAND
static void ich_pci_dev_enable_resources(struct device *dev)
{
const struct pci_operations *ops;
@@ -83,16 +82,8 @@ static void ich_pci_dev_enable_resources(struct device *dev)
command = pci_read_config16(dev, PCI_COMMAND);
command |= dev->command;
-#ifdef PCI_BRIDGE_UPDATE_COMMAND
- /* If we write to PCI_COMMAND, on some systems
- * this will cause the ROM and APICs not being visible
- * anymore.
- */
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
pci_write_config16(dev, PCI_COMMAND, command);
-#else
- printk(BIOS_DEBUG, "%s cmd <- %02x (NOT WRITTEN!)\n", dev_path(dev), command);
-#endif
}
static void ich_pci_bus_enable_resources(struct device *dev)
diff --git a/src/southbridge/intel/i82801gx/pci.c b/src/southbridge/intel/i82801gx/pci.c
index 0f372e7..5a21b21 100644
--- a/src/southbridge/intel/i82801gx/pci.c
+++ b/src/southbridge/intel/i82801gx/pci.c
@@ -62,7 +62,6 @@ static void pci_init(struct device *dev)
pci_write_config16(dev, SECSTS, reg16);
}
-#undef PCI_BRIDGE_UPDATE_COMMAND
static void ich_pci_dev_enable_resources(struct device *dev)
{
const struct pci_operations *ops;
@@ -80,16 +79,8 @@ static void ich_pci_dev_enable_resources(struct device *dev)
command = pci_read_config16(dev, PCI_COMMAND);
command |= dev->command;
-#ifdef PCI_BRIDGE_UPDATE_COMMAND
- /* If we write to PCI_COMMAND, on some systems
- * this will cause the ROM and APICs not being visible
- * anymore.
- */
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
pci_write_config16(dev, PCI_COMMAND, command);
-#else
- printk(BIOS_DEBUG, "%s cmd <- %02x (NOT WRITTEN!)\n", dev_path(dev), command);
-#endif
}
static void ich_pci_bus_enable_resources(struct device *dev)
the following patch was just integrated into master:
commit 2def2625e0b49ea3ae85ae8b821979e5901c6638
Author: Gabe Black <gabeblack(a)google.com>
Date: Thu Jan 31 04:27:39 2013 -0800
libpayload: Add more parenthesis to the endian conversion macros
There weren't enough parenthesis in the macros so operations might only apply
to the last part of an expression passed in as an argument.
Change-Id: I5afb406f9409986e45bbbc598bcbd0dd8507ed35
Signed-off-by: Gabe Black <gabeblack(a)google.com>
Reviewed-on: http://review.coreboot.org/2665
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones(a)se-eng.com>
Build-Tested: build bot (Jenkins) at Tue Mar 12 22:20:48 2013, giving +1
See http://review.coreboot.org/2665 for details.
-gerrit
#190: Coreboot times out waiting waiting for P-State / Phenom XII 955
---------------------------------------------+-----------------------------
Reporter: "George Chriss' <gschriss@…> | Owner: stepan@…
Type: defect | Status: new
Priority: major | Milestone:
Component: coreboot | Keywords:
Dependencies: | Patch Status: there is no
| patch
---------------------------------------------+-----------------------------
Coreboot times out with the following on Gigabyte GA-MA785GMT-UD2H (rev.
1.1) + AMD Phenom XII 955 (HDZ955FBGIBOX) processor:
{{{
F3xDC[PstateMaxVal] is zero. Northbridge voltage setting will fail.
fixPsNbVidBeforeWR in fidvid.c needs fixing. See
*** Time out waiting for P-state 1. Current P-state 0 P-state current
limit MSRC001_0061=00
}}}
The same Coreboot rom will boot with a AMD Athlon II X2 245 processor.
Debug logs attached; it's an important fix and any patches welcome.
--
Ticket URL: <https://tracker.coreboot.org/trac/coreboot/ticket/190>
coreboot <http://www.coreboot.org/>
#189: Coreboot times out waiting waiting for P-State / Phenom XII 955
---------------------------------------------+-----------------------------
Reporter: "George Chriss' <gschriss@…> | Owner: stepan@…
Type: defect | Status: new
Priority: major | Milestone:
Component: coreboot | Keywords:
Dependencies: | Patch Status: there is no
| patch
---------------------------------------------+-----------------------------
Coreboot times out with the following on Gigabyte GA-MA785GMT-UD2H (rev.
1.1) + AMD Phenom XII 955 (HDZ955FBGIBOX) processor:
{{{
F3xDC[PstateMaxVal] is zero. Northbridge voltage setting will fail.
fixPsNbVidBeforeWR in fidvid.c needs fixing. See
*** Time out waiting for P-state 1. Current P-state 0 P-state current
limit MSRC001_0061=00
}}}
The same Coreboot rom will boot with a AMD Athlon II X2 245 processor.
Debug logs attached; it's an important fix and any patches welcome.
--
Ticket URL: <https://tracker.coreboot.org/trac/coreboot/ticket/189>
coreboot <http://www.coreboot.org/>
the following patch was just integrated into master:
commit b53a73ef7726ccbaea73cb560b6f72cdb166eb50
Author: Gabe Black <gabeblack(a)google.com>
Date: Mon Feb 11 20:43:45 2013 -0800
libpayload: Make the source for lzma decompression const
Change-Id: I9a16331dedc97f17af94bf2cf535a9c93d1729a0
Signed-off-by: Gabe Black <gabeblack(a)google.com>
Reviewed-on: http://review.coreboot.org/2667
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones(a)se-eng.com>
Reviewed-by: Patrick Georgi <patrick(a)georgi-clan.de>
Reviewed-By: Patrick Georgi <patrick(a)georgi-clan.de> at Wed Mar 13 18:16:35 2013, giving +2
See http://review.coreboot.org/2667 for details.
-gerrit
Mike Loptien (mike.loptien(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2684
-gerrit
commit fe487f638d781307de91c21178d96634407f669e
Author: Mike Loptien <mike.loptien(a)se-eng.com>
Date: Tue Mar 12 10:21:24 2013 -0600
Persimmon DSDT: Add OSC method
The _OSC method is used to tell the OS what capabilities
it can take control over from the firmware. This method
is described in chapter 6.2.9 of the ACPI spec v3.0.
The method takes 4 inputs (UUID, Rev ID, Input Count,
and Capabilities Buffer) and returns a Capabilites
Buffer the same size as the input Buffer. This Buffer
is generally 3 Dwords long consisting of an Errors
Dword, a Supported Capabilities Dword, and a Control
Dword. The OS will request control of certain
capabilities and the firmware must grant or deny control
of those features. We do not want to have control over
anything so let the OS control as much as it can.
The _OSC method is required for PCIe devices and dmesg
checks for its existence and issues an error if it is
not found. Before this change, dmesg gave this message:
pci0000:00: Requesting ACPI _OSC control (0x1d)
pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), returned control mask: 0x1d
ACPI _OSC control for PCIe not granted, disabling ASPM
After this change, dmesg looks like this:
pci0000:00: Requesting ACPI _OSC control (0x1d)
pci0000:00: ACPI _OSC control (0x1d) granted
Change-Id: I1494285def7440972f0549b7cb73eb94dafc72c2
Signed-off-by: Mike Loptien <mike.loptien(a)se-eng.com>
---
src/mainboard/amd/persimmon/dsdt.asl | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/amd/persimmon/dsdt.asl b/src/mainboard/amd/persimmon/dsdt.asl
index 148d7b0..d29bbff 100644
--- a/src/mainboard/amd/persimmon/dsdt.asl
+++ b/src/mainboard/amd/persimmon/dsdt.asl
@@ -1157,8 +1157,20 @@ DefinitionBlock (
Device(PCI0) {
External (TOM1)
External (TOM2)
- Name(_HID, EISAID("PNP0A03"))
+ Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
+ Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
+
+ /* Operating System Capabilities Method */
+ Method(_OSC, 4)
+ { /* Check for proper PCI/PCIe UUID */
+ If(LEqual(Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
+ {
+ /* Let OS control everything */
+ Return (Arg3)
+ }
+ }
+
Method(_BBN, 0) { /* Bus number = 0 */
Return(0)
}