- O2, enums, and switch statements work in romcc
- Support for compiling romcc on non x86 platforms
- new romc options -msse and -mmmx for specifying extra registers to use
- Bug fixes to device the device disable/enable framework and an amd8111 implementation
- Move the link specification to the chip specification instead of the path
- Allow specifying devices with internal bridges.
- Initial via epia support
- Opteron errata fixes
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1200 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/romcc/tests/linux_test4.c b/util/romcc/tests/linux_test4.c
new file mode 100644
index 0000000..1f09918
--- /dev/null
+++ b/util/romcc/tests/linux_test4.c
@@ -0,0 +1,46 @@
+#include "linux_syscall.h"
+#include "linux_console.h"
+
+struct socket_desc {
+ short up;
+ short down;
+ short across;
+};
+
+static void main(void)
+{
+ static const struct socket_desc cpu_socketsA[] = {
+ { .up = 2, .down = -1, .across = 1 }, /* Node 0 */
+ { .up = 3, .down = -1, .across = 0 }, /* Node 1 */
+ { .up = -1, .down = 0, .across = 3 }, /* Node 2 */
+ { .up = -1, .down = 1, .across = 2 } /* Node 3 */
+ };
+ static const struct socket_desc cpu_socketsB[4] = {
+ { 2, -1, 1 }, /* Node 0 */
+ { 3, -1, 0 }, /* Node 1 */
+ { -1, 0, 3 }, /* Node 2 */
+ { -1, 1, 2 } /* Node 3 */
+ };
+ int i;
+ print_debug("cpu_socketA\n");
+ for(i = 0; i < sizeof(cpu_socketsA)/sizeof(cpu_socketsA[0]); i++) {
+ print_debug(".up=");
+ print_debug_hex16(cpu_socketsA[i].up);
+ print_debug(" .down=");
+ print_debug_hex16(cpu_socketsA[i].down);
+ print_debug(" .across=");
+ print_debug_hex16(cpu_socketsA[i].across);
+ print_debug("\n");
+ }
+ print_debug("\ncpu_socketB\n");
+ for(i = 0; i < sizeof(cpu_socketsB)/sizeof(cpu_socketsB[0]); i++) {
+ print_debug(".up=");
+ print_debug_hex16(cpu_socketsB[i].up);
+ print_debug(" .down=");
+ print_debug_hex16(cpu_socketsB[i].down);
+ print_debug(" .across=");
+ print_debug_hex16(cpu_socketsB[i].across);
+ print_debug("\n");
+ }
+ _exit(0);
+}