vgabios: Initial support for fixing up assembler to workaround x86emu.

Perform post-processing of the vgabios assembler to remove certain
instructions that gcc generates and x86emu can't handle.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
diff --git a/Makefile b/Makefile
index eaf46a9..00da02c 100644
--- a/Makefile
+++ b/Makefile
@@ -60,6 +60,7 @@
 export CONFIG_SHELL       := sh
 export KCONFIG_AUTOHEADER := autoconf.h
 export KCONFIG_CONFIG     := $(CURDIR)/.config
+AS=as
 OBJCOPY=objcopy
 OBJDUMP=objdump
 STRIP=strip
@@ -193,7 +194,12 @@
 
 CFLAGS16VGA = $(CFLAGS16INC) -Isrc
 
-$(OUT)vgaccode16.o: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS16VGA), $(SRCVGA),$@)
+$(OUT)vgaccode16.raw.s: $(OUT)autoconf.h ; $(call whole-compile, $(CFLAGS16VGA) -S, $(SRCVGA),$@)
+
+$(OUT)vgaccode16.o: $(OUT)vgaccode16.raw.s
+	@echo "  Fixup VGA rom assembler"
+	$(Q)$(PYTHON) ./tools/vgafixup.py $< $(OUT)vgaccode16.s
+	$(Q)$(AS) --32 src/code16gcc.s $(OUT)vgaccode16.s -o $@
 
 $(OUT)vgaentry.o: vgaentry.S $(OUT)autoconf.h
 	@echo "  Compiling (16bit) $@"