the following patch was just integrated into master:
commit 3c3e34d69fe4b185d4c0b698dfc6fcbf11b50dbb
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sat May 31 11:32:54 2014 +0300
i945: Use defines for DEVEN
Change-Id: I32461449354155510c0e14e9d0ce396068ea50d4
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/5890
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Idwer Vollering <vidwer(a)gmail.com>
See http://review.coreboot.org/5890 for details.
-gerrit
the following patch was just integrated into master:
commit 66f10b1a193b0c8cedbd32c2a83fc9e3b129648c
Author: Paul Menzel <paulepanter(a)users.sourceforge.net>
Date: Sun May 25 13:50:14 2014 +0200
northbridge/intel/i945/northbridge.c: Use define `TOLUD` instead of hardcoded value
Change-Id: I4739c5544aade105399347d239ba64f5115db397
Signed-off-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/5869
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/5869 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/5885
-gerrit
commit 9325f34e24c859120bee5e1d4c03f490d790cee0
Author: Paul Menzel <paulepanter(a)users.sourceforge.net>
Date: Fri May 30 14:27:32 2014 +0200
northbridge/intel/i945/raminit.c: Set register Base of Stolen Memory
Since Linux 3.12, the base address of stolen DRAM memory is read from
the register BSM (Base of Stolen Memory) [1]. This register [2] is
currently not set by coreboot and with native graphics init, this
causes crashes. The VGA BIOS/Option ROM sets this register and
therefore it still works with it.
So set this register and use a graphics stolen memory size of 64 MB.
This should be made run time configurable using NVRAM/CMOS.
The coding style from the file is used although it is not the official
one.
The datasheet says the bits of the BSM register are RO (Read Only), but
the datasheet is not intended for BIOS/firmware developers but for
operating system/driver developers.
[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=…
[2] http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/mobi…
Mobile Intel® 945 Express Chipset Family
Document Number: 309219-006
Change-Id: I9aab68374d95cf6883337261ddc59f6c3946e21e
Signed-off-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
---
src/northbridge/intel/i945/raminit.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/northbridge/intel/i945/raminit.c b/src/northbridge/intel/i945/raminit.c
index 885b49d..34ee4c4 100644
--- a/src/northbridge/intel/i945/raminit.c
+++ b/src/northbridge/intel/i945/raminit.c
@@ -1569,6 +1569,21 @@ static int sdram_program_row_boundaries(struct sys_info *sysinfo)
pci_write_config16(PCI_DEV(0,0,0), TOM, tom);
+ /*
+ * Set BSM (Base of Stolen Memory)
+ *
+ * Assume a size of 64MB and set the base address of stolen DRAM memory
+ * to TOLUD - size.
+ *
+ * TODO: This should be made run-time configurable with NVRAM/CMOS.
+ * The size can range from 1MB to 64MB.
+ */
+
+ printk(BIOS_DEBUG, "BSM (before) = 0x%08x\n", pci_read_config32(PCI_DEV(0,2,0), BSM));
+ printk(BIOS_DEBUG, "Write 0x%08x to BSM register.\n", (tolud * MiB - 64 * MiB) & 0xfff00000);
+ pci_write_config32(PCI_DEV(0,2,0), BSM, (tolud * MiB - 64 * MiB) & 0xfff00000);
+ printk(BIOS_DEBUG, "BSM (after) = 0x%08x\n", pci_read_config32(PCI_DEV(0,2,0), BSM));
+
return 0;
}
the following patch was just integrated into master:
commit 355ce38dc2891c491387707ffe2e4e802ce4e864
Author: Paul Menzel <paulepanter(a)users.sourceforge.net>
Date: Fri May 30 13:58:59 2014 +0200
northbridge/intel/i945: Add define for register `BSM` and use it
Add a define for the register Base of Stolen Memory (BSM) and use it.
Change-Id: I5b1df4e088d88344fac8cd8d218e76b08a885f58
Signed-off-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/5884
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/5884 for details.
-gerrit
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5886
-gerrit
commit 2e035abe32a83e0318b016f5fe031ffa23573324
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Sat May 31 07:41:14 2014 +1000
mainboard/jetway/nf81-t56n-lf: Rewrite ACPI OS detection
Rewrite the ACPI OS detection method to support modern versions of
Windows and consider FreeBSD also.
Change-Id: Ied6a300fc17e455db1a51368fea238a53df657a8
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
.../jetway/nf81-t56n-lf/acpi/mainboard.asl | 47 ++++++++++++++++------
1 file changed, 34 insertions(+), 13 deletions(-)
diff --git a/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl b/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl
index 49ea44f..47c17df 100644
--- a/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl
+++ b/src/mainboard/jetway/nf81-t56n-lf/acpi/mainboard.asl
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2011 Advanced Micro Devices, Inc.
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
*
* 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
@@ -30,27 +31,47 @@ Name(HPBA, 0xFED00000) /* Base address of HPET table */
Name(SSFG, 0x0D) /* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed */
/* Some global data */
-Name(OSTP, 3) /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */
+Name(OSTP, 3)
Name(OSV, Ones) /* Assume nothing */
Name(PMOD, One) /* Assume APIC */
Scope(\_SB) {
- Method(CkOT, 0){
-
- if(LNotEqual(OSTP, Ones)) {Return(OSTP)} /* OS version was already detected */
+ Method(CkOT, 0, NotSerialized)
+ {
+ If (LNotEqual (OSTP, Ones))
+ {
+ Return (OSTP) /* OS version was already detected */
+ }
- if(CondRefOf(\_OSI,Local1))
+ Store (One, OSTP) /* Assume some form of XP */
+ If (CondRefOf (\_OSI, Local1))
+ {
+ If (\_OSI ("Linux"))
+ {
+ Store (0x03, OSTP)
+ }
+ If (\_OSI ("FreeBSD"))
+ {
+ Store (0x06, OSTP)
+ }
+ If (\_OSI("Windows 2009"))
+ {
+ Store(0x0E, OSTP)
+ }
+ }
+ Else
{
- Store(1, OSTP) /* Assume some form of XP */
- if (\_OSI("Windows 2006")) /* Vista */
+ If (WCMP (\_OS, "Microsoft Windows"))
{
- Store(2, OSTP)
+ Store(One, OSTP)
}
- } else {
- If(WCMP(\_OS,"Linux")) {
- Store(3, OSTP) /* Linux */
- } Else {
- Store(4, OSTP) /* Gotta be WinCE */
+ If (WCMP (\_OS, "Linux"))
+ {
+ Store(0x03, OSTP)
+ }
+ If (WCMP (\_OS, "FreeBSD"))
+ {
+ Store(0x06, OSTP)
}
}
Return(OSTP)