- To reduce confuse rename the parts of linuxbios bios that run from
  ram linuxbios_ram instead of linuxbios_c and linuxbios_payload...
- Reordered the linker sections so the LinuxBIOS fallback image can take more the 64KiB on x86
- ROM_IMAGE_SIZE now will work when it is specified as larger than 64KiB.
- Tweaked the reset16.inc and reset16.lds to move the sanity check to see if everything will work.
- Start using romcc's built in preprocessor (This will simplify header compiler checks)
- Add helper functions for examining all of the resources
- Remove debug strings from chip.h
- Add llshell to src/arch/i386/llshell (Sometime later I can try it...)
- Add the ability to catch exceptions on x86
- Add gdb_stub support to x86
- Removed old cpu options
- Added an option so we can detect movnti support
- Remove some duplicate definitions from pci_ids.h
- Remove the 64bit resource code in amdk8/northbridge.c in preparation for making it generic
- Minor romcc bug fixes


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1727 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/romcc/romcc.c b/util/romcc/romcc.c
index f9719e82..e03bb6b 100644
--- a/util/romcc/romcc.c
+++ b/util/romcc/romcc.c
@@ -3557,7 +3557,7 @@
 	if (macro != 0) {
 		/* Explicitly allow identical redefinitions of the same macro */
 		if ((macro->buf_len == value_len) &&
-			(memcmp(macro->buf, value, value_len))) {
+			(memcmp(macro->buf, value, value_len) == 0)) {
 			return;
 		}
 		error(state, 0, "macro %s already defined\n", ident->name);
@@ -4804,7 +4804,7 @@
 		if ((lval > LONG_T_MAX) || (lval < LONG_T_MIN) ||
 			(((lval == LONG_MIN) || (lval == LONG_MAX)) &&
 				(errno == ERANGE))) {
-			error(state, 0, "Integer constant to large");
+			error(state, 0, "Integer constant `%s' to large", state->token[index].val.str);
 		}
 		val = lval;
 		break;
@@ -24196,6 +24196,16 @@
 			}
 		}
 #endif /* X86_4_8BIT_GPRS */
+		/* Move from %eax:%edx to %eax:%edx */
+		else if ((src_regcm & REGCM_DIVIDEND64) &&
+			(dst_regcm & REGCM_DIVIDEND64) &&
+			(src_reg == dst_reg)) {
+			if (!omit_copy) {
+				fprintf(fp, "\t/*mov %s, %s*/\n",
+					arch_reg_str(src_reg),
+					arch_reg_str(dst_reg));
+			}
+		}
 		else {
 			if ((src_regcm & ~REGCM_FLAGS) == 0) {
 				internal_error(state, ins, "attempt to copy from %%eflags!");