diff --git a/library/version_features.c b/library/version_features.c
index 779325744b..170e7fae84 100644
--- a/library/version_features.c
+++ b/library/version_features.c
@@ -456,6 +456,9 @@ static const char * const features[] = {
#if defined(MBEDTLS_PSA_INJECT_ENTROPY)
"MBEDTLS_PSA_INJECT_ENTROPY",
#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
+#if defined(MBEDTLS_PSA_COPY_CALLER_BUFFERS)
+ "MBEDTLS_PSA_COPY_CALLER_BUFFERS",
+#endif /* MBEDTLS_PSA_COPY_CALLER_BUFFERS */
#if defined(MBEDTLS_RSA_NO_CRT)
"MBEDTLS_RSA_NO_CRT",
#endif /* MBEDTLS_RSA_NO_CRT */
diff --git a/programs/test/query_config.c b/programs/test/query_config.c
index 859d824f84..cd798f7c7d 100644
--- a/programs/test/query_config.c
+++ b/programs/test/query_config.c
@@ -1296,6 +1296,14 @@ int query_config(const char *config)
}
#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
+#if defined(MBEDTLS_PSA_COPY_CALLER_BUFFERS)
+ if( strcmp( "MBEDTLS_PSA_COPY_CALLER_BUFFERS", config ) == 0 )
+ {
+ MACRO_EXPANSION_TO_STR( MBEDTLS_PSA_COPY_CALLER_BUFFERS );
+ return( 0 );
+ }
+#endif /* MBEDTLS_PSA_COPY_CALLER_BUFFERS */
+
#if defined(MBEDTLS_RSA_NO_CRT)
if( strcmp( "MBEDTLS_RSA_NO_CRT", config ) == 0 )
{
@@ -3458,6 +3466,10 @@ void list_config(void)
OUTPUT_MACRO_NAME_VALUE(MBEDTLS_PSA_INJECT_ENTROPY);
#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
+#if defined(MBEDTLS_PSA_COPY_CALLER_BUFFERS)
+ OUTPUT_MACRO_NAME_VALUE(MBEDTLS_PSA_COPY_CALLER_BUFFERS);
+#endif /* MBEDTLS_PSA_COPY_CALLER_BUFFERS */
+
#if defined(MBEDTLS_RSA_NO_CRT)
OUTPUT_MACRO_NAME_VALUE(MBEDTLS_RSA_NO_CRT);
#endif /* MBEDTLS_RSA_NO_CRT */
diff --git a/visualc/VS2010/mbedTLS.vcxproj b/visualc/VS2010/mbedTLS.vcxproj
index ccabcfd3df..1ffc1f6e05 100644
--- a/visualc/VS2010/mbedTLS.vcxproj
+++ b/visualc/VS2010/mbedTLS.vcxproj
@@ -247,6 +247,7 @@
+
@@ -390,6 +391,7 @@
+