summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2009-12-16 17:05:17 -0800
committerGary King <gking@nvidia.com>2009-12-16 19:27:50 -0800
commit9d97f24f7b2c25222cce0072923c44be2e20ff5a (patch)
tree964dec76b370942f3fab3d1d60a9f2c484d9a553
parenta7427358b911772d3b4311cc9651b62e4489e437 (diff)
tegra: export symbols from NvRefTrack and NvOs
export the full set of NvOs and NvRefTrack symbols to kernel modules
-rw-r--r--arch/arm/mach-tegra/nvos/Makefile1
-rw-r--r--arch/arm/mach-tegra/nvos/nvos_exports.c155
-rw-r--r--arch/arm/mach-tegra/nvreftrack/nvreftrack.c7
3 files changed, 163 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/nvos/Makefile b/arch/arm/mach-tegra/nvos/Makefile
index 5d3649a302e7..214f2b62d6fb 100644
--- a/arch/arm/mach-tegra/nvos/Makefile
+++ b/arch/arm/mach-tegra/nvos/Makefile
@@ -9,3 +9,4 @@ endif
obj-y += nvos.o
obj-y += nvustring.o
+obj-y += nvos_exports.o
diff --git a/arch/arm/mach-tegra/nvos/nvos_exports.c b/arch/arm/mach-tegra/nvos/nvos_exports.c
new file mode 100644
index 000000000000..6e39f50ffde1
--- /dev/null
+++ b/arch/arm/mach-tegra/nvos/nvos_exports.c
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2009 NVIDIA Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the NVIDIA Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "nvos.h"
+#include "nvutil.h"
+#include "nvassert.h"
+#if NVOS_IS_LINUX_KERNEL
+#include <linux/module.h>
+EXPORT_SYMBOL(NvOsBreakPoint);
+EXPORT_SYMBOL(NvOsFprintf);
+EXPORT_SYMBOL(NvOsSnprintf);
+EXPORT_SYMBOL(NvOsVfprintf);
+EXPORT_SYMBOL(NvOsVsnprintf);
+EXPORT_SYMBOL(NvOsDebugPrintf);
+EXPORT_SYMBOL(NvOsDebugVprintf);
+EXPORT_SYMBOL(NvOsDebugNprintf);
+EXPORT_SYMBOL(NvOsStrncpy);
+EXPORT_SYMBOL(NvOsStrlen);
+EXPORT_SYMBOL(NvOsStrcmp);
+EXPORT_SYMBOL(NvOsStrncmp);
+EXPORT_SYMBOL(NvOsStrGetSystemCodePage);
+EXPORT_SYMBOL(NvOsMemcpy);
+EXPORT_SYMBOL(NvOsMemcmp);
+EXPORT_SYMBOL(NvOsMemset);
+EXPORT_SYMBOL(NvOsMemmove);
+EXPORT_SYMBOL(NvOsCopyIn);
+EXPORT_SYMBOL(NvOsCopyOut);
+EXPORT_SYMBOL(NvOsFopen);
+EXPORT_SYMBOL(NvOsFclose);
+EXPORT_SYMBOL(NvOsFwrite);
+EXPORT_SYMBOL(NvOsFread);
+EXPORT_SYMBOL(NvOsFreadTimeout);
+EXPORT_SYMBOL(NvOsFgetc);
+EXPORT_SYMBOL(NvOsFseek);
+EXPORT_SYMBOL(NvOsFtell);
+EXPORT_SYMBOL(NvOsStat);
+EXPORT_SYMBOL(NvOsFstat);
+EXPORT_SYMBOL(NvOsFflush);
+EXPORT_SYMBOL(NvOsFsync);
+EXPORT_SYMBOL(NvOsIoctl);
+EXPORT_SYMBOL(NvOsOpendir);
+EXPORT_SYMBOL(NvOsReaddir);
+EXPORT_SYMBOL(NvOsClosedir);
+EXPORT_SYMBOL(NvOsSetFileHooks);
+EXPORT_SYMBOL(NvOsGetConfigU32);
+EXPORT_SYMBOL(NvOsGetConfigString);
+EXPORT_SYMBOL(NvOsAlloc);
+EXPORT_SYMBOL(NvOsRealloc);
+EXPORT_SYMBOL(NvOsFree);
+#if NV_DEBUG
+EXPORT_SYMBOL(NvOsAllocLeak);
+EXPORT_SYMBOL(NvOsReallocLeak);
+EXPORT_SYMBOL(NvOsFreeLeak);
+#endif
+EXPORT_SYMBOL(NvOsExecAlloc);
+EXPORT_SYMBOL(NvOsSharedMemAlloc);
+EXPORT_SYMBOL(NvOsSharedMemMap);
+EXPORT_SYMBOL(NvOsSharedMemUnmap);
+EXPORT_SYMBOL(NvOsSharedMemFree);
+EXPORT_SYMBOL(NvOsPhysicalMemMap);
+EXPORT_SYMBOL(NvOsPhysicalMemMapIntoCaller);
+EXPORT_SYMBOL(NvOsPhysicalMemUnmap);
+EXPORT_SYMBOL(NvOsPageAlloc);
+EXPORT_SYMBOL(NvOsPageFree);
+EXPORT_SYMBOL(NvOsPageLock);
+EXPORT_SYMBOL(NvOsPageMap);
+EXPORT_SYMBOL(NvOsPageMapIntoPtr);
+EXPORT_SYMBOL(NvOsPageUnmap);
+EXPORT_SYMBOL(NvOsPageAddress);
+EXPORT_SYMBOL(NvOsLibraryLoad);
+EXPORT_SYMBOL(NvOsLibraryGetSymbol);
+EXPORT_SYMBOL(NvOsLibraryUnload);
+EXPORT_SYMBOL(NvOsSleepMS);
+EXPORT_SYMBOL(NvOsWaitUS);
+EXPORT_SYMBOL(NvOsMutexCreate);
+EXPORT_SYMBOL(NvOsTraceLogPrintf);
+EXPORT_SYMBOL(NvOsTraceLogStart);
+EXPORT_SYMBOL(NvOsTraceLogEnd);
+EXPORT_SYMBOL(NvOsMutexLock);
+EXPORT_SYMBOL(NvOsMutexUnlock);
+EXPORT_SYMBOL(NvOsMutexDestroy);
+EXPORT_SYMBOL(NvOsIntrMutexCreate);
+EXPORT_SYMBOL(NvOsIntrMutexLock);
+EXPORT_SYMBOL(NvOsIntrMutexUnlock);
+EXPORT_SYMBOL(NvOsIntrMutexDestroy);
+EXPORT_SYMBOL(NvOsSemaphoreCreate);
+EXPORT_SYMBOL(NvOsSemaphoreClone);
+EXPORT_SYMBOL(NvOsSemaphoreUnmarshal);
+EXPORT_SYMBOL(NvOsSemaphoreWait);
+EXPORT_SYMBOL(NvOsSemaphoreWaitTimeout);
+EXPORT_SYMBOL(NvOsSemaphoreSignal);
+EXPORT_SYMBOL(NvOsSemaphoreDestroy);
+EXPORT_SYMBOL(NvOsThreadCreate);
+EXPORT_SYMBOL(NvOsInterruptPriorityThreadCreate);
+EXPORT_SYMBOL(NvOsThreadSetLowPriority);
+EXPORT_SYMBOL(NvOsThreadJoin);
+EXPORT_SYMBOL(NvOsThreadYield);
+EXPORT_SYMBOL(NvOsGetTimeMS);
+EXPORT_SYMBOL(NvOsGetTimeUS);
+EXPORT_SYMBOL(NvOsInstrCacheInvalidate);
+EXPORT_SYMBOL(NvOsInstrCacheInvalidateRange);
+EXPORT_SYMBOL(NvOsFlushWriteCombineBuffer);
+EXPORT_SYMBOL(NvOsInterruptRegister);
+EXPORT_SYMBOL(NvOsInterruptUnregister);
+EXPORT_SYMBOL(NvOsInterruptEnable);
+EXPORT_SYMBOL(NvOsInterruptDone);
+EXPORT_SYMBOL(NvOsInterruptMask);
+EXPORT_SYMBOL(NvOsProfileApertureSizes);
+EXPORT_SYMBOL(NvOsProfileStart);
+EXPORT_SYMBOL(NvOsProfileStop);
+EXPORT_SYMBOL(NvOsProfileWrite);
+EXPORT_SYMBOL(NvOsBootArgSet);
+EXPORT_SYMBOL(NvOsBootArgGet);
+EXPORT_SYMBOL(NvOsGetOsInformation);
+EXPORT_SYMBOL(NvOsThreadMode);
+EXPORT_SYMBOL(NvOsAtomicCompareExchange32);
+EXPORT_SYMBOL(NvOsAtomicExchange32);
+EXPORT_SYMBOL(NvOsAtomicExchangeAdd32);
+#if (NVOS_TRACE || NV_DEBUG)
+EXPORT_SYMBOL(NvOsSetResourceAllocFileLine);
+#endif
+EXPORT_SYMBOL(NvOsTlsAlloc);
+EXPORT_SYMBOL(NvOsTlsFree);
+EXPORT_SYMBOL(NvOsTlsGet);
+EXPORT_SYMBOL(NvOsTlsSet);
+#endif /* NVOS_IS_LINUX_KERNEL */
diff --git a/arch/arm/mach-tegra/nvreftrack/nvreftrack.c b/arch/arm/mach-tegra/nvreftrack/nvreftrack.c
index 961a75d8b465..46e810302d7a 100644
--- a/arch/arm/mach-tegra/nvreftrack/nvreftrack.c
+++ b/arch/arm/mach-tegra/nvreftrack/nvreftrack.c
@@ -629,3 +629,10 @@ void* NvRtFreeObjRef(
return RetVal;
}
+
+#include <linux/module.h>
+
+EXPORT_SYMBOL(NvRtAllocObjRef);
+EXPORT_SYMBOL(NvRtDiscardObjRef);
+EXPORT_SYMBOL(NvRtFreeObjRef);
+EXPORT_SYMBOL(NvRtStoreObjRef);