From f215e02bf85f68d3a6106c2a1f4f7f063f819064 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:17:27 +0200 Subject: Adding upstream version 7.0.14-dfsg. Signed-off-by: Daniel Baumann --- src/VBox/Devices/Graphics/BIOS/Makefile.kmk | 201 ++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 src/VBox/Devices/Graphics/BIOS/Makefile.kmk (limited to 'src/VBox/Devices/Graphics/BIOS/Makefile.kmk') diff --git a/src/VBox/Devices/Graphics/BIOS/Makefile.kmk b/src/VBox/Devices/Graphics/BIOS/Makefile.kmk new file mode 100644 index 00000000..3c7e504c --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/Makefile.kmk @@ -0,0 +1,201 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-Makefile for the New VGA BIOS ROM. +# + +# +# Copyright (C) 2012-2023 Oracle and/or its affiliates. +# +# This file is part of VirtualBox base platform packages, as +# available from https://www.virtualbox.org. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation, in version 3 of the +# License. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# SPDX-License-Identifier: GPL-3.0-only +# + +SUB_DEPTH = ../../../../.. +include $(KBUILD_PATH)/subheader.kmk + + +ifdef VBOX_WITH_OPEN_WATCOM + + # + # VBoxVgaBios - The VGA BIOS. + # + MISCBINS += VBoxVgaBios386 + VBoxVgaBios386_TEMPLATE = VBoxBios + VBoxVgaBios386_ASFLAGS = -0 + VBoxVgaBios386_CFLAGS = -3 + VBoxVgaBios386_DEFS = VBE VBOX_BIOS_CPU=80386 + VBoxVgaBios386_INCS = $(VBOX_GRAPHICS_INCS) + VBoxVgaBios386_SOURCES = \ + vgarom.asm \ + vberom.asm \ + vgabios.c \ + vbe.c + VBoxVgaBios386_LDFLAGS = \ + output raw offset=0xC0000 \ + order \ + clname CODE \ + segment VGAROM segaddr=0xC000 \ + segment _TEXT segaddr=0xC000 offset=0x9F0 \ + segment VBE32 segaddr=0xC000 offset=0x4640 \ + clname DATA \ + segment _DATA segaddr=0xC000 offset=0x4780 + + MISCBINS += VBoxVgaBios286 + VBoxVgaBios286_EXTENDS = VBoxVgaBios386 + VBoxVgaBios286_CFLAGS = -2 + VBoxVgaBios286_DEFS = $(filter-out VBOX_BIOS_CPU=80386,$(VBoxVgaBios386_DEFS)) VBOX_BIOS_CPU=80286 + + MISCBINS += VBoxVgaBios8086 + VBoxVgaBios8086_EXTENDS = VBoxVgaBios386 + VBoxVgaBios8086_CFLAGS = -0 + VBoxVgaBios8086_DEFS = $(filter-out VBOX_BIOS_CPU=80386,$(VBoxVgaBios386_DEFS)) VBOX_BIOS_CPU=8086 + + # + # Updates the alternative source file. + # + define def_VBoxVgaBiosUpdateAltSource + $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).asm +| $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).md5sum: \ + $$$$(VBoxVgaBios$(1)_1_TARGET) \ + $$(VBOX_MAKE_ALTERNATIVE_SOURCE) \ + $$(VBOX_VBOXCMP) + if1of ($$(KBUILD_TYPE), release) + $$(VBOX_MAKE_ALTERNATIVE_SOURCE) \ + --bios-image $$< \ + --bios-map $$(basename $$<).map \ + --bios-sym $$(basename $$<).sym \ + --bios-type vga \ + --output $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm + $$(QUIET)$$(TOOL_YASM_AS) -f bin \ + -o $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin \ + -l $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).lst \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm + $$(VBOX_VBOXCMP) $$< $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin + $$(CP) --changed -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm $$(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative$(1).asm + $$(REDIRECT) -C $$(dir $$(VBoxVgaBios$(1)_1_TARGET)) -- \ + $$(MD5SUM_EXT) -bo $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum $$(notdir $$(VBoxVgaBios$(1)_1_TARGET)) + $$(CP) --changed -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum $$(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative$(1).md5sum + $$(RM) -f -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).lst \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum + else + $$(QUIET)$$(ECHO) "Fatal error: Can only update VBoxVgaBiosAlternative$(1).asm/md5sum with a release build." + $$(QUIET)exit 1 + endif + endef + + $(evalcall2 def_VBoxVgaBiosUpdateAltSource,386) + $(evalcall2 def_VBoxVgaBiosUpdateAltSource,286) + $(evalcall2 def_VBoxVgaBiosUpdateAltSource,8086) + + update-vgabios-source: \ + $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative386.asm \ + $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative286.asm \ + $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative8086.asm + +endif # VBOX_WITH_OPEN_WATCOM + + +# +# The library containing the VGA BIOS image. +# +LIBRARIES += VgaBiosBin +VgaBiosBin_TEMPLATE = VBoxR3Dll +VgaBiosBin_DEFS = IN_VBOXDD2 +VgaBiosBin_SOURCES = +VgaBiosBin_DEPS = $(VgaBiosBin_0_OUTDIR)/vbetables.h +VgaBiosBin_CLEAN = $(VgaBiosBin_0_OUTDIR)/vbetables.h + +define def_VBoxVgaBiosBin + VgaBiosBin_SOURCES += $$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + VgaBiosBin_CLEAN += $$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + ifdef VBOX_WITH_OPEN_WATCOM + $$$$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c: $$$$(VBoxVgaBios$(1)_1_TARGET) $$(VBOX_BIN2C) | $$$$(dir $$$$@) + $$(call MSG_TOOL,bin2c,VgaBiosBin,$$<,$$@) + $$(QUIET)$$(VBOX_BIN2C) -min 32 -max 36 -mask 0x0fff -ascii -export VgaBiosBinary$(1) $$< $$@ + else + VgaBiosBin_CLEAN += $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom + + $$$$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + $$$$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom: \ + $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).asm \ + $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).md5sum \ + $$(VBOX_BIN2C) | $$$$(dir $$$$@) + $$(call MSG_TOOL,bin2c,VgaBiosBin,$$<,$$@) + $$(QUIET)$$(TOOL_YASM_AS) -f bin -o $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom $$< + $$(QUIET)$$(REDIRECT) -C $$(VgaBiosBin_0_OUTDIR) -- \ + $$(MD5SUM_EXT) -c $$(basename $$<).md5sum + $$(QUIET)$$(VBOX_BIN2C) -min 32 -max 36 -mask 0x0fff -ascii -export VgaBiosBinary$(1) $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom $$@ + $$(QUIET)$$(RM) -f -- $$$$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom + endif +endef +$(evalcall2 def_VBoxVgaBiosBin,386) +$(evalcall2 def_VBoxVgaBiosBin,286) +$(evalcall2 def_VBoxVgaBiosBin,8086) + + +# Rule for making the vbetables.h that DevVGA uses. +$$(VgaBiosBin_0_OUTDIR)/vbetables.h: $(MAKEFILE_CURRENT) $$(vbetables-gen_1_TARGET) | $$(dir $$@) + $(QUIET)$(REDIRECT) -wo $@ -- $(vbetables-gen_1_TARGET) + + +# +# The VBE tables. +# +BLDPROGS += vbetables-gen +vbetables-gen_TEMPLATE = VBoxBldProg +vbetables-gen_SOURCES = vbetables-gen.c +vbetables-gen_CLEAN = $(vbetables-gen) + + +# +# The VGA BIOS Logo. +# +LIBRARIES += VgaDefBiosLogo +VgaDefBiosLogo_TEMPLATE = VBoxR3Dll +VgaDefBiosLogo_INCS = $(VBOX_PATH_DEVICES_SRC) +VgaDefBiosLogo_SOURCES = $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c +VgaDefBiosLogo_CLEAN = $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c +ifndef VBOX_OSE + VgaDefBiosLogo_SOURCES += $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c + VgaDefBiosLogo_CLEAN += $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c +endif + +# Rule for making the bios logo. +$$(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c: $(VBOX_BRAND_BIOS_LOGO) $(VBOX_BIN2C) | $$(dir $$@) + $(call MSG_TOOL,bin2c,VgaDefBiosLogo,$<,$@) + $(QUIET)$(VBOX_BIN2C) VgaDefBiosLogo $< $@ + +# Rule for making the bios logo. +$$(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c: $(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/puel_logo_ny.bmp $(VBOX_BIN2C) | $$(dir $$@) + $(call MSG_TOOL,bin2c,VgaDefBiosLogoNY,$<,$@) + $(QUIET)$(VBOX_BIN2C) VgaDefBiosLogoNY $< $@ + + +ifdef VBOX_WITH_OPEN_WATCOM + # + # Install the symbol file for the BIOS. + # + INSTALLS += VBoxVgaBiosSym + VBoxVgaBiosSym_TEMPLATE = VBoxDbgSyms + VBoxVgaBiosSym_SOURCES = \ + $(basename $(VBoxVgaBios386_1_TARGET)).sym \ + $(basename $(VBoxVgaBios286_1_TARGET)).sym \ + $(basename $(VBoxVgaBios8086_1_TARGET)).sym +endif + +include $(FILE_KBUILD_SUB_FOOTER) -- cgit v1.2.3