On Sun, Aug 5, 2012 at 12:46 PM, <sambesselink(a)planet.nl> wrote:
> Hi all,
>
> I got interested in coreboot and started reading coreboot.org. I gathered
> some information and am wondering what you guys think of the chances of
> getting to run coreboot on my laptop.
>
> Brand: Samsung
> Type: NP-X360-AA03NL
> CPU: Intel Core2 Duo SU9300
> Northbridge: Intel GS45ME
> Southbridge: Intel ICH9M-E
> SuperIO: SMSC FDC37N972
> EC: unknown (how do I find this?)
> Flash chip: MX25L1605
> Flash size, type: 2048kB, SPI
>
> Running flashrom allowed me to find the flash info. It didn't throw any
> problems (besides moaning that it's a laptop).
>
> I can also provide the dmidecode.log, ectool.log etc and the rom.bin I read
> out if you would like me to.
>
> Thanks in advance for your help.
>
> Sam
>
Hi Sam,
Welcome. I think that you will find that to be a very challenging
project. I recommended becoming more familiar with coreboot. Try
building and debugging on qemu. Prepare a way to recover your laptop
when you flash something that doesn't boot. Study the output of your
logs and learn about how your machine is put together.
Regards,
Marc
>
> --
> coreboot mailing list: coreboot(a)coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot
--
http://se-eng.com
the following patch was just integrated into master:
commit 72ac49fe923783aeddb71c376270adba13469b87
Author: zbao <fishbaozi(a)gmail.com>
Date: Fri Aug 10 15:44:02 2012 +0800
gitconfig: upate commit-msg if newer one is available
Change-Id: Iea010bf6f456a5ce5d8906821c95a7de4b577085
Signed-off-by: Zheng Bao <zheng.bao(a)amd.com>
Signed-off-by: zbao <fishbaozi(a)gmail.com>
Build-Tested: build bot (Jenkins) at Fri Aug 10 08:29:06 2012, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer(a)coreboot.org> at Fri Aug 10 20:19:46 2012, giving +2
See http://review.coreboot.org/1429 for details.
-gerrit
Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1430
-gerrit
commit 2781b84aeb42563f898348ba7ed7278422ea2ccc
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Fri Aug 10 03:55:42 2012 -0500
util: Add utility to read EPHY config on VX900
Seems there is bo tool in our arsenal that does anything related.
See util/viatools/vx900_ephy/README for all relevant details.
Change-Id: Icbd39eaf7c7da5568732d77dbf2aed135f835754
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
util/viatools/vx900_ephy/Makefile | 35 +++++++++++
util/viatools/vx900_ephy/README | 9 +++
util/viatools/vx900_ephy/vx900_ephy.c | 106 +++++++++++++++++++++++++++++++++
3 files changed, 150 insertions(+), 0 deletions(-)
diff --git a/util/viatools/vx900_ephy/Makefile b/util/viatools/vx900_ephy/Makefile
new file mode 100644
index 0000000..1bdb4d5
--- /dev/null
+++ b/util/viatools/vx900_ephy/Makefile
@@ -0,0 +1,35 @@
+ ##
+ ## This file is part of the vx900_ephy utlity.
+ ##
+ ##
+ ## Copyright (C) 2011-2012 Alexandru Gagniuc <mr.nuke.me(a)gmail.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
+ ## the Free Software Foundation, either version 2 of the License, or
+ ## (at your option) any later version.
+ ##
+ ## 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.
+ ##
+ ## You should have received a copy of the GNU General Public License
+ ## along with this program. If not, see <http://www.gnu.org/licenses/>.
+ ##
+
+CC=gcc
+
+SRCS = vx900_ephy.c
+OBJS = $(sort ${SRCS:.c=.o})
+
+all: vx900_ephy
+
+vx900_ephy: $(OBJS)
+ $(CC) $< -o $@ -lpci
+
+%.o: %.c
+ $(CC) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
\ No newline at end of file
diff --git a/util/viatools/vx900_ephy/README b/util/viatools/vx900_ephy/README
new file mode 100644
index 0000000..70d7d9f
--- /dev/null
+++ b/util/viatools/vx900_ephy/README
@@ -0,0 +1,9 @@
+
+On the VX900 chipset, the SATA physical layer is controllable by index/value
+pairs in the PCI config space. Getting the EPHY config (as VIA calls it) is thus
+not achievable by a simple lspci -xx.
+
+The EPHY config is needed to get the SATA links running properly. The default
+values disable the driving resistors. While the SATA link may appear to work
+initially, the chipset indicates a PHY error occurs. This tool reads the EPHY
+config from a VX900 chipset.
diff --git a/util/viatools/vx900_ephy/vx900_ephy.c b/util/viatools/vx900_ephy/vx900_ephy.c
new file mode 100644
index 0000000..913f2fd
--- /dev/null
+++ b/util/viatools/vx900_ephy/vx900_ephy.c
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the vx900_ephy utlity.
+ *
+ * Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me(a)gmail.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
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <pci/pci.h>
+#include <stddef.h>
+#include <stdio.h>
+
+#define VX900_SATA_DOM 0
+#define VX900_SATA_BUS 0
+#define VX900_SATA_DEV 0x0f
+#define VX900_SATA_FUNC 0
+
+#define VX900_SATA_DEV_ID 0x9001
+#define VX900_SATA_VEND_ID 0x1106
+
+typedef struct pci_dev *device_t;
+
+typedef u8 sata_phy_config[64];
+
+static u32 sata_phy_read32(device_t dev, u8 index)
+{
+ /* The SATA PHY control registers are accessed by a funny index/value
+ * scheme. Each byte (0,1,2,3) has its own 4-bit index */
+ index = (index >> 2) & 0xf;
+ u16 i16 = index | (index<<4) | (index<<8)| (index<<12);
+ /* The index */
+ pci_write_word(dev, 0x68, i16);
+ /* The value */
+ return pci_read_long(dev, 0x64);
+
+}
+
+static void vx900_sata_read_phy_config(device_t dev, sata_phy_config cfg)
+{
+ size_t i;
+ u32* data = (u32*)cfg;
+ for(i = 0; i < (sizeof(sata_phy_config) ) >> 2; i++) {
+ data[i] = sata_phy_read32(dev, i<<2);
+ }
+}
+
+int main()
+{
+ sata_phy_config ephy;
+ struct pci_access *pci_lord;
+ device_t dev;
+
+ printf(" vx900_ephy tool:\n");
+ printf(" Copyright (C) 2012 Alexandru Gagniuc\n");
+ printf("======================================\n");
+
+ /* libpci mambo jumbo we need to do, but don't care about */
+ pci_lord = pci_alloc();
+ pci_init(pci_lord);
+ pci_scan_bus(pci_lord);
+
+ /* We write to the PCI config, so stop here if it's the wrong device */
+ dev = pci_get_dev(pci_lord, VX900_SATA_DOM, VX900_SATA_BUS,
+ VX900_SATA_DEV, VX900_SATA_FUNC);
+
+ pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS);
+
+ if( (VX900_SATA_VEND_ID != dev->vendor_id) ||
+ (VX900_SATA_DEV_ID != dev->device_id) )
+ {
+ printf("VX900 SATA controller not found\n");
+ return -1;
+
+ }
+ /* Get all the info in one pass */
+ vx900_sata_read_phy_config(dev, ephy);
+
+ /* Put it on the terminal for the user to read and be done with it */
+ printf("SATA PHY config:\n");
+ int i;
+ for (i = 0; i < sizeof(sata_phy_config); i++) {
+ if ((i & 0x0f) == 0) {
+ printf("%.2x :", i);
+ }
+ if( (i & 0x0f) == 0x08 )
+ printf("| ");
+ printf("%.2x ", ephy[i]);
+ if ((i & 0x0f) == 0x0f) {
+ printf("\n");
+ }
+ }
+
+ printf("Compare that with the coreboot debug output, and see if the"
+ " EPHY values need adjustment for your mainboard.\n");
+}
\ No newline at end of file
Hi all,
As you may know, when we enter to BIOS, we can use the keyboard to change
some settings such as : enable/disable something, change boot devices
priority ....It is kind of user interface on BIOS.
In the coreboot website, they said "*coreboot* is a Free Software project
aimed at *replacing the proprietary**BIOS*
<http://wikipedia.org/wiki/BIOS> (firmware)
found in most computers..."
If we want to add some interactions with hardware like BIOS firmware
provided us (use keyboard to enable/disable some options....), how could
we do it with coreboot?
Thank you!
the following patch was just integrated into master:
commit 0c6f7597304deef5f14a59d00d3c5d6bd97db9a9
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sun Aug 5 12:12:05 2012 +0300
Replicate TOP_MEM and TOP_MEM2 from BSP to AP CPU
The search loop for UMA resource was only used to check for the highest
RAM address below 4GB. The cached values from BSP CPU can now be used
for the replication.
Change-Id: I5244ffa6f8a93f5ff5aaf8a71bd006b0f9cd518a
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Build-Tested: build bot (Jenkins) at Thu Aug 9 20:00:30 2012, giving +1
Reviewed-By: Alexandru Gagniuc <mr.nuke.me(a)gmail.com> at Thu Aug 9 20:01:12 2012, giving +2
See http://review.coreboot.org/1388 for details.
-gerrit
the following patch was just integrated into master:
commit 4d5ba2cf1ae8384b2c504b80093286843312d899
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sun Aug 5 12:11:40 2012 +0300
AMD northbridge: copy TOP_MEM and TOP_MEM2 for distribution
Take a copy of BSP CPU's TOP_MEM and TOP_MEM2 MSRs to be distributed
to AP CPUs and factor out the debugging info from setup_uma_memory().
Change-Id: I1acb4eaa3fe118aee223df1ebff997289f5d3a56
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Build-Tested: build bot (Jenkins) at Sun Aug 5 13:19:30 2012, giving +1
Reviewed-By: Zheng Bao <zheng.bao(a)amd.com> at Wed Aug 8 12:11:42 2012, giving +1
Reviewed-By: Alexandru Gagniuc <mr.nuke.me(a)gmail.com> at Thu Aug 9 19:15:32 2012, giving +2
See http://review.coreboot.org/1387 for details.
-gerrit
the following patch was just integrated into master:
commit 93073277c12512d1e39b491d969b776d27ed85b1
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Wed Jul 25 16:15:25 2012 -0700
Sandybridge: Fix integer overrun in romstage udelay()
This was broken, fixing according to related patch for i945
Change-Id: I925cd205ee5beb918181740a7b981a4209688ac6
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Build-Tested: build bot (Jenkins) at Thu Aug 9 03:26:35 2012, giving +1
Reviewed-By: Ronald G. Minnich <rminnich(a)gmail.com> at Thu Aug 9 17:01:55 2012, giving +2
See http://review.coreboot.org/1412 for details.
-gerrit