diff -Nru LinuxBIOSv2-2986/src/mainboard/iei/juki-511p/Config.lb LinuxBIOSv2-2986-juki/src/mainboard/iei/juki-511p/Config.lb
--- LinuxBIOSv2-2986/src/mainboard/iei/juki-511p/Config.lb	2007-06-08 02:52:42.000000000 +0600
+++ LinuxBIOSv2-2986-juki/src/mainboard/iei/juki-511p/Config.lb	2007-11-26 09:51:35.000000000 +0500
@@ -156,6 +156,10 @@
 
       device pci 0e.0 on end		# ETH0
       device pci 13.0 on end		# USB
+      device pci 09.0 on end		# Slot 1
+      device pci 0a.0 on end		# Slot 2
+      device pci 0b.0 on end		# Slot 3
+      device pci 0c.0 on end		# Slot 4
 
     end
   end
diff -Nru LinuxBIOSv2-2986/src/mainboard/iei/juki-511p/irq_tables.c LinuxBIOSv2-2986-juki/src/mainboard/iei/juki-511p/irq_tables.c
--- LinuxBIOSv2-2986/src/mainboard/iei/juki-511p/irq_tables.c	2007-06-08 02:52:42.000000000 +0600
+++ LinuxBIOSv2-2986-juki/src/mainboard/iei/juki-511p/irq_tables.c	2007-11-26 09:51:35.000000000 +0500
@@ -19,48 +19,67 @@
  */
 
 #include <arch/pirq_routing.h>
+#include <console/console.h>
+#include <device/pci.h>
 
-#define IRQ_BITMAP_LINK0 0x0800		/* chipset's INTA# input should be routed to IRQ11 */
-#define IRQ_BITMAP_LINK1 0x0400		/* chipset's INTB# input should be routed to IRQ10 */
-#define IRQ_BITMAP_LINK2 0x0000		/* chipset's INTC# input should be routed to nothing (disabled) */
-#define IRQ_BITMAP_LINK3 0x0000		/* chipset's INTD# input should be routed to nothing (disabled) */
+/* Platform IRQs */
+#define PIRQA 11
+#define PIRQB 9
+#define PIRQC 12
+#define PIRQD 10
+
+/* Link */
+#define LINK_PIRQA 1
+#define LINK_PIRQB 2
+#define LINK_PIRQC 3
+#define LINK_PIRQD 4
+#define LINK_NONE 0
+
+/* Map */
+#define IRQ_BITMAP_LINKA (1 << PIRQA)
+#define IRQ_BITMAP_LINKB (1 << PIRQB)
+#define IRQ_BITMAP_LINKC (1 << PIRQC)
+#define IRQ_BITMAP_LINKD (1 << PIRQD)
+#define IRQ_BITMAP_NOLINK 0x0
+
+#define EXCLUSIVE_PCI_IRQS (IRQ_BITMAP_LINKA | IRQ_BITMAP_LINKB | IRQ_BITMAP_LINKC | IRQ_BITMAP_LINKD)
 
 const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,	 /* u32 signature */
 	PIRQ_VERSION,	 /* u16 version */
-	32+16*2,	 /* There can be a total of 2 devices on the bus */
+	32+16*IRQ_SLOT_COUNT,	 /* There can be a total of IRQ_SLOT_COUNT devices on the bus */
 	0x00,		 /* Where the interrupt router lies (bus) */
 	(0x12<<3)|0x0,	 /* Where the interrupt router lies (dev) */
-	0xc00,		 /* IRQs devoted exclusively to PCI usage */
+	EXCLUSIVE_PCI_IRQS,		 /* IRQs devoted exclusively to PCI usage */
 	0x1078,		 /* Vendor */
 	0x2,		 /* Device */
 	0,		 /* Crap (miniport) */
 	{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */
-	0x57,		 /* u8 checksum. This has to be set to some
+	0x29,		 /* u8 checksum. This has to be set to some
 			    value that would give 0 after the sum of all
 			    bytes for this structure (including checksum) */
 
 	.slots = {
 		[0] = {
-			.slot = 0x0,	/* should be 0 when it is no real slot. My device is soldered */
+			.slot = 0x0,	/* means also "on board" */
 			.bus = 0x00,
-			.devfn = (0x13<<3)|0x0,	/* 0x13 is my USB OHCI */
+			.devfn = (0x13<<3)|0x0,	/* 0x13 is USB OHCI */
 			.irq = {
 				[0] = {	/* <-- 0 means this is INTA# output from the device or slot */
-					.link = 0x01,			/* 0x01 means its connected to INTA# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK0
+					.link = LINK_PIRQA,
+					.bitmap = IRQ_BITMAP_LINKA
 				},
 				[1] = {	/* <-- 1 means this is INTB# output from the device or slot */
-					.link = 0x02,			/* 0x02 means its connected to INTB# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK1
+					.link = LINK_NONE,
+					.bitmap = IRQ_BITMAP_NOLINK
 				},
 				[2] = {	/* <-- 2 means this is INTC# output from the device or slot */
-					.link = 0x03,			/* 0x03 means its connected to INTC# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK2
+					.link = LINK_NONE,
+					.bitmap = IRQ_BITMAP_NOLINK
 				},
 				[3] = {	/* <-- 3 means this is INTD# output from the device or slot */
-					.link = 0x04,			/* 0x04 means its connected to INTD# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK3
+					.link = LINK_NONE,
+					.bitmap = IRQ_BITMAP_NOLINK
 				}
 			}
 		},
@@ -68,26 +87,135 @@
 		[1] = {
 			.slot = 0x0,	/* means also "on board" */
 			.bus = 0x00,
-			.devfn = (0x0e<<3)|0x0,	/* 0x0e is my Realtek Network device */
+			.devfn = (0x0e<<3)|0x0,	/* 0x0e is Realtek Network device */
+			.irq = {
+				[0] = {	/* <-- 0 means this is INTA# output from the device or slot */
+					.link = LINK_PIRQB,
+					.bitmap = IRQ_BITMAP_LINKB
+				},
+				[1] = {	/* <-- 1 means this is INTB# output from the device or slot */
+					.link = LINK_NONE,
+					.bitmap = IRQ_BITMAP_NOLINK
+				},
+				[2] = {	/* <-- 2 means this is INTC# output from the device or slot */
+					.link = LINK_NONE,
+					.bitmap = IRQ_BITMAP_NOLINK
+				},
+				[3] = {	/* <-- 3 means this is INTD# output from the device or slot */
+					.link = LINK_NONE,
+					.bitmap = IRQ_BITMAP_NOLINK
+				}
+			}
+		},
+
+/*
+ * ################### backplane ###################
+ */
+
+/*
+ * Not exist on IP-6S, but it PCI1 on IP-7S.
+ */
+		[2] = {
+			.slot = 0x1,	/* This is real PCI slot. */
+			.bus = 0x00,
+			.devfn = (0x09<<3)|0x0,	/* 0x09 is PCI1 */
+			.irq = {
+				[0] = {	/* <-- 0 means this is INTA# output from the device or slot */
+					.link = LINK_PIRQA,
+					.bitmap = IRQ_BITMAP_LINKA
+				},
+				[1] = {	/* <-- 1 means this is INTB# output from the device or slot */
+					.link = LINK_PIRQB,
+					.bitmap = IRQ_BITMAP_LINKB
+				},
+				[2] = {	/* <-- 2 means this is INTC# output from the device or slot */
+					.link = LINK_PIRQC,
+					.bitmap = IRQ_BITMAP_LINKC
+				},
+				[3] = {	/* <-- 3 means this is INTD# output from the device or slot */
+					.link = LINK_PIRQD,
+					.bitmap = IRQ_BITMAP_LINKD
+				}
+			}
+		},
+/*
+ * PCI2 IP-6S
+ */
+		[3] = {
+			.slot = 0x2,	/* This is real PCI slot. */
+			.bus = 0x00,
+			.devfn = (0x0a<<3)|0x0,	/* 0x0a is PCI2 on IP-6S */
+			.irq = {
+				[0] = {	/* <-- 0 means this is INTA# output from the device or slot */
+					.link = LINK_PIRQD,
+					.bitmap = IRQ_BITMAP_LINKD
+				},
+				[1] = {	/* <-- 1 means this is INTB# output from the device or slot */
+					.link = LINK_PIRQA,
+					.bitmap = IRQ_BITMAP_LINKA
+				},
+				[2] = {	/* <-- 2 means this is INTC# output from the device or slot */
+					.link = LINK_PIRQB,
+					.bitmap = IRQ_BITMAP_LINKB
+				},
+				[3] = {	/* <-- 3 means this is INTD# output from the device or slot */
+					.link = LINK_PIRQC,
+					.bitmap = IRQ_BITMAP_LINKC
+				}
+			}
+		},
+/*
+ * PCI3 IP-6S
+ */
+		[4] = {
+			.slot = 0x3,	/* This is real PCI slot. */
+			.bus = 0x00,
+			.devfn = (0x0b<<3)|0x0,	/* 0x0b is PCI3 on IP-6S */
 			.irq = {
 				[0] = {	/* <-- 0 means this is INTA# output from the device or slot */
-					.link = 0x02,			/* 0x02 means its connected to INTB# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK1
+					.link = LINK_PIRQC,
+					.bitmap = IRQ_BITMAP_LINKC
 				},
 				[1] = {	/* <-- 1 means this is INTB# output from the device or slot */
-					.link = 0x03,			/* 0x03 means its connected to INTC# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK2
+					.link = LINK_PIRQD,
+					.bitmap = IRQ_BITMAP_LINKD
 				},
 				[2] = {	/* <-- 2 means this is INTC# output from the device or slot */
-					.link = 0x04,			/* 0x04 means its connected to INTD# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK3
+					.link = LINK_PIRQA,
+					.bitmap = IRQ_BITMAP_LINKA
 				},
 				[3] = {	/* <-- 3 means this is INTD# output from the device or slot */
-					.link = 0x01,			/* 0x01 means its connected to INTA# input at chipset */
-					.bitmap = IRQ_BITMAP_LINK0
+					.link = LINK_PIRQB,
+					.bitmap = IRQ_BITMAP_LINKB
 				}
 			}
-		}
+		},
+/*
+ * PCI4 IP-6S
+ */
+		[5] = {
+			.slot = 0x4,	/* This is real PCI slot. */
+			.bus = 0x00,
+			.devfn = (0x0c<<3)|0x0,	/* 0x0c is PCI4 on IP-6S */
+			.irq = {
+				[0] = {	/* <-- 0 means this is INTA# output from the device or slot */
+					.link = LINK_PIRQB,
+					.bitmap = IRQ_BITMAP_LINKB
+				},
+				[1] = {	/* <-- 1 means this is INTB# output from the device or slot */
+					.link = LINK_PIRQC,
+					.bitmap = IRQ_BITMAP_LINKC
+				},
+				[2] = {	/* <-- 2 means this is INTC# output from the device or slot */
+					.link = LINK_PIRQD,
+					.bitmap = IRQ_BITMAP_LINKD
+				},
+				[3] = {	/* <-- 3 means this is INTD# output from the device or slot */
+					.link = LINK_PIRQA,
+					.bitmap = IRQ_BITMAP_LINKA
+				}
+			}
+		},
 	}
 };
 
diff -Nru LinuxBIOSv2-2986/src/mainboard/iei/juki-511p/Options.lb LinuxBIOSv2-2986-juki/src/mainboard/iei/juki-511p/Options.lb
--- LinuxBIOSv2-2986/src/mainboard/iei/juki-511p/Options.lb	2007-10-11 16:25:35.000000000 +0600
+++ LinuxBIOSv2-2986-juki/src/mainboard/iei/juki-511p/Options.lb	2007-11-26 09:51:35.000000000 +0500
@@ -42,7 +42,11 @@
 uses TTYS0_BAUD
 uses TTYS0_BASE
 uses TTYS0_LCS
+uses CONFIG_GX1_VIDEO
+uses CONFIG_GX1_VIDEOMODE
 uses CONFIG_VIDEO_MB
+uses CONFIG_SPLASH_GRAPHIC
+uses PIRQ_ROUTE
 
 ## ROM_SIZE is the size of boot ROM that this board will use.
 default ROM_SIZE  = 256*1024
@@ -71,7 +75,8 @@
 ## Build code to export a programmable irq routing table
 ##
 default HAVE_PIRQ_TABLE=0
-default IRQ_SLOT_COUNT=2
+default IRQ_SLOT_COUNT=6
+default PIRQ_ROUTE=1
 #object irq_tables.o
 
 ##
@@ -140,7 +145,10 @@
 default CC="$(CROSS_COMPILE)gcc -m32"
 default HOSTCC="gcc"
 
-default CONFIG_VIDEO_MB = 0
+default CONFIG_GX1_VIDEO = 1
+default CONFIG_GX1_VIDEOMODE = 0
+default CONFIG_VIDEO_MB = 2
+default CONFIG_SPLASH_GRAPHIC = 1
 
 end
 
diff -Nru LinuxBIOSv2-2986/targets/iei/juki-511p/Config.lb LinuxBIOSv2-2986-juki/targets/iei/juki-511p/Config.lb
--- LinuxBIOSv2-2986/targets/iei/juki-511p/Config.lb	2007-06-08 02:52:42.000000000 +0600
+++ LinuxBIOSv2-2986-juki/targets/iei/juki-511p/Config.lb	2007-11-26 09:51:35.000000000 +0500
@@ -28,6 +28,9 @@
 option CONFIG_COMPRESS=0
 option CONFIG_PRECOMPRESSED_PAYLOAD=0
 
+option DEFAULT_CONSOLE_LOGLEVEL=0
+option MAXIMUM_CONSOLE_LOGLEVEL=0
+
 romimage "image"
 	option ROM_IMAGE_SIZE=64*1024
 	option LINUXBIOS_EXTRA_VERSION="-filo"
