diff --git a/mainboard/adl/msm800sev/Makefile b/mainboard/adl/msm800sev/Makefile index d058923ef1..4a06d54381 100644 --- a/mainboard/adl/msm800sev/Makefile +++ b/mainboard/adl/msm800sev/Makefile @@ -23,7 +23,8 @@ $(obj)/linuxbios.vpd: $(Q)printf " BUILD DUMMY VPD\n" $(Q)dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 $(SILENT) -INITRAM_OBJ=$(obj)/stage0.init $(obj)/stage0.o $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \ +INITRAM_OBJ=$(obj)/stage0.init $(obj)/stage0.o \ + $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \ $(obj)/northbridge/amd/geodelx/raminit.o \ $(obj)/southbridge/amd/cs5536/smbus_initram.o \ $(obj)/southbridge/amd/cs5536/cs5536_early_setup.o\ @@ -50,8 +51,6 @@ $(obj)/linuxbios.initram: $(INITRAM_OBJ) # Miscellaneous important targets. # -$(obj)/mainboard/$(MAINBOARDDIR)/mainboard.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o - $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c $(obj)/statictree.h $(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n" $(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $< @@ -75,7 +74,7 @@ $(obj)/option_table: $(obj)/mainboard/$(MAINBOARDDIR)/option_table.o $(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n" $(Q)$(OBJCOPY) -O binary $< $@ -STAGE2_MAINBOARD_OBJ = mainboard.o +STAGE2_MAINBOARD_OBJ = STAGE2_CHIPSET_OBJ = $(obj)/arch/x86/geodecpu.o diff --git a/mainboard/amd/norwich/Makefile b/mainboard/amd/norwich/Makefile index 4efdfbee36..895ec3af39 100644 --- a/mainboard/amd/norwich/Makefile +++ b/mainboard/amd/norwich/Makefile @@ -43,8 +43,6 @@ $(obj)/linuxbios.initram: $(obj)/stage0.init $(obj)/stage0.o $(INITRAM_OBJ) # Miscellaneous important targets. # -$(obj)/mainboard/$(MAINBOARDDIR)/mainboard.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o - $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c $(obj)/statictree.h $(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n" $(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $< @@ -68,7 +66,7 @@ $(obj)/option_table: $(obj)/mainboard/$(MAINBOARDDIR)/option_table.o $(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n" $(Q)$(OBJCOPY) -O binary $< $@ -STAGE2_MAINBOARD_OBJ = mainboard.o +STAGE2_MAINBOARD_OBJ = STAGE2_CHIPSET_OBJ = $(obj)/arch/x86/geodelx/cpu.o diff --git a/mainboard/artecgroup/dbe61/Makefile b/mainboard/artecgroup/dbe61/Makefile index 94f618194a..adec241cbd 100644 --- a/mainboard/artecgroup/dbe61/Makefile +++ b/mainboard/artecgroup/dbe61/Makefile @@ -40,8 +40,6 @@ $(obj)/linuxbios.initram: $(obj)/stage0.init $(obj)/stage0.o $(INITRAM_OBJ) # Miscellaneous important targets. # -$(obj)/mainboard/$(MAINBOARDDIR)/mainboard.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o - $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c $(obj)/statictree.h $(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n" $(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $< @@ -65,7 +63,7 @@ $(obj)/option_table: $(obj)/mainboard/$(MAINBOARDDIR)/option_table.o $(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n" $(Q)$(OBJCOPY) -O binary $< $@ -STAGE2_MAINBOARD_OBJ = mainboard.o +STAGE2_MAINBOARD_OBJ = STAGE2_CHIPSET_OBJ = $(obj)/arch/x86/geodelx/cpu.o diff --git a/mainboard/artecgroup/dbe61/initram.c b/mainboard/artecgroup/dbe61/initram.c index 526c98caca..c9a08d3f42 100644 --- a/mainboard/artecgroup/dbe61/initram.c +++ b/mainboard/artecgroup/dbe61/initram.c @@ -43,9 +43,15 @@ */ #define GPIO_BASE 0x6100 +/* empty function to always fail smbus reads */ +int smbus_read_byte(unsigned device, unsigned address) +{ + return -1; +} + static void init_gpio(void) { - msr_t msr; + struct msr_struct msr; printk(BIOS_DEBUG, "Initializing GPIO module...\n"); // initialize the GPIO LBAR @@ -63,7 +69,7 @@ static void sdram_hardwire(void) * width in bits (byte 6,7) * = Density per side (byte 31) * number of sides (byte 5) */ /* 1. Initialize GLMC registers base on SPD values, do one DIMM for now */ - msr_t msr; + struct msr_struct msr; msr.hi = 0x10075012; msr.lo = 0x00000040; @@ -101,13 +107,21 @@ static void sdram_hardwire(void) /* Hold Count - how long we will sit in reset */ #define PLLMSRlo 0x00DE0000 +struct wmsr { + u32 reg; + struct msr_struct msr; +} dbe61_msr[] = { + {.reg = 0x10000020, {.lo = 0xfff80, .hi = 0x20000000}}, + {.reg = 0x10000021, {.lo = 0x80fffe0, .hi = 0x20000000}}, + {.reg = 0x40000020, {.lo = 0xfff80, .hi = 0x20000000}}, + {.reg = 0x40000021, {.lo = 0x80fffe0, .hi = 0x20000000}}, +}; + static void dbe61_msr_init(void) { - __builtin_wrmsr(0x10000020, 0xfff80, 0x20000000); - __builtin_wrmsr(0x10000021, 0x80fffe0, 0x20000000); - - __builtin_wrmsr(0x40000020, 0xfff80, 0x20000000); - __builtin_wrmsr(0x40000021, 0x80fffe0, 0x20000000); + int i; + for(i = 0; i < sizeof(dbe61_msr)/sizeof(dbe61_msr[0]); i++) + wrmsr(dbe61_msr[i].reg, dbe61_msr[i].msr); } int main(void) diff --git a/mainboard/emulation/qemu-x86/Makefile b/mainboard/emulation/qemu-x86/Makefile index ffa92b496c..ea4e5e7357 100644 --- a/mainboard/emulation/qemu-x86/Makefile +++ b/mainboard/emulation/qemu-x86/Makefile @@ -50,8 +50,6 @@ $(obj)/linuxbios.initram: $(obj)/stage0.init $(obj)/stage0.o $(obj)/mainboard/$( # Miscellaneous important targets. # -$(obj)/mainboard/$(MAINBOARDDIR)/mainboard.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o - $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c $(obj)/statictree.h $(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n" $(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $< @@ -75,7 +73,7 @@ $(obj)/option_table: $(obj)/mainboard/$(MAINBOARDDIR)/option_table.o $(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n" $(Q)$(OBJCOPY) -O binary $< $@ -STAGE2_MAINBOARD_OBJ = mainboard.o vga.o +STAGE2_MAINBOARD_OBJ = vga.o STAGE2_CHIPSET_OBJ =