blob: c6923c752c9aa7659d3134bc5752d930d7b34c2a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#
# Makefile for the VirtualBox Linux Host PCI Driver.
#
#
# Copyright (C) 2011-2019 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
# The contents of this file may alternatively be used under the terms
# of the Common Development and Distribution License Version 1.0
# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
# VirtualBox OSE 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.
#
# Linux kbuild sets this to our source directory if we are called from there
obj ?= $(CURDIR)
include $(obj)/Makefile.include.header
# override is required by the Debian guys
MOD_NAME = vboxpci
MOD_OBJS = \
linux/VBoxPci-linux.o \
VBoxPci.o \
SUPR0IdcClient.o \
SUPR0IdcClientComponent.o \
linux/SUPR0IdcClient-linux.o
ifeq ($(BUILD_TARGET_ARCH),x86)
MOD_OBJS += math/gcc/divdi3.o \
math/gcc/moddi3.o \
math/gcc/qdivrem.o \
math/gcc/udivdi3.o \
math/gcc/udivmoddi4.o \
math/gcc/divdi3.o \
math/gcc/umoddi3.o
endif
MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \
-DRT_WITH_VBOX -DVBOX_WITH_HARDENING
ifeq ($(BUILD_TARGET_ARCH),amd64)
MOD_DEFS += -DRT_ARCH_AMD64
else
MOD_DEFS += -DRT_ARCH_X86
endif
# By default we use remap_pfn_range() kernel API to make kernel pages
# visible for userland. Unfortunately, it leads to situation that
# during debug session all structures on that page (such as PVM pointer)
# are not accessible to the debugger (see #3214).
# This code enables experimental support
# for vm_insert_page() kernel API, allowing to export kernel pages
# to the userland in more debugger-friendly way. Due to stability
# concerns, not enabled by default yet.
ifdef VBOX_USE_INSERT_PAGE
MOD_DEFS += -DVBOX_USE_INSERT_PAGE
endif
# build defs
MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
include $(obj)/Makefile.include.footer
|