diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
commit | 16f504a9dca3fe3b70568f67b7d41241ae485288 (patch) | |
tree | c60f36ada0496ba928b7161059ba5ab1ab224f9d /src/VBox/ValidationKit/bootsectors/Makefile.kmk | |
parent | Initial commit. (diff) | |
download | virtualbox-16f504a9dca3fe3b70568f67b7d41241ae485288.tar.xz virtualbox-16f504a9dca3fe3b70568f67b7d41241ae485288.zip |
Adding upstream version 7.0.6-dfsg.upstream/7.0.6-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/ValidationKit/bootsectors/Makefile.kmk')
-rw-r--r-- | src/VBox/ValidationKit/bootsectors/Makefile.kmk | 472 |
1 files changed, 472 insertions, 0 deletions
diff --git a/src/VBox/ValidationKit/bootsectors/Makefile.kmk b/src/VBox/ValidationKit/bootsectors/Makefile.kmk new file mode 100644 index 00000000..a9fd5214 --- /dev/null +++ b/src/VBox/ValidationKit/bootsectors/Makefile.kmk @@ -0,0 +1,472 @@ +# $Id: Makefile.kmk $ +## @file +# VirtualBox Validation Kit - Bootsector Tests for Test Drivers or standalone testing. +# + +# +# Copyright (C) 2006-2022 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 <https://www.gnu.org/licenses>. +# +# The contents of this file may alternatively be used under the terms +# of the Common Development and Distribution License Version 1.0 +# (CDDL), a copy of it is provided in the "COPYING.CDDL" file included +# in the VirtualBox distribution, in which case the provisions of the +# CDDL are applicable instead of those of the GPL. +# +# You may elect to license modified versions of this file under the +# terms and conditions of either the GPL or the CDDL or both. +# +# SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 +# + +SUB_DEPTH = ../../../.. +include $(KBUILD_PATH)/subheader.kmk + + +# +# Make sure our Config.kmk gets included when kmk is running from a parent directory. +# +ifndef VBOX_BOOTSECTORS_CONFIG_KMK_INCLUDED + include $(PATH_SUB_CURRENT)/Config.kmk +endif + + +# +# Include sub-makefile. +# +# The VBOX_WITH_BS3KIT feature requires NASM 2.12 and either MSVC or gcc +# with ms_abi function attribute (gcc v4.4+, MSVC default). +# Some 32-bit gcc compilers come without 64-bit support (e.g. EL5). +# +if defined(VBOX_WITH_OPEN_WATCOM) + if1of ($(KBUILD_TARGET), win) + VBOX_WITH_BS3KIT = 1 + else if $(VBOX_GCC_VERSION_CC) >= 40400 # ms_abi was added in 4.4 + if1of ($(KBUILD_TARGET), linux) + ifneq ($(VBOX_GCC_m64),) + VBOX_WITH_BS3KIT = 1 + endif + endif + endif + ifdef VBOX_WITH_BS3KIT + include $(PATH_SUB_CURRENT)/bs3kit/Makefile.kmk + endif +endif + + +# +# Boot Sector "Linker" tool. +# +TOOL_VBoxBootSectorLd = Joins one or more BS2 object files into a floppy img. +TOOL_VBoxBootSectorLd_LINK_MISCBIN_OUTPUT = +TOOL_VBoxBootSectorLd_LINK_MISCBIN_DEPEND = +TOOL_VBoxBootSectorLd_LINK_MISCBIN_DEPORD = $(VBoxBs2Linker_1_TARGET) +define TOOL_VBoxBootSectorLd_LINK_MISCBIN_CMDS + $(VBoxBs2Linker_1_TARGET) -o $(out) $(objs) $(othersrc) +endef + +BLDPROGS += VBoxBs2Linker +VBoxBs2Linker_TEMPLATE = VBoxBldProg +VBoxBs2Linker_SOURCES = VBoxBs2Linker.cpp + + +# +# Makes a boot sector test image. +# +TEMPLATE_VBoxBsTestImg = kBuild tool config for building boot sector stuff. +TEMPLATE_VBoxBsTestImg_INST = $(INST_VALIDATIONKIT)bootsectors/ +TEMPLATE_VBoxBsTestImg_BINSUFF = .img +TEMPLATE_VBoxBsTestImg_MODE = 0644 +TEMPLATE_VBoxBsTestImg_ASTOOL = YASM +TEMPLATE_VBoxBsTestImg_ASFLAGS = -f bin -P $(VBOX_PATH_BOOTSECTORS_SRC)/bootsector2-first.mac $(VBOX_YASM_Wno-segreg-in-64bit) --mapfile +TEMPLATE_VBoxBsTestImg_ASDEFS = ASM_FORMAT_BIN +TEMPLATE_VBoxBsTestImg_INCS = \ + . \ + ../../VMM/testcase/Instructions +TEMPLATE_VBoxBsTestImg_LDTOOL = VBoxBootSectorLd + + +# +# The boot sector tests. +# +MISCBINS += bootsector-shutdown +bootsector-shutdown_TEMPLATE = VBoxBsTestImg +bootsector-shutdown_SOURCES = bootsector-shutdown.asm + +MISCBINS += bootsector-pae +bootsector-pae_TEMPLATE = VBoxBsTestImg +bootsector-pae_SOURCES = bootsector-pae.asm + +MISCBINS += bootsector-empty +bootsector-empty_TEMPLATE = VBoxBsTestImg +bootsector-empty_SOURCES = bootsector-empty.asm + +MISCBINS += bootsector2-test1 +bootsector2-test1_TEMPLATE = VBoxBsTestImg +bootsector2-test1_SOURCES = bootsector2-test1.asm + +MISCBINS += bootsector2-cpu-hidden-regs-1 +bootsector2-cpu-hidden-regs-1_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-hidden-regs-1_SOURCES = bootsector2-cpu-hidden-regs-1.asm + +MISCBINS += bootsector2-cpu-instr-1 +bootsector2-cpu-instr-1_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-instr-1_SOURCES = bootsector2-cpu-instr-1.asm + +MISCBINS += bootsector2-cpu-pf-1 +bootsector2-cpu-pf-1_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-pf-1_SOURCES = bootsector2-cpu-pf-1.asm + +MISCBINS += bootsector2-cpu-xcpt-1 +bootsector2-cpu-xcpt-1_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-xcpt-1_SOURCES = bootsector2-cpu-xcpt-1.asm + +MISCBINS += bootsector2-cpu-xcpt-2 +bootsector2-cpu-xcpt-2_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-xcpt-2_SOURCES = bootsector2-cpu-xcpt-2.asm + +MISCBINS += bootsector2-cpu-a20-1 +bootsector2-cpu-a20-1_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-a20-1_SOURCES = bootsector2-cpu-a20-1.asm + +MISCBINS += bootsector2-cpu-basic-1 +bootsector2-cpu-basic-1_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-basic-1_SOURCES = bootsector2-cpu-basic-1.asm + +MISCBINS += bootsector2-cpu-ac-loop +bootsector2-cpu-ac-loop_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-ac-loop_SOURCES = bootsector2-cpu-ac-loop.asm + +MISCBINS += bootsector2-cpu-db-loop +bootsector2-cpu-db-loop_TEMPLATE = VBoxBsTestImg +bootsector2-cpu-db-loop_SOURCES = bootsector2-cpu-db-loop.asm + +MISCBINS += bootsector2-boot-registers-1 +bootsector2-boot-registers-1_TEMPLATE = VBoxBsTestImg +bootsector2-boot-registers-1_SOURCES = bootsector2-boot-registers-1.asm + +MISCBINS += bootsector2-triple-fault-1 +bootsector2-triple-fault-1_TEMPLATE = VBoxBsTestImg +bootsector2-triple-fault-1_SOURCES = bootsector2-triple-fault-1.asm + + +ifeq ($(USERNAME),birdxx) + if1of ($(KBUILD_HOST).$(KBUILD_HOST_ARCH),win.amd64) +# +# Generated instruction tests (work in progress). +# + +VBOX_PATH_VBINSTST = $(PATH_ROOT)/src/VBox/VMM/testcase/Instructions +VBOX_VBINSTST_GEN = $(VBOX_PATH_VBINSTST)/InstructionTestGen.py +VBOX_BOOTSECTOR2_VBINSTST_AMD64_GEN = $(VBOX_BLD_PYTHON) $(VBOX_VBINSTST_GEN) \ + --split 3 --target bs2-r0-64 --output-base $(bootsectors_0_OUTDIR)/VBInsTst-64 --test-size tiny +VBOX_BOOTSECTOR2_VBINSTST_AMD64_FILES = $(shell $(VBOX_BOOTSECTOR2_VBINSTST_AMD64_GEN) --makefile-mode) + +#$$(bootsectors_0_OUTDIR)/VBInsTst.ts + $$(VBOX_BOOTSECTOR2_VBINSTST_AMD64_FILES): $(VBOX_VBINSTST_GEN) | $$(dir $$@) +# $(VBOX_BOOTSECTOR2_VBINSTST_AMD64_GEN) +# $(APPEND) -t $@ +# +#bootsectors_SOURCES += $(bootsectors_0_OUTDIR)/bootsector2-vbinstst-1.img +#bootsectors_CLEAN += $(VBOX_BOOTSECTOR2_VBINSTST_AMD64_FILES) +# +#$$(bootsectors_0_OUTDIR)/bootsector2-vbinstst-1.img: \ +# $(PATH_SUB_CURRENT)/bootsector2-vbinstst-64-1.asm \ +# $$(bootsectors_0_OUTDIR)/VBInsTst-64.asm +# $(TOOL_$(VBOX_ASTOOL)_AS) -f bin -D ASM_FORMAT_BIN -I $(dir $@) -I $(PATH_ROOT)/include -I $(VBOX_PATH_VBINSTST) -o $@ -L nasm -l $@.lst $< + +MISCBINS += bootsector2-vbinstst-kernel +bootsector2-vbinstst-kernel_TEMPLATE = VBoxBsTestImg +bootsector2-vbinstst-kernel_SOURCES = \ + bootsector2-vbinstst-kernel.asm + + +MISCBINS += bootsector2-vbinstst-64-1 +bootsector2-vbinstst-64-1_TEMPLATE = VBoxBsTestImg +bootsector2-vbinstst-64-1_DEFS = \ + BS2_BIG_IMAGE_LM64 \ + BS2_BIG_IMAGE_GEN_SOURCE_FILE=bs2-vbinstst-64-1.asm \ + BS2_BIG_IMAGE_GEN_TEST_NAME=\"bs2-vbinstst-64-1\" +bootsector2-vbinstst-64-1_INCS = $(bootsector2-vbinstst-64-1_0_OUTDIR)/ +bootsector2-vbinstst-64-1_SOURCES = \ + bootsector2-vbinstst-kernel.asm \ + bootsector2-vbinstst-big-template.asm +bootsector2-vbinstst-64-1_INTERMEDIATES = \ + $(bootsector2-vbinstst-64-1_0_OUTDIR)/bs2-vbinstst-64-1.asm +bootsector2-vbinstst-64-1_CLEAN = \ + $(bootsector2-vbinstst-64-1_0_OUTDIR)/bs2-vbinstst-64-1.asm + +$$(bootsector2-vbinstst-64-1_0_OUTDIR)/bs2-vbinstst-64-1.asm: $(VBOX_VBINSTST_GEN) | $$(dir $$@) + $(REDIRECT) -0 /dev/null -- $(VBOX_BLD_PYTHON) $(VBOX_VBINSTST_GEN) --target bs2-r0-64-big --output-base $(basename $@) --test-size medium + +MISCBINS += bootsector2-vbinstst-32-1 +bootsector2-vbinstst-32-1_TEMPLATE = VBoxBsTestImg +bootsector2-vbinstst-32-1_DEFS = \ + BS2_BIG_IMAGE_PP32 \ + BS2_BIG_IMAGE_GEN_SOURCE_FILE=bs2-vbinstst-32-1.asm \ + BS2_BIG_IMAGE_GEN_TEST_NAME=\"bs2-vbinstst-32-1\" +bootsector2-vbinstst-32-1_INCS = $(bootsector2-vbinstst-32-1_0_OUTDIR)/ +bootsector2-vbinstst-32-1_SOURCES = \ + bootsector2-vbinstst-kernel.asm \ + bootsector2-vbinstst-big-template.asm +bootsector2-vbinstst-32-1_INTERMEDIATES = \ + $(bootsector2-vbinstst-32-1_0_OUTDIR)/bs2-vbinstst-32-1.asm +bootsector2-vbinstst-32-1_CLEAN = \ + $(bootsector2-vbinstst-32-1_0_OUTDIR)/bs2-vbinstst-32-1.asm + +$$(bootsector2-vbinstst-32-1_0_OUTDIR)/bs2-vbinstst-32-1.asm: $(VBOX_VBINSTST_GEN) | $$(dir $$@) + $(REDIRECT) -0 /dev/null -- $(VBOX_BLD_PYTHON) $(VBOX_VBINSTST_GEN) --target bs2-r0-32-big --output-base $(basename $@) --test-size medium + + endif +endif # bird-only + + +ifdef VBOX_WITH_BS3KIT +# +# Bs3kit +# + +# +# APIC +# +MISCBINS += bs3-apic-1 +bs3-apic-1_TEMPLATE = VBoxBS3KitImg +bs3-apic-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-apic-1.c \ + bs3-apic-1-32.c32 + + +# CPU basics #2 (first being bootsector2-cpu-basic-1). +MISCBINS += bs3-cpu-basic-2 +bs3-cpu-basic-2_TEMPLATE = VBoxBS3KitImg +bs3-cpu-basic-2_INCS = . +bs3-cpu-basic-2_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-cpu-basic-2-template.c +bs3-cpu-basic-2_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-cpu-basic-2-template.c +bs3-cpu-basic-2_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-cpu-basic-2.c \ + bs3-cpu-basic-2-x0.c \ + bs3-cpu-basic-2-32.c32 \ + bs3-cpu-basic-2-pf.c32 \ + bs3-cpu-basic-2-asm.asm \ + bs3kit/bs3-cmn-instantiate-x0.c16 \ + bs3kit/bs3-cmn-instantiate.c32 \ + bs3kit/bs3-cmn-instantiate.c64 +bs3-cpu-basic-2-template.o:: \ + $$(bs3-cpu-basic-2_0_OUTDIR)/bs3kit/bs3-cmn-instantiate-x0.o16 \ + $$(bs3-cpu-basic-2_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o32 \ + $$(bs3-cpu-basic-2_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o64 \ + $$(bs3-cpu-basic-2_0_OUTDIR)/bs3-cpu-basic-2-asm.o16 + +# +# CPU weird stuff #1. +# +MISCBINS += bs3-cpu-weird-1 +bs3-cpu-weird-1_TEMPLATE = VBoxBS3KitImg +bs3-cpu-weird-1_INCS = . +bs3-cpu-weird-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-cpu-weird-1.c \ + bs3-cpu-weird-1-x0.c \ + bs3-cpu-weird-1-asm.asm + +# +# 64-bit CPU state #1. +# +MISCBINS += bs3-cpu-state64-1 +bs3-cpu-state64-1_TEMPLATE = VBoxBS3KitImg +bs3-cpu-state64-1_INCS = . +bs3-cpu-state64-1_SOURCES = \ + bs3kit/bs3-first-init-all-lm64.asm \ + bs3-cpu-state64-1.c64 \ + bs3-cpu-state64-1-asm.asm + +# +# FPU state corruption checker. +# +MISCBINS += bs3-fpustate-1 +bs3-fpustate-1_TEMPLATE = VBoxBS3KitImg +bs3-fpustate-1_INCS = . +bs3-fpustate-1_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-fpustate-1-template.c +bs3-fpustate-1_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-fpustate-1-template.c +bs3-fpustate-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-fpustate-1.c \ + bs3kit/bs3-cmn-instantiate.c16 \ + bs3kit/bs3-cmn-instantiate.c32 \ + bs3kit/bs3-cmn-instantiate.c64 \ + bs3-fpustate-1-asm.asm +bs3-fpustate-1-template.o:: \ + $$(bs3-fpustate-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o16 \ + $$(bs3-fpustate-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o32 \ + $$(bs3-fpustate-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o64 \ + $$(bs3-fpustate-1_0_OUTDIR)/bs3-fpustate-1-asm.o16 + +# +# CPU instruction decoding experiments. +# +MISCBINS += bs3-cpu-decoding-1 +bs3-cpu-decoding-1_TEMPLATE = VBoxBS3KitImg +bs3-cpu-decoding-1_INCS = . +bs3-cpu-decoding-1_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-cpu-decoding-1-template.c +bs3-cpu-decoding-1_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-cpu-decoding-1-template.c +bs3-cpu-decoding-1_SOURCES = \ + bs3kit/bs3-first-init-all-pp32.asm \ + bs3-cpu-decoding-1.c32 \ + bs3-cpu-decoding-1-asm.asm +# bs3kit/bs3-cmn-instantiate.c16 \ +# bs3kit/bs3-cmn-instantiate.c32 \ +# bs3kit/bs3-cmn-instantiate.c64 +bs3-cpu-decoding-1-template.o:: \ + $$(bs3-cpu-decoding-1_0_OUTDIR)/bs3-cpu-decoding-1-asm.o16 +# $$(bs3-cpu-decoding-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o16 \ +# $$(bs3-cpu-decoding-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o32 \ +# $$(bs3-cpu-decoding-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o64 \ + + +# +# CPU instructions #2 (first being bootsector2-cpu-instr-1). +# +MISCBINS += bs3-cpu-instr-2 +bs3-cpu-instr-2_TEMPLATE = VBoxBS3KitImg +bs3-cpu-instr-2_INCS = . +bs3-cpu-instr-2_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-cpu-instr-2-template.c +bs3-cpu-instr-2_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-cpu-instr-2-template.c +bs3-cpu-instr-2_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-cpu-instr-2.c \ + bs3-cpu-instr-2-asm.asm \ + bs3kit/bs3-cmn-instantiate-x0.c16 \ + bs3kit/bs3-cmn-instantiate.c32 \ + bs3kit/bs3-cmn-instantiate.c64 +bs3-cpu-instr-2-template.o:: \ + $$(bs3-cpu-instr-2_0_OUTDIR)/bs3kit/bs3-cmn-instantiate-x0.o16 \ + $$(bs3-cpu-instr-2_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o32 \ + $$(bs3-cpu-instr-2_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o64 \ + $$(bs3-cpu-instr-2_0_OUTDIR)/bs3-cpu-instr-2-asm.o16 + +# +# CPU instructions #3 - SSE, ++. +# +MISCBINS += bs3-cpu-instr-3 +bs3-cpu-instr-3_TEMPLATE = VBoxBS3KitImg +bs3-cpu-instr-3_INCS = . +bs3-cpu-instr-3_SOURCES = \ + bs3kit/bs3-first-init-all-pe32.asm \ + bs3-cpu-instr-3.c32 \ + bs3-cpu-instr-3-asm.asm +bs3-cpu-instr-3-template.o:: \ + $$(bs3-cpu-instr-3_0_OUTDIR)/bs3-cpu-instr-3-asm.o16 + +# +# CPU generated instruction tests #1 +# +MISCBINS += bs3-cpu-generated-1 +bs3-cpu-generated-1_TEMPLATE = VBoxBS3KitImg +bs3-cpu-generated-1_INCS = . +bs3-cpu-generated-1_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-cpu-generated-1-template.c +bs3-cpu-generated-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-cpu-generated-1.c \ + bs3-cpu-generated-1-asm.asm \ + bs3kit/bs3-cmn-instantiate-x0.c16 \ + bs3kit/bs3-cmn-instantiate.c32 \ + bs3kit/bs3-cmn-instantiate.c64 \ + $(bs3-cpu-generated-1_0_OUTDIR)/bs3-cpu-generated-1-data.c16 +bs3-cpu-generated-1_CLEAN = $(bs3-cpu-generated-1_0_OUTDIR)/bs3-cpu-generated-1-data.c16 + +bs3-cpu-generated-1-template.o:: \ + $$(bs3-cpu-generated-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate-x0.o16 \ + $$(bs3-cpu-generated-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o32 \ + $$(bs3-cpu-generated-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o64 \ + $$(bs3-cpu-generated-1_0_OUTDIR)/bs3-cpu-generated-1-asm.o16 + +$$(bs3-cpu-generated-1_0_OUTDIR)/bs3-cpu-generated-1-data.c16: \ + $(PATH_SUB_CURRENT)/bs3-cpu-generated-1-data.py \ + $(PATH_SUB_CURRENT)/../../VMM/VMMAll/IEMAllInstructionsPython.py \ + $(PATH_SUB_CURRENT)/../../VMM/VMMAll/IEMAllInstructions*.cpp.h \ + | $$(dir $$@) + $(REDIRECT) -0 /dev/null -- $(VBOX_BLD_PYTHON) $< $@ + +# +# Memory allocation. +# +MISCBINS += bs3-memalloc-1 +bs3-memalloc-1_TEMPLATE = VBoxBS3KitImg +bs3-memalloc-1_INCS = . +bs3-memalloc-1_SOURCES = \ + bs3kit/bs3-first-init-all-lm64.asm \ + bs3-memalloc-1.c64 + + +# +# Timer Interrupts +# +MISCBINS += bs3-timers-1 +bs3-timers-1_TEMPLATE = VBoxBS3KitImg +bs3-timers-1_INCS = . +bs3-timers-1_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-timers-1-template.c +bs3-timers-1_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-timers-1-template.c +bs3-timers-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-timers-1.c \ + bs3-timers-1-x0.c + +# +# Timing +# +MISCBINS += bs3-timing-1 +bs3-timing-1_TEMPLATE = VBoxBS3KitImg +bs3-timing-1_INCS = . +bs3-timing-1_DEFS = BS3_CMN_INSTANTIATE_FILE1=bs3-timing-1-template.c +bs3-timing-1_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-timing-1-template.c +bs3-timing-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-timing-1.c \ + bs3-timing-1-32.c32 + +# +# Lock contention and interruption. +# +MISCBINS += bs3-locking-1 +bs3-locking-1_TEMPLATE = VBoxBS3KitImg +bs3-locking-1_INCS = . +bs3-locking-1_SOURCES = \ + bs3kit/bs3-first-rm.asm \ + bs3-locking-1.c + +endif # VBOX_WITH_BS3KIT + + +# +# Executable version of the bs3-timing-1 bootsector. +# +PROGRAMS += bs3-timing-1-exe +bs3-timing-1-exe_TEMPLATE = VBoxValidationKitR3 +bs3-timing-1-exe_NAME = bs3-timing-1 +bs3-timing-1-exe_SOURCES = bs3-timing-1-exe.c + + +# +# pylint +# +VBOX_VALIDATIONKIT_PYTHON_SOURCES += $(wildcard $(PATH_SUB_CURRENT)/*.py) +$(evalcall def_vbox_validationkit_process_python_sources) + +include $(FILE_KBUILD_SUB_FOOTER) + |