diff --git a/src/common/inc/nvBldVer.h b/src/common/inc/nvBldVer.h index 8fbebbd3a..257f800ff 100644 --- a/src/common/inc/nvBldVer.h +++ b/src/common/inc/nvBldVer.h @@ -42,7 +42,7 @@ #define NV_PUBLIC_BRANCH r591_47 #endif -#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) +#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_HAIKU) #define NV_BUILD_BRANCH_VERSION "rel/gpu_drv/r590/r591_47-174" #define NV_BUILD_CHANGELIST_NUM (37007394) #define NV_BUILD_TYPE "Official" diff --git a/src/common/inc/nvUnixVersion.h b/src/common/inc/nvUnixVersion.h index d598dd66b..fe7408486 100644 --- a/src/common/inc/nvUnixVersion.h +++ b/src/common/inc/nvUnixVersion.h @@ -1,7 +1,7 @@ #ifndef __NV_UNIX_VERSION_H__ #define __NV_UNIX_VERSION_H__ -#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || \ +#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || defined(NV_HAIKU) || \ (defined(RMCFG_FEATURE_PLATFORM_GSP) && RMCFG_FEATURE_PLATFORM_GSP == 1) || \ defined(NV_DCECORE) diff --git a/src/common/inc/nvVer.h b/src/common/inc/nvVer.h index 4a8b3fd2d..82bd75f5e 100644 --- a/src/common/inc/nvVer.h +++ b/src/common/inc/nvVer.h @@ -6,7 +6,7 @@ #define NV_COPYRIGHT_YEAR "2025" #define NV_COPYRIGHT "(C) " NV_COPYRIGHT_YEAR " NVIDIA Corporation. All rights reserved." // Please do not use the non-ascii copyright symbol for (C). -#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || \ +#if defined(NV_LINUX) || defined(NV_BSD) || defined(NV_SUNOS) || defined(NV_VMWARE) || defined(NV_QNX) || defined(NV_INTEGRITY) || defined(NV_HAIKU) || \ (defined(RMCFG_FEATURE_PLATFORM_GSP) && RMCFG_FEATURE_PLATFORM_GSP == 1) || \ defined(NV_DCECORE) diff --git a/src/common/sdk/nvidia/inc/cpuopsys.h b/src/common/sdk/nvidia/inc/cpuopsys.h index 230c7b521..cd5ff98c6 100644 --- a/src/common/sdk/nvidia/inc/cpuopsys.h +++ b/src/common/sdk/nvidia/inc/cpuopsys.h @@ -88,8 +88,12 @@ # define NV_BSD #endif /* defined(__FreeBSD__) */ +#if defined(__HAIKU__) +# define NV_HAIKU +#endif /* defined(__HAIKU__) */ + /* XXXar don't define NV_UNIX on MacOSX or vxworks or QNX */ -#if (defined(__unix__) || defined(__unix) || defined(__INTEGRITY) ) && !defined(nvmacosx) && !defined(vxworks) && !defined(NV_UNIX) && !defined(__QNX__) && !defined(__QNXNTO__)/* XXX until removed from Makefiles */ +#if (defined(__unix__) || defined(__unix) || defined(__INTEGRITY) || defined(NV_HAIKU) ) && !defined(nvmacosx) && !defined(vxworks) && !defined(NV_UNIX) && !defined(__QNX__) && !defined(__QNXNTO__)/* XXX until removed from Makefiles */ # define NV_UNIX #endif /* defined(__unix__) */ diff --git a/src/nvidia-modeset/Makefile b/src/nvidia-modeset/Makefile index b54138cc4..8d422ad71 100644 --- a/src/nvidia-modeset/Makefile +++ b/src/nvidia-modeset/Makefile @@ -89,7 +89,7 @@ CFLAGS += -O2 ifeq ($(TARGET_ARCH),x86_64) CFLAGS += -msoft-float CFLAGS += -mno-red-zone - CFLAGS += -mcmodel=kernel +# CFLAGS += -mcmodel=kernel CFLAGS += -mno-mmx CFLAGS += -mno-sse CFLAGS += -mno-sse2 @@ -104,15 +104,15 @@ ifeq ($(TARGET_ARCH),aarch64) endif ifeq ($(TARGET_ARCH),riscv64) - CFLAGS += -march=rv64imac_zicsr_zifencei + CFLAGS += -march=rv64gc CFLAGS += -mabi=lp64 CFLAGS += -mcmodel=medany CFLAGS += -mno-relax endif -CFLAGS += -fno-pic +CFLAGS += -fpic CFLAGS += -fno-common -CFLAGS += -fomit-frame-pointer +CFLAGS += -fno-omit-frame-pointer CFLAGS += -fno-strict-aliasing CFLAGS += -ffunction-sections CFLAGS += -fdata-sections @@ -153,8 +153,8 @@ ifeq ($(TARGET_ARCH),x86_64) CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -fcf-protection=branch) endif CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -fno-jump-tables) - CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch=thunk-extern) - CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch-register) +# CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch=thunk-extern) +# CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch-register) endif CFLAGS += $(CONDITIONAL_CFLAGS) diff --git a/src/nvidia/Makefile b/src/nvidia/Makefile index d1d6d8663..b33035b01 100644 --- a/src/nvidia/Makefile +++ b/src/nvidia/Makefile @@ -80,7 +80,7 @@ CFLAGS += -fno-stack-protector ifeq ($(TARGET_ARCH),x86_64) CFLAGS += -msoft-float CFLAGS += -mno-red-zone - CFLAGS += -mcmodel=kernel +# CFLAGS += -mcmodel=kernel CFLAGS += -mno-mmx CFLAGS += -mno-sse CFLAGS += -mno-sse2 @@ -96,13 +96,13 @@ ifeq ($(TARGET_ARCH),aarch64) endif ifeq ($(TARGET_ARCH),riscv64) - CFLAGS += -march=rv64imac_zicsr_zifencei + CFLAGS += -march=rv64gc CFLAGS += -mabi=lp64 CFLAGS += -mcmodel=medany CFLAGS += -mno-relax endif -CFLAGS += -fno-pic +CFLAGS += -fpic CFLAGS += -D_LANGUAGE_C CFLAGS += -D__NO_CTYPE @@ -138,9 +138,9 @@ CFLAGS += -DNV_PRINTF_STRINGS_ALLOWED=1 CFLAGS += -DNV_ASSERT_FAILED_USES_STRINGS=1 CFLAGS += -DPORT_ASSERT_FAILED_USES_STRINGS=1 -ifeq ($(DEBUG),1) - CFLAGS += -gsplit-dwarf -endif +#ifeq ($(DEBUG),1) +# CFLAGS += -gsplit-dwarf +#endif # Define how to perform dead code elimination: place each symbol in its own # section at compile time, and garbage collect unreachable sections at link @@ -183,8 +183,8 @@ ifeq ($(TARGET_ARCH),x86_64) CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -fcf-protection=branch) endif CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -fno-jump-tables) - CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch-register) - CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch=thunk-extern) +# CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch-register) +# CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch=thunk-extern) endif CFLAGS += $(CONDITIONAL_CFLAGS) diff --git a/src/nvidia/arch/nvalloc/unix/src/osinit.c b/src/nvidia/arch/nvalloc/unix/src/osinit.c index 44185ad78..0be9ee6a8 100644 --- a/src/nvidia/arch/nvalloc/unix/src/osinit.c +++ b/src/nvidia/arch/nvalloc/unix/src/osinit.c @@ -1498,7 +1498,7 @@ RmSetupRegisters( NV_DEV_PRINTF(NV_DBG_SETUP, nv, "RmSetupRegisters for 0x%x:0x%x\n", nv->pci_info.vendor_id, nv->pci_info.device_id); NV_DEV_PRINTF(NV_DBG_SETUP, nv, "pci config info:\n"); - NV_DEV_PRINTF(NV_DBG_SETUP, nv, " registers look like: 0x%" NvU64_fmtx " 0x%" NvU64_fmtx, + NV_DEV_PRINTF(NV_DBG_SETUP, nv, " registers look like: 0x%" NvU64_fmtx " 0x%" NvU64_fmtx "\n", nv->regs->cpu_address, nv->regs->size); if (nv->fb != NULL)