Add initial port of the "open source vga bios" project.

This is an initial import of the code from:
    http://www.nongnu.org/vgabios/
The code has been ported from bcc to gcc and gas.
This is an initial import - many functions have not been ported; many
    bugs are present.
diff --git a/Makefile b/Makefile
index e079f12..5890fa5 100644
--- a/Makefile
+++ b/Makefile
@@ -52,8 +52,8 @@
 
 .PHONY : all FORCE
 
-vpath %.c src
-vpath %.S src
+vpath %.c src vgasrc
+vpath %.S src vgasrc
 
 ################ Build rules
 
@@ -132,6 +132,30 @@
 	$(Q)$(OBJCOPY) -O binary $< $@
 
 
+################ VGA build rules
+
+# VGA src files
+SRCVGA=src/output.c src/util.c vgasrc/vga.c vgasrc/vgatables.c \
+       vgasrc/vgafonts.c vgasrc/clext.c
+
+$(OUT)vgaccode.16.s: ; $(call whole-compile, $(CFLAGS16) -S -Isrc, $(SRCVGA),$@)
+
+$(OUT)vgalayout16.o: vgaentry.S $(OUT)vgaccode.16.s $(OUT)asm-offsets.h
+	@echo "  Compiling (16bit) $@"
+	$(Q)$(CC) $(CFLAGS16INC) -c -D__ASSEMBLY__ -Isrc $< -o $@
+
+$(OUT)vgarom.o: $(OUT)vgalayout16.o $(OUT)vgalayout.lds
+	@echo "  Linking $@"
+	$(Q)$(LD) -T $(OUT)vgalayout.lds $(OUT)vgalayout16.o -o $@
+
+$(OUT)vgabios.bin.raw: $(OUT)vgarom.o
+	@echo "  Extracting binary $@"
+	$(Q)$(OBJCOPY) -O binary $< $@
+
+$(OUT)vgabios.bin: $(OUT)vgabios.bin.raw
+	@echo "  Finalizing rom $@"
+	$(Q)./tools/buildrom.py $< $@
+
 ####### Generic rules
 clean:
 	$(Q)rm -rf $(OUT)