VirtualBox

Changeset 106644 in vbox


Ignore:
Timestamp:
Oct 24, 2024 8:18:36 AM (5 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165486
Message:

HostDrivers/VBoxNetFlt: Made VBoxNetLwf build on win.arm64, VBoxNetAdp unfortunately needs more work. jiraref:VBP-1253

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk

    r106061 r106644  
    4343 # VBoxNetFlt.sys - The mixed case driver.
    4444 #
     45 # Note! Note built for win.arm64.
     46 #
    4547 ifdef VBOX_WITH_VBOXDRV
    46   SYSMODS += VBoxNetFlt
     48  SYSMODS.darwin    += VBoxNetFlt
     49  SYSMODS.win.x86   += VBoxNetFlt
     50  SYSMODS.win.amd64 += VBoxNetFlt
    4751 endif
    4852 VBoxNetFlt_TEMPLATE = VBoxR0Drv
     
    5357  VBoxNetFlt_DEBUG_INSTTYPE = both
    5458 endif
    55  VBoxNetFlt_DEFS = IN_RT_R0 IN_SUP_STATIC
     59 VBoxNetFlt_DEFS      = IN_RT_R0 IN_SUP_STATIC
     60 VBoxNetFlt_DEFS.win  = VBOXNETFLT_STATIC_CONFIG
     61 VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
     62 VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
     63 VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
     64 ifdef VBOX_LOOPBACK_USEFLAGS
     65  VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
     66 endif
    5667 VBoxNetFlt_INCS = .
    5768 VBoxNetFlt_SOURCES.darwin = \
     
    6374        win/drv/VBoxNetFltRt-win.cpp \
    6475        win/drv/VBoxNetFlt-win.rc
    65  # with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
    66  # otherwise the linker would complain about dumplicate _KeInitializeSpinLock@4 definition
    67  # in ntoskrnl.lib and our object files
    68  VBoxNetFlt_DEFS.win += WIN9X_COMPAT_SPINLOCK=1
    69  VBoxNetFlt_DEFS.win += VBOXNETFLT_STATIC_CONFIG
    70  VBoxNetFlt_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
    71  VBoxNetFlt_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
    72  VBoxNetFlt_DEFS.win += NDIS50_MINIPORT=1 NDIS50=1
    73  ifdef VBOX_LOOPBACK_USEFLAGS
    74   VBoxNetFlt_DEFS.win += VBOX_LOOPBACK_USEFLAGS
    75  endif
    7676 VBoxNetFlt_SOURCES = VBoxNetFlt.c
    7777 #VBoxNetFlt_LDFLAGS.darwin = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
     
    126126  #
    127127  ifdef VBOX_WITH_VBOXDRV
    128    INSTALLS.win += VBoxNetFlt-inf
     128   INSTALLS.win.x86   += VBoxNetFlt-inf
     129   INSTALLS.win.amd64 += VBoxNetFlt-inf
    129130  endif
    130131  VBoxNetFlt-inf_TEMPLATE = VBoxR0DrvInfCat
     
    167168
    168169  #
    169   # VBoxNetLwf.sys - The light-weight filter driver for NDIS6.
     170  # VBoxNetLwf.sys - The light-weight filter driver for NDIS6 (i.e. Windows only).
    170171  #
    171172  ifdef VBOX_WITH_VBOXDRV
    172    SYSMODS += VBoxNetLwf
     173   SYSMODS.win += VBoxNetLwf
    173174  endif
    174175  VBoxNetLwf_TEMPLATE = VBoxR0Drv
     
    179180  endif
    180181  VBoxNetLwf_DEFS = IN_RT_R0 IN_SUP_STATIC
    181   VBoxNetLwf_INCS = .
    182   VBoxNetLwf_SOURCES = VBoxNetFlt.c VBoxNetFlt.rc
    183   VBoxNetLwf_SDKS.win = ReorderCompilerIncs $(VBOX_WINDDK_WLH) $(VBOX_WINPSDK_INCS)
    184   VBoxNetLwf_SOURCES.win = \
    185         win/drv/VBoxNetLwf-win.cpp
    186   # with WINDDKWLH the WIN9X_COMPAT_SPINLOCK is needed to avoid inline declaration of KeInitializeSpinLock
    187   # otherwise the linker would complain about dumplicate _KeInitializeSpinLock@4 definition
    188   # in ntoskrnl.lib and our object files
    189   VBoxNetLwf_DEFS.win += WIN9X_COMPAT_SPINLOCK=1 NDISLWF=1 DBG=1
     182  VBoxNetLwf_DEFS.win = NDISLWF=1 DBG=1
    190183  # VBoxNetLwf_DEFS.win += VBOXNETFLT_STATIC_CONFIG
    191184  # VBoxNetLwf_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
    192185  # VBoxNetLwf_DEFS.win += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
    193   VBoxNetLwf_DEFS.win += NDIS60=1
    194186  # ifdef VBOX_LOOPBACK_USEFLAGS
    195187  #  VBoxNetLwf_DEFS.win += VBOX_LOOPBACK_USEFLAGS
    196188  # endif
    197   # VBoxNetLwf_SOURCES = VBoxNetLwf.c
    198   VBoxNetLwf_LDFLAGS.win.x86 = -Entry:DriverEntry@8
    199   VBoxNetLwf_LDFLAGS.win.amd64 = -Entry:DriverEntry
     189  VBoxNetLwf_DEFS.win.x86   = NDIS60=1
     190  VBoxNetLwf_DEFS.win.amd64 = NDIS60=1
     191  VBoxNetLwf_DEFS.win.arm64 = NDIS630=1 # The minimum version for non-x86/amd64.
     192  VBoxNetLwf_SDKS.win = ReorderCompilerIncs $(VBOX_WINDDK_WLH) $(VBOX_WINPSDK_INCS)
     193  VBoxNetLwf_INCS = .
     194  VBoxNetLwf_SOURCES = \
     195        win/drv/VBoxNetLwf-win.cpp \
     196        VBoxNetFlt.c \
     197        VBoxNetFlt.rc
     198  VBoxNetLwf_LDFLAGS.win.x86   := -Entry:DriverEntry@8
     199  VBoxNetLwf_LDFLAGS.win.amd64 := -Entry:DriverEntry
     200  VBoxNetLwf_LDFLAGS.win.arm64 := -Entry:DriverEntry
    200201  VBoxNetLwf_LIBS.win = \
    201202        $(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/ntoskrnl.lib \
     
    204205        $(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/netio.lib \
    205206        $(PATH_STAGE_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
     207  VBoxNetLwf_LIBS.win.arm64 = \
     208        $(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/BufferOverflowFastFailK.lib
    206209  VBoxNetLwf_LIBS = \
    207210        $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
     211
    208212  #
    209213  # VBoxNetLwf installation.
     
    386390  #
    387391  ifdef VBOX_WITH_VBOXDRV
    388    SYSMODS.win += VBoxNetAdp
     392   ifeq ($(KBUILD_TARGET_ARCH),arm64)
     393    $(warning TODO: Port VBoxNetAdp to NDIS 6.3+ for win.amd64.)
     394   else
     395    SYSMODS.win  += VBoxNetAdp
     396    INSTALLS.win += VBoxNetAdp-inf
     397   endif
    389398  endif
    390399  VBoxNetAdp_TEMPLATE = VBoxR0Drv
     
    395404  endif
    396405  VBoxNetAdp_DEFS = IN_RT_R0 IN_SUP_STATIC
     406  VBoxNetAdp_DEFS += VBOXNETFLT_STATIC_CONFIG VBOXNETADP
     407  VBoxNetAdp_DEFS += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
     408  VBoxNetAdp_DEFS += VBOXNETFLT_NO_PACKET_QUEUE
     409  VBoxNetAdp_DEFS.x86   = NDIS50_MINIPORT=1 NDIS50=1
     410  VBoxNetAdp_DEFS.amd64 = NDIS50_MINIPORT=1 NDIS50=1
     411  VBoxNetAdp_DEFS.arm64 = NDIS630_MINIPORT=1 NDIS630=1
    397412  VBoxNetAdp_INCS := $(PATH_SUB_CURRENT)
    398413  VBoxNetAdp_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_WLH) $(VBOX_WINPSDK_INCS)
     
    402417        win/drv/VBoxNetFltRt-win.cpp \
    403418        win/drv/VBoxNetFlt-win.rc
    404   VBoxNetAdp_DEFS += VBOXNETFLT_STATIC_CONFIG VBOXNETADP
    405   VBoxNetAdp_DEFS.win += VBOXNETFLT_NO_PACKET_QUEUE
    406   VBoxNetAdp_DEFS += NDIS_MINIPORT_DRIVER NDIS_WDM=1 BINARY_COMPATIBLE=0
    407   VBoxNetAdp_DEFS += NDIS50_MINIPORT=1 NDIS50=1
    408   VBoxNetAdp_LDFLAGS.win.x86 = -Entry:DriverEntry@8
     419  VBoxNetAdp_LDFLAGS.win.x86   = -Entry:DriverEntry@8
    409420  VBoxNetAdp_LDFLAGS.win.amd64 = -Entry:DriverEntry
     421  VBoxNetAdp_LDFLAGS.win.arm64 = -Entry:DriverEntry
    410422  VBoxNetAdp_LIBS.win = \
    411423        $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ntoskrnl.lib \
     
    415427  VBoxNetAdp_LIBS = \
    416428        $(PATH_STAGE_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
    417 
    418 
    419   ifdef VBOX_WITH_VBOXDRV
    420    INSTALLS.win += VBoxNetAdp-inf
    421   endif
     429  VBoxNetAdp_LIBS.win.arm64 = \
     430        $(PATH_SDK_$(VBOX_WINDDK_WLH)_LIB)/BufferOverflowFastFailK.lib
     431
     432  # The .INF and .CAT files associate with VBoxNetAdp.sys.
    422433  VBoxNetAdp-inf_TEMPLATE = VBoxR0DrvInfCat
    423   VBoxNetAdp-inf_SOURCES = \
    424         $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf
    425   VBoxNetAdp-inf_CLEAN = $(VBoxNetAdp-inf_SOURCES)
    426   VBoxNetAdp-inf_BLDDIRS = $(PATH_TARGET)/VBoxNetAdpCat.dir
     434  VBoxNetAdp-inf_SOURCES  = $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf
     435  VBoxNetAdp-inf_CLEAN    = $(VBoxNetAdp-inf_SOURCES)
     436  VBoxNetAdp-inf_BLDDIRS  = $(PATH_TARGET)/VBoxNetAdpCat.dir
    427437
    428438  $(PATH_TARGET)/VBoxNetAdpCat.dir/VBoxNetAdp.inf: $(PATH_SUB_CURRENT)/win/drv/VBoxNetAdp.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
     
    443453        $(call MSG_TOOL,Inf2Cat,VBoxNetFlt-inf,$@,$<)
    444454        $(call VBOX_MAKE_CAT_FN, $(@D),$@)
    445 
    446   endif #  ifdef VBOX_SIGNING_MODE
    447 
    448  endif #ifeq ($(KBUILD_TARGET), win)
     455  endif # VBOX_SIGNING_MODE
     456
     457 endif # $(KBUILD_TARGET) == win
    449458
    450459else if1of ($(KBUILD_TARGET), solaris freebsd) ## @todo merge this with the mixed case stuff.
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette