[coreboot] r642 - coreboot-v3/northbridge/amd/geodelx

svn at coreboot.org svn at coreboot.org
Thu Mar 13 15:16:38 CET 2008


Author: uwe
Date: 2008-03-13 15:16:38 +0100 (Thu, 13 Mar 2008)
New Revision: 642

Modified:
   coreboot-v3/northbridge/amd/geodelx/domain
   coreboot-v3/northbridge/amd/geodelx/geodelink.h
   coreboot-v3/northbridge/amd/geodelx/geodelx.c
   coreboot-v3/northbridge/amd/geodelx/geodelxinit.c
   coreboot-v3/northbridge/amd/geodelx/grphinit.c
   coreboot-v3/northbridge/amd/geodelx/raminit.c
   coreboot-v3/northbridge/amd/geodelx/vsmsetup.c
Log:
Cosmetic fixes, coding style issues, added comments (trivial).

Signed-off-by: Uwe Hermann <uwe at hermann-uwe.de>
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>



Modified: coreboot-v3/northbridge/amd/geodelx/domain
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/domain	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/domain	2008-03-13 14:16:38 UTC (rev 642)
@@ -22,7 +22,7 @@
 {
 	device_operations = "geodelx_north_domain";
 
-        /* Video RAM has to be in 2MB chunks. */
-        geode_video_mb = "0";
+	/* Video RAM has to be in 2MB chunks. */
+	geode_video_mb = "0";
 };
 

Modified: coreboot-v3/northbridge/amd/geodelx/geodelink.h
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/geodelink.h	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/geodelink.h	2008-03-13 14:16:38 UTC (rev 642)
@@ -17,8 +17,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#ifndef GEODELINK_H
-#define GEODELINK_H
+#ifndef NORTHBRIDGE_AMD_GEODE_GEODELINK_H
+#define NORTHBRIDGE_AMD_GEODE_GEODELINK_H
 
 struct gliutable {
 	unsigned long desc_name;
@@ -75,4 +75,4 @@
 
 static const struct gliutable *gliutables[] = { gliu0table, gliu1table, 0 };
 
-#endif /* GEODELINK_H */
+#endif /* NORTHBRIDGE_AMD_GEODE_GEODELINK_H */

Modified: coreboot-v3/northbridge/amd/geodelx/geodelx.c
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/geodelx.c	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/geodelx.c	2008-03-13 14:16:38 UTC (rev 642)
@@ -43,7 +43,6 @@
 {
 }
 
-
 /**
  * TODO.
  *
@@ -67,8 +66,8 @@
 		systop = ((msr.hi & 0xFF) << 24) | ((msr.lo & 0xFFF00000) >> 8);
 		systop += 4 * 1024;	/* 4K */
 	} else {
-		systop =
-		    (((sizeram() - nb_dm->geode_video_mb) * 1024) - SMM_SIZE) * 1024;
+		systop = (((sizeram() - nb_dm->geode_video_mb) * 1024)
+				- SMM_SIZE) * 1024;
 	}
 
 	return systop;
@@ -82,10 +81,7 @@
  */
 static void geodelx_northbridge_init(struct device *dev)
 {
-	/* struct msr msr; */
-
 	printk(BIOS_SPEW, ">> Entering northbridge.c: %s\n", __FUNCTION__);
-
 	enable_shadow(dev);
 }
 
@@ -162,7 +158,7 @@
 		ram_resource(dev, idx++, 0, 640);
 		/* 1 MB .. (Systop - 1 MB) (in KB) */
 		ram_resource(dev, idx++, 1024,
-			     (get_systop(nb_dm)/1024) - 1024);
+			     (get_systop(nb_dm) / 1024) - 1024);
 	}
 
 	phase4_assign_resources(&dev->link[0]);
@@ -189,7 +185,7 @@
 
 	printk(BIOS_SPEW, ">> Entering northbridge.c: %s\n", __FUNCTION__);
 
-//	northbridge_init_early();
+	/* northbridge_init_early(); */
 	chipsetinit();
 
 	printk(BIOS_SPEW, "Before VSA:\n");
@@ -198,7 +194,7 @@
 	do_vsmbios(); 
 	printk(BIOS_SPEW, "After VSA:\n");
 	/* print_conf(); */
-printk(BIOS_DEBUG, "VRC_VG value: 0x%04x\n", nb_dm->geode_video_mb);
+	printk(BIOS_DEBUG, "VRC_VG value: 0x%04x\n", nb_dm->geode_video_mb);
 	graphics_init((u8)nb_dm->geode_video_mb);
 	pci_set_method(dev);
 }
@@ -254,9 +250,10 @@
 	.ops_pci_bus			= &pci_cf8_conf1,
 };
 
-/** Operations for when the northbridge is running a PCI device. */
-/** Note that phase3 scan is done in the domain, 
- * and MUST NOT be done here too 
+/**
+ * Operations for when the northbridge is running a PCI device.
+ *
+ * Note that phase3 scan is done in the domain, and MUST NOT be done here too.
  */
 struct device_operations geodelx_north_pci = {
 	.id = {.type = DEVICE_ID_PCI,

Modified: coreboot-v3/northbridge/amd/geodelx/geodelxinit.c
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/geodelxinit.c	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/geodelxinit.c	2008-03-13 14:16:38 UTC (rev 642)
@@ -25,7 +25,6 @@
 #include <amd_geodelx.h>
 #include "geodelink.h"
 
-
 static struct msrinit clock_gating_default[] = {
 	{GLIU0_GLD_MSR_PM,	{.hi = 0x00,.lo = 0x0005}},
 	{MC_GLD_MSR_PM,		{.hi = 0x00,.lo = 0x0001}},
@@ -204,6 +203,7 @@
 static void SMMGL1Init(const struct gliutable *gl)
 {
 	struct msr msr;
+
 	printk(BIOS_DEBUG, "%s:\n", __FUNCTION__);
 
 	msr.hi = gl->hi;
@@ -219,9 +219,10 @@
 }
 
 /**
- * Set up all GeodeLink interfaces. Iterate over the table until done.
+ * Set up all GeodeLink interfaces.
  *
- * Case out on the link type, and call the appropriate function.
+ * Iterate over the table until done. Case out on the link type,
+ * and call the appropriate function.
  *
  * @param gl A GeodeLink table descriptor.
  */
@@ -288,7 +289,8 @@
 		 * translates to a base of 0x00100000 and top of 0xffbf0000
 		 * base of 1M and top of around 256M.
 		 */
-		/* we have to create a page-aligned (4KB page) address
+
+		/* We have to create a page-aligned (4KB page) address
 		 * for base and top.
 		 * So we need a high page aligned addresss (pah) and
 		 * low page aligned address (pal) pah is from msr.hi
@@ -319,10 +321,11 @@
 	       msr.lo, msr.hi);
 	wrmsr(GLPCI_RC2, msr);
 
-	/* This is done elsewhere already, but it does no harm to do
+	/*
+	 * This is done elsewhere already, but it does no harm to do
 	 * it more than once.
-	 */
-	/* Write serialize memory hole to PCI. Need to to unWS when
+	 *
+	 * Write serialize memory hole to PCI. Need to to unWS when
 	 * something is shadowed regardless of cachablility.
 	 */
 	msr.lo = 0x021212121;	/* Cache disabled and write serialized. */
@@ -708,7 +711,6 @@
 	printk(BIOS_DEBUG, "L2 cache enabled\n");
 }
 
-
 /**
  * Set up all LX cache registers, L1, L2, and x86.
  */
@@ -767,8 +769,8 @@
 
 	/* Set ROM cache properties for runtime. */
 	msr = rdmsr(CPU_RCONF_DEFAULT);
-	msr.hi &= ~(0xFF << 24);        	// clear ROMRC
-	msr.hi |= ROMRC_RCONF_SAFE << 24;	// set WS, CD, WP
+	msr.hi &= ~(0xFF << 24);        	/* Clear ROMRC. */
+	msr.hi |= ROMRC_RCONF_SAFE << 24;	/* Set WS, CD, WP. */
 	wrmsr(CPU_RCONF_DEFAULT, msr);
 }
 

Modified: coreboot-v3/northbridge/amd/geodelx/grphinit.c
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/grphinit.c	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/grphinit.c	2008-03-13 14:16:38 UTC (rev 642)
@@ -23,9 +23,11 @@
 #include <console.h>
 #include <statictree.h>
 
- /*
-  * This function mirrors the Graphics_Init routine in GeodeROM.
-  */
+/**
+ * This function mirrors the Graphics_Init routine in GeodeROM.
+ *
+ * @param video_mb Size of the video RAM in 2 MB chunks.
+ */
 void graphics_init(u8 video_mb)
 {
 	u16 wClassIndex, wData, res;
@@ -34,7 +36,7 @@
 	printk(BIOS_DEBUG, "Graphics init...\n");
 
 	/* Call SoftVG with the main configuration parameters. */
-	/* NOTE: SoftVG expects the memory size to be given in 2MB blocks */
+	/* NOTE: SoftVG expects the memory size to be given in 2MB blocks. */
 
 	wClassIndex = (VRC_VG << 8) + VG_CONFIG;
 
@@ -48,13 +50,12 @@
 	 * PLL Reference Clock Bypass(0)		0, Default
 	 */
 
-	/* Video RAM has to be given in 2MB chunks
-	 *   the value is read @ 7:1 (looks like video_mb & ~1)
-	 *   so we can add the real value in megabytes.
+	/* Video RAM has to be given in 2MB chunks.
+	 * The value is read @ 7:1 (looks like video_mb & ~1)
+	 * so we can add the real value in megabytes.
 	 */
-
-	wData = VG_CFG_DRIVER | VG_CFG_PRIORITY | 
-			VG_CFG_DSCRT | (video_mb & VG_MEM_MASK);
+	wData = VG_CFG_DRIVER | VG_CFG_PRIORITY |
+		VG_CFG_DSCRT | (video_mb & VG_MEM_MASK);
 	vr_write(wClassIndex, wData);
 
 	res = vr_read(wClassIndex);

Modified: coreboot-v3/northbridge/amd/geodelx/raminit.c
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/raminit.c	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/raminit.c	2008-03-13 14:16:38 UTC (rev 642)
@@ -36,17 +36,15 @@
 u8 spd_read_byte(u16 device, u8 address);
 
 /**
- * Halt and Catch Fire. Print an error, then loop, sending NULLs on serial port, 
- * to ensure the message is visible. 
- *
+ * Halt and Catch Fire. Print an error, then loop, sending NULLs on
+ * serial port, to ensure the message is visible.
  */
-
 void hcf(void)
 {
 	printk(BIOS_EMERG, "DIE\r\n");
-	/* this guarantees we flush the UART fifos (if any) and also 
-	 * ensures that things, in general, keep going so no debug output 
-	 * is lost
+
+	/* This guarantees we flush the UART FIFOs (if any) and also ensures
+	 * that things, in general, keep going so no debug output is lost.
 	 */
 	while (1)
 		printk(BIOS_EMERG, "\r");
@@ -97,12 +95,12 @@
 	}
 	dimm_setting |= (spd_byte >> 2) << CF07_UPPER_D0_CB_SHIFT;
 
-	/*; Field: DIMM size
-	 *; EEPROM byte usage: (3)  Number of Row Addresses
-	 *;                                       (4)  Number of Column Addresses
-	 *;                                       (5)  Number of DIMM Banks
-	 *;                                       (31) Module Bank Density
-	 *; Size = Module Density * Module Banks
+	/* Field: DIMM size
+	 * EEPROM byte usage: (3)  Number of Row Addresses
+	 *                    (4)  Number of Column Addresses
+	 *                    (5)  Number of DIMM Banks
+	 *                    (31) Module Bank Density
+	 * Size = Module Density * Module Banks
 	 */
 	banner(BIOS_DEBUG, "SPDNUMROWS");
 
@@ -228,7 +226,7 @@
 	printk(BIOS_DEBUG, "ddr max speed is %d\n", speed);
 	/* Current speed > max speed? */
 	if (geode_link_speed() > speed) {
-		printk(BIOS_EMERG, "DIMM overclocked. Check GeodeLink speed\n");
+		printk(BIOS_EMERG, "DIMM overclocked. Check GeodeLink speed.\n");
 		post_code(POST_PLL_MEM_FAIL);
 		hlt();
 	}
@@ -562,7 +560,7 @@
 {
 	struct msr msr;
 
-	/* Set Timing Control */
+	/* Set Timing Control. */
 	msr = rdmsr(MC_CF1017_DATA);
 	msr.lo &= ~(7 << CF1017_LOWER_RD_TMG_CTL_SHIFT);
 	if (geode_link_speed() < 334)
@@ -571,7 +569,7 @@
 		msr.lo |= (4 << CF1017_LOWER_RD_TMG_CTL_SHIFT);
 	wrmsr(MC_CF1017_DATA, msr);
 
-	/* Set Refresh Staggering */
+	/* Set Refresh Staggering. */
 	msr = rdmsr(MC_CF07_DATA);
 	msr.lo &= ~0xF0;
 	msr.lo |= 0x40;		/* Set refresh to 4 SDRAM clocks. */
@@ -610,8 +608,8 @@
 	/* Check that the memory is not overclocked. */
 	check_ddr_max(dimm0, dimm1);
 
-	/* Size the DIMMS.
-	 * This is gross. It is an artifact of our move to parametes instead of
+	/* Size the DIMMs.
+	 * This is gross. It is an artifact of our move to parameters instead of
 	 * #defines. FIXME! The fix is trivial but I want to see it work first.
 	 */
 	post_code(POST_MEM_SETUP3);
@@ -623,7 +621,7 @@
 	post_code(POST_MEM_SETUP5);
 	set_cas(dimm0, dimm1);
 
-	/* Set all the other latencies here (tRAS, tRP...). */
+	/* Set all the other latencies here (tRAS, tRP, ...). */
 	set_latencies(dimm0, dimm1);
 
 	/* Set Extended Mode Registers. */
@@ -788,9 +786,8 @@
 		*ptr = (unsigned long)i;
 	}
 
-	/* SWAPSiF for PBZ 4112 (Errata 34)
-	 * Check for failed DLL settings now that we have done a
-	 * memory write.
+	/* SWAPSiF for PBZ 4112 (Errata 34).
+	 * Check for failed DLL settings now that we have done a memory write.
 	 */
 	msr = rdmsr(GLCP_DELAY_CONTROLS);
 	if ((msr.lo & 0x7FF) == 0x104) {
@@ -798,7 +795,7 @@
 		 * count flag (depending on where it counts from etc).
 		 */
 
-		/* The we are about to perform clears the PM_SSC
+		/* The operation we are about to perform clears the PM_SSC
 		 * register in the CS5536 so will need to store the S3
 		 * resume flag in NVRAM otherwise it would do a normal boot.
 		 */

Modified: coreboot-v3/northbridge/amd/geodelx/vsmsetup.c
===================================================================
--- coreboot-v3/northbridge/amd/geodelx/vsmsetup.c	2008-03-13 13:31:16 UTC (rev 641)
+++ coreboot-v3/northbridge/amd/geodelx/vsmsetup.c	2008-03-13 14:16:38 UTC (rev 642)
@@ -1,27 +1,30 @@
 /*
- *  Copyright (C) 2000 Erik Arjan Hendriks
- *  Copyright (C) 2000 Scyld Computing Corporation
- *  Copyright (C) 2001 University of California.  LA-CC Number 01-67.
- *  Copyright (C) 2005 Nick.Barker9 at btinternet.com
- *  Copyright (C) 2007 coresystems GmbH
+ * 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; either version 2 of the License, or
- *  (at your option) any later version.
+ * Copyright (C) 2000 Erik Arjan Hendriks
+ * Copyright (C) 2000 Scyld Computing Corporation
+ * Copyright (C) 2001 University of California.  LA-CC Number 01-67.
+ * Copyright (C) 2005 Nick.Barker9 at btinternet.com
+ * Copyright (C) 2007 coresystems GmbH
  *
- *  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.
+ * 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.
  *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
  * LA-CC is the Los Alamos Control and Compliance Number, see also:
  * http://supply.lanl.gov/property/customs/eximguide/default.shtml
  */
+
 #include <types.h>
 #include <console.h>
 #include <device/device.h>
@@ -31,82 +34,93 @@
 #include <amd_geodelx.h>
 #include <lar.h>
 
-#define VSA2_BUFFER			0x60000
+#define VSA2_BUFFER		0x60000
 #define VSA2_ENTRY_POINT	0x60020
 
-
-/* The address arguments to this function are PHYSICAL ADDRESSES */
+/**
+ * TODO.
+ *
+ * The address arguments to this function are PHYSICAL ADDRESSES!
+ *
+ * @param smm TODO.
+ * @param sysm TODO.
+ */
 static void real_mode_switch_call_vsm(unsigned long smm, unsigned long sysm)
 {
 	u16 entryHi = (VSA2_ENTRY_POINT & 0xffff0000) >> 4;
 	u16 entryLo = (VSA2_ENTRY_POINT & 0xffff);
 
 	__asm__ __volatile__(
-		// paranoia -- does ecx get saved? not sure. This is
-		// the easiest safe thing to do.
+		/* Paranoia -- does ecx get saved? not sure. This is
+		 * the easiest safe thing to do.
+		 */
 		"	pushal			\n"
-		/* save the stack */
+		/* Save the stack. */
 		"	mov 	%%esp, __stack	\n"
 		"	jmp 	1f		\n"
 		"__stack: .long 0		\n" 
 		"1:\n"
-		/* get devfn into %%ecx */
+		/* Get devfn into %%ecx. */
 		"	movl    %%esp, %%ebp	\n"
-		/* Get the smm and sysm args into ecx and edx */
+		/* Get the smm and sysm args into ecx and edx. */
 		"	movl    %0, %%ecx	\n"
 		"	movl    %1, %%edx	\n"
-		/* load 'our' gdt */
+		/* Load 'our' gdt. */
 		"	lgdt	%%cs:__mygdtaddr	\n"
-		/*  This configures CS properly for real mode. */
+		/* This configures CS properly for real mode. */
 		"	ljmp	$0x28, $__rms_16bit\n"
 		"__rms_16bit:		  	\n"
 		"	.code16			\n"
 		/* 16 bit code from here on... */
-		/* Load the segment registers w/ properly configured segment
-		 * descriptors.  They will retain these configurations (limits,
-		 * writability, etc.) once protected mode is turned off. */
+		/* Load the segment registers with properly configured segment
+		 * descriptors. They will retain these configurations (limits,
+		 * writability, etc.) once protected mode is turned off.
+		 */
 		"	mov	$0x30, %%ax	\n"
 		"	mov	%%ax, %%ds       	\n"
 		"	mov	%%ax, %%es       	\n"
 		"	mov	%%ax, %%fs       	\n"
 		"	mov	%%ax, %%gs       	\n"
 		"	mov	%%ax, %%ss       	\n"
-		/* Turn off protection (bit 0 in CR0) */
+		/* Turn off protection (bit 0 in CR0). */
 		"	movl	%%cr0, %%eax	\n"
 		"	andl	$0xFFFFFFFE, %%eax \n"
 		"	movl	%%eax, %%cr0	\n"
-		/* Now really going into real mode */
+		/* Now really going into real mode. */
 		"	ljmp	$0,  $__rms_real\n"
 		"__rms_real:			\n"
 
-		/* put the stack at the end of page zero.
-		 * that way we can easily share it between real and protected,
-		 * since the 16-bit ESP at segment 0 will work for any case. 
+		/* Put the stack at the end of page zero.
+		 * That way we can easily share it between real and protected,
+		 * since the 16-bit ESP at segment 0 will work for any case.
 		 */
 
-		/* Setup a stack */
+		/* Setup a stack. */
 		"	mov	$0x0, %%ax	\n"
 		"	mov	%%ax, %%ss	\n"
 		"	movl	$0x1000, %%eax	\n"
 		"	movl	%%eax, %%esp	\n"
-		/* Dump zeros in the other segregs */
+		/* Dump zeros in the other segregs. */
 		"	mov	%%ax, %%es     	\n"
-		/* FixMe: Big real mode for gs, fs? */
+		/* FIXME: Big real mode for gs, fs? */
 		"	mov	%%ax, %%fs     	\n"
 		"	mov	%%ax, %%gs     	\n"
 		"	mov	$0x40, %%ax	\n"
 		"	mov	%%ax, %%ds	\n"
-		//"     mov     %%cx, %%ax      \n"
+		/* "     mov     %%cx, %%ax      \n" */
 		"	movl    %0, %%ecx	\n"
 		"	movl    %1, %%edx	\n"
-		/* call the VSA2 entry point address */
+		/* Call the VSA2 entry point address. */
 		"	lcall	%2, %3\n"
-		/* if we got here, just about done.
-		 * Need to get back to protected mode */
+		/* If we got here, just about done.
+		 * Need to get back to protected mode.
+		 */
 		"	movl	%%cr0, %%eax	\n" 
 		"	orl	$0x0000001, %%eax\n"	/* PE = 1 */
 		"	movl	%%eax, %%cr0	\n"
-		/* Now that we are in protected mode jump to a 32 bit code segment. */
+		/* Now that we are in protected mode,
+		 * jump to a 32 bit code segment.
+		 */
 		"	data32	ljmp	$0x10, $vsmrestart\n"
 		"vsmrestart:\n"
 		"	.code32\n"
@@ -116,7 +130,7 @@
 		"	mov	%%ax, %%fs	\n"
 		"	mov	%%ax, %%gs	\n"
 		"	mov	%%ax, %%ss	\n"
-		/* restore proper gdt */
+		/* Restore proper gdt. */
 		"	lgdt	%%cs:gdtarg	\n"
 		".globl vsm_exit		\n"
 		"vsm_exit:			\n"
@@ -129,7 +143,7 @@
 __asm__(".text\n" "real_mode_switch_end:\n");
 extern char real_mode_switch_end[];
 
-// andrei: some VSA virtual register helpers: raw read and MSR read
+/* andrei: Some VSA virtual register helpers: raw read and MSR read. */
 
 u32 VSA_vrRead(u16 classIndex)
 {
@@ -167,46 +181,44 @@
 {
 	unsigned char *buf;
 	int i;
-	struct mem_file archive;
-	struct mem_file file;
+	struct mem_file archive, file;
 
 	printk(BIOS_ERR, "do_vsmbios\n");
-	/* clear vsm bios data area */
-	for (i = 0x400; i < 0x500; i++) {
+	/* Clear VSM BIOS data area. */
+	for (i = 0x400; i < 0x500; i++)
 		*(volatile unsigned char *)i = 0;
-	}
 	init_archive(&archive);
 
-	if (find_file(&archive, "blob/vsa", &file)){
+	if (find_file(&archive, "blob/vsa", &file))
 		die("FATAL: NO VSA found!\n");
-	}
 
-	if (process_file(&file, (void *)VSA2_BUFFER)) {
+	if (process_file(&file, (void *)VSA2_BUFFER))
 		die("FATAL: Processing /blob/vsa failed\n");
-	}
 
 	buf = (unsigned char *)VSA2_BUFFER;
-	printk(BIOS_DEBUG, "buf ilen %d real len %uld\n", file.len, file.reallen);
+	printk(BIOS_DEBUG, "buf ilen %d real len %uld\n",
+	       file.len, file.reallen);
 	printk(BIOS_DEBUG, "buf %p *buf %d buf[256k] %d\n",
-		     buf, buf[0], buf[SMM_SIZE * 1024]);
+	       buf, buf[0], buf[SMM_SIZE * 1024]);
 	printk(BIOS_DEBUG, "buf[0x20] signature is %x:%x:%x:%x\n",
-		     buf[0x20], buf[0x21], buf[0x22], buf[0x23]);
-	/* check for post code at start of vsainit.bin. If you don't see it,
-	   don't bother. */
+	       buf[0x20], buf[0x21], buf[0x22], buf[0x23]);
+	/* Check for POST code at start of vsainit.bin. If you don't see it,
+	 * don't bother.
+	 */
 	if ((buf[0x20] != 0xb0) || (buf[0x21] != 0x10) ||
 	    (buf[0x22] != 0xe6) || (buf[0x23] != 0x80)) {
 		die("FATAL: no vsainit.bin signature, skipping!\n");
 	}
 
-	/* ecx gets smm, edx gets sysm */
+	/* ecx gets smm, edx gets sysm. */
 	printk(BIOS_ERR, "Call real_mode_switch_call_vsm\n");
 	real_mode_switch_call_vsm(MSR_GLIU0_SMM, MSR_GLIU0_SYSMEM);
 
-	/* restart timer 1 */
+	/* Restart Timer 1. */
 	outb(0x56, 0x43);
 	outb(0x12, 0x41);
 
-	// check that VSA is running OK
+	/* Check that VSA is running OK. */
 	if (VSA_vrRead(SIGNATURE) == VSA2_SIGNATURE)
 		printk(BIOS_DEBUG, "do_vsmbios: VSA2 VR signature verified\n");
 	else





More information about the coreboot mailing list