summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu/amd/agesa/family10/Makefile.inc1
-rw-r--r--src/cpu/amd/agesa/family12/Makefile.inc1
-rw-r--r--src/cpu/amd/agesa/family16kb/Makefile.inc1
-rw-r--r--src/vendorcode/amd/agesa/f12/Lib/helper.c68
-rw-r--r--src/vendorcode/amd/agesa/f14/Lib/helper.c68
-rw-r--r--src/vendorcode/amd/agesa/f14/Makefile.inc1
-rw-r--r--src/vendorcode/amd/agesa/f15/Lib/helper.c68
-rw-r--r--src/vendorcode/amd/agesa/f15/Makefile.inc1
-rw-r--r--src/vendorcode/amd/agesa/f15tn/Lib/helper.c68
-rw-r--r--src/vendorcode/amd/agesa/f15tn/Makefile.inc1
-rw-r--r--src/vendorcode/amd/agesa/f16kb/Lib/helper.c68
11 files changed, 0 insertions, 346 deletions
diff --git a/src/cpu/amd/agesa/family10/Makefile.inc b/src/cpu/amd/agesa/family10/Makefile.inc
index 10af1d5d35..a3610e1206 100644
--- a/src/cpu/amd/agesa/family10/Makefile.inc
+++ b/src/cpu/amd/agesa/family10/Makefile.inc
@@ -146,7 +146,6 @@ agesa_lib_src += $(AGESA_ROOT)/Proc/CPU/cpuApicUtilities.c
#agesa_lib_src += $(AGESA_ROOT)/Proc/Recovery/Mem/NB/mrndct.c
#agesa_lib_src += $(AGESA_ROOT)/Proc/Recovery/Mem/Tech/mrttsrc.c
#agesa_lib_src += $(AGESA_ROOT)/Proc/Mem/NB/ON/mnS3on.c
-#agesa_lib_src += $(AGESA_ROOT)/Lib/helper.c
agesa_lib_src += $(AGESA_ROOT)/Proc/CPU/cpuEventLog.c
agesa_lib_src += $(AGESA_ROOT)/Proc/HT/htInterfaceCoherent.c
diff --git a/src/cpu/amd/agesa/family12/Makefile.inc b/src/cpu/amd/agesa/family12/Makefile.inc
index 10d64ddd13..7b6c6617fe 100644
--- a/src/cpu/amd/agesa/family12/Makefile.inc
+++ b/src/cpu/amd/agesa/family12/Makefile.inc
@@ -36,7 +36,6 @@ agesa_lib_src = $(AGESA_ROOT)/Legacy/Proc/agesaCallouts.c
agesa_lib_src += $(AGESA_ROOT)/Legacy/Proc/Dispatcher.c
agesa_lib_src += $(AGESA_ROOT)/Legacy/Proc/hobTransfer.c
agesa_lib_src += $(AGESA_ROOT)/Lib/amdlib.c
-agesa_lib_src += $(AGESA_ROOT)/Lib/helper.c
agesa_lib_src += $(AGESA_ROOT)/Proc/Common/AmdInitEarly.c
agesa_lib_src += $(AGESA_ROOT)/Proc/Common/AmdInitEnv.c
agesa_lib_src += $(AGESA_ROOT)/Proc/Common/AmdInitLate.c
diff --git a/src/cpu/amd/agesa/family16kb/Makefile.inc b/src/cpu/amd/agesa/family16kb/Makefile.inc
index f5f204e1d0..b238965b1f 100644
--- a/src/cpu/amd/agesa/family16kb/Makefile.inc
+++ b/src/cpu/amd/agesa/family16kb/Makefile.inc
@@ -27,7 +27,6 @@ agesa_lib_src += $(AGESA_ROOT)/Legacy/Proc/agesaCallouts.c
agesa_lib_src += $(AGESA_ROOT)/Legacy/Proc/Dispatcher.c
agesa_lib_src += $(AGESA_ROOT)/Legacy/Proc/hobTransfer.c
agesa_lib_src += $(AGESA_ROOT)/Lib/amdlib.c
-agesa_lib_src += $(AGESA_ROOT)/Lib/helper.c
agesa_lib_src += $(AGESA_ROOT)/Proc/Common/AmdInitEarly.c
agesa_lib_src += $(AGESA_ROOT)/Proc/Common/AmdInitEnv.c
agesa_lib_src += $(AGESA_ROOT)/Proc/Common/AmdInitLate.c
diff --git a/src/vendorcode/amd/agesa/f12/Lib/helper.c b/src/vendorcode/amd/agesa/f12/Lib/helper.c
deleted file mode 100644
index 8ec32314b4..0000000000
--- a/src/vendorcode/amd/agesa/f12/Lib/helper.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *****************************************************************************
- *
- * Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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.
- *
- * ***************************************************************************
- *
- */
-
-// helper.c - these functions are compiled separately because they redefine
-// functions invoked directly by the compiler code generator.
-// The Microsoft tools do not allow such functions to be compiled
-// with the "Enable link-time code generation (/GL)" option. Compile
-// this module without /GL to avoid a build failure LNK1237.
-//
-
-#if defined (_MSC_VER)
-
-#include "Porting.h"
-
-//---------------------------------------------------------------------------
-void *memcpy (void *dest, const void *src, size_t bytes)
- {
- // Rep movsb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large copy operations, call LibAmdMemCopy.
- __movsb (dest, src, bytes);
- return dest;
- }
-
-//---------------------------------------------------------------------------
-
-void *memset (void *dest, int value, size_t bytes)
- {
- // Rep stosb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large fill operations, call LibAmdMemFill.
- __stosb (dest, value, bytes);
- return dest;
- }
-//---------------------------------------------------------------------------
-
-#endif \ No newline at end of file
diff --git a/src/vendorcode/amd/agesa/f14/Lib/helper.c b/src/vendorcode/amd/agesa/f14/Lib/helper.c
deleted file mode 100644
index 8ec32314b4..0000000000
--- a/src/vendorcode/amd/agesa/f14/Lib/helper.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *****************************************************************************
- *
- * Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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.
- *
- * ***************************************************************************
- *
- */
-
-// helper.c - these functions are compiled separately because they redefine
-// functions invoked directly by the compiler code generator.
-// The Microsoft tools do not allow such functions to be compiled
-// with the "Enable link-time code generation (/GL)" option. Compile
-// this module without /GL to avoid a build failure LNK1237.
-//
-
-#if defined (_MSC_VER)
-
-#include "Porting.h"
-
-//---------------------------------------------------------------------------
-void *memcpy (void *dest, const void *src, size_t bytes)
- {
- // Rep movsb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large copy operations, call LibAmdMemCopy.
- __movsb (dest, src, bytes);
- return dest;
- }
-
-//---------------------------------------------------------------------------
-
-void *memset (void *dest, int value, size_t bytes)
- {
- // Rep stosb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large fill operations, call LibAmdMemFill.
- __stosb (dest, value, bytes);
- return dest;
- }
-//---------------------------------------------------------------------------
-
-#endif \ No newline at end of file
diff --git a/src/vendorcode/amd/agesa/f14/Makefile.inc b/src/vendorcode/amd/agesa/f14/Makefile.inc
index 01b0d61576..d1c8911aab 100644
--- a/src/vendorcode/amd/agesa/f14/Makefile.inc
+++ b/src/vendorcode/amd/agesa/f14/Makefile.inc
@@ -230,7 +230,6 @@ libagesa-y += Proc/CPU/Feature/cpuHwC1e.c
libagesa-y += Proc/CPU/cpuLateInit.c
libagesa-y += Proc/Common/CreateStruct.c
libagesa-y += Proc/CPU/Feature/cpuWhea.c
-libagesa-y += Lib/helper.c
libagesa-y += Proc/Mem/Feat/CSINTLV/mfcsi.c
libagesa-y += Proc/Mem/Feat/ECC/mfecc.c
libagesa-y += Proc/Mem/Feat/DMI/mfDMI.c
diff --git a/src/vendorcode/amd/agesa/f15/Lib/helper.c b/src/vendorcode/amd/agesa/f15/Lib/helper.c
deleted file mode 100644
index 2c5de90b87..0000000000
--- a/src/vendorcode/amd/agesa/f15/Lib/helper.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *****************************************************************************
- *
- * Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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.
- *
- * ***************************************************************************
- *
- */
-
-// helper.c - these functions are compiled separately because they redefine
-// functions invoked directly by the compiler code generator.
-// The Microsoft tools do not allow such functions to be compiled
-// with the "Enable link-time code generation (/GL)" option. Compile
-// this module without /GL to avoid a build failure LNK1237.
-//
-
-#if defined (_MSC_VER)
-
-#include "Porting.h"
-
-//---------------------------------------------------------------------------
-void *memcpy (void *dest, const void *src, size_t bytes)
- {
- // Rep movsb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large copy operations, call LibAmdMemCopy.
- __movsb (dest, src, bytes);
- return dest;
- }
-
-//---------------------------------------------------------------------------
-
-void *memset (void *dest, int value, size_t bytes)
- {
- // Rep stosb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large fill operations, call LibAmdMemFill.
- __stosb (dest, value, bytes);
- return dest;
- }
-//---------------------------------------------------------------------------
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f15/Makefile.inc b/src/vendorcode/amd/agesa/f15/Makefile.inc
index 429dddb25d..fd9ff59e9d 100644
--- a/src/vendorcode/amd/agesa/f15/Makefile.inc
+++ b/src/vendorcode/amd/agesa/f15/Makefile.inc
@@ -60,7 +60,6 @@ agesa_lib_src += ./Legacy/Proc/agesaCallouts.c
agesa_lib_src += ./Legacy/Proc/Dispatcher.c
agesa_lib_src += ./Legacy/Proc/hobTransfer.c
agesa_lib_src += ./Lib/amdlib.c
-agesa_lib_src += ./Lib/helper.c
agesa_lib_src += ./Proc/Common/AmdInitEarly.c
agesa_lib_src += ./Proc/Common/AmdInitEnv.c
agesa_lib_src += ./Proc/Common/AmdInitLate.c
diff --git a/src/vendorcode/amd/agesa/f15tn/Lib/helper.c b/src/vendorcode/amd/agesa/f15tn/Lib/helper.c
deleted file mode 100644
index 2c5de90b87..0000000000
--- a/src/vendorcode/amd/agesa/f15tn/Lib/helper.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *****************************************************************************
- *
- * Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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.
- *
- * ***************************************************************************
- *
- */
-
-// helper.c - these functions are compiled separately because they redefine
-// functions invoked directly by the compiler code generator.
-// The Microsoft tools do not allow such functions to be compiled
-// with the "Enable link-time code generation (/GL)" option. Compile
-// this module without /GL to avoid a build failure LNK1237.
-//
-
-#if defined (_MSC_VER)
-
-#include "Porting.h"
-
-//---------------------------------------------------------------------------
-void *memcpy (void *dest, const void *src, size_t bytes)
- {
- // Rep movsb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large copy operations, call LibAmdMemCopy.
- __movsb (dest, src, bytes);
- return dest;
- }
-
-//---------------------------------------------------------------------------
-
-void *memset (void *dest, int value, size_t bytes)
- {
- // Rep stosb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large fill operations, call LibAmdMemFill.
- __stosb (dest, value, bytes);
- return dest;
- }
-//---------------------------------------------------------------------------
-
-#endif
diff --git a/src/vendorcode/amd/agesa/f15tn/Makefile.inc b/src/vendorcode/amd/agesa/f15tn/Makefile.inc
index 354167ff27..0de46b01d3 100644
--- a/src/vendorcode/amd/agesa/f15tn/Makefile.inc
+++ b/src/vendorcode/amd/agesa/f15tn/Makefile.inc
@@ -91,7 +91,6 @@ libagesa-y += Legacy/Proc/Dispatcher.c
libagesa-y += Legacy/Proc/agesaCallouts.c
libagesa-y += Legacy/Proc/hobTransfer.c
libagesa-y += Lib/amdlib.c
-libagesa-y += Lib/helper.c
libagesa-y += Proc/CPU/Family/0x15/TN/F15TnC6State.c
libagesa-y += Proc/CPU/Family/0x15/TN/F15TnCpb.c
libagesa-y += Proc/CPU/Family/0x15/TN/F15TnEquivalenceTable.c
diff --git a/src/vendorcode/amd/agesa/f16kb/Lib/helper.c b/src/vendorcode/amd/agesa/f16kb/Lib/helper.c
deleted file mode 100644
index 2c5de90b87..0000000000
--- a/src/vendorcode/amd/agesa/f16kb/Lib/helper.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *****************************************************************************
- *
- * Copyright (c) 2011, Advanced Micro Devices, Inc.
- * 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 Advanced Micro Devices, Inc. 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 ADVANCED MICRO DEVICES, INC. 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.
- *
- * ***************************************************************************
- *
- */
-
-// helper.c - these functions are compiled separately because they redefine
-// functions invoked directly by the compiler code generator.
-// The Microsoft tools do not allow such functions to be compiled
-// with the "Enable link-time code generation (/GL)" option. Compile
-// this module without /GL to avoid a build failure LNK1237.
-//
-
-#if defined (_MSC_VER)
-
-#include "Porting.h"
-
-//---------------------------------------------------------------------------
-void *memcpy (void *dest, const void *src, size_t bytes)
- {
- // Rep movsb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large copy operations, call LibAmdMemCopy.
- __movsb (dest, src, bytes);
- return dest;
- }
-
-//---------------------------------------------------------------------------
-
-void *memset (void *dest, int value, size_t bytes)
- {
- // Rep stosb is faster than a byte loop, but still quite slow
- // for large operations. However, it is a good choice here because
- // this function is intended for use by the compiler only. For
- // large fill operations, call LibAmdMemFill.
- __stosb (dest, value, bytes);
- return dest;
- }
-//---------------------------------------------------------------------------
-
-#endif