summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-06-27 13:09:04 +1000
committerChris Johns <chrisj@rtems.org>2016-06-27 13:32:24 +1000
commit130fa3534f5cc10ea34053246916046ab1b0f006 (patch)
treef589a3c52feb76edda317be7f0f86da967aa611e
parenta0e49f9ae9ee8e6bcc40e11445208ab11feccc16 (diff)
Make the domain allocation size global to allow it to set in tests.
Some BSPs with multiple NIC locked in the tests due to not enough memory. This provides a simple per BSP way to increase the memory size.
-rw-r--r--rtemsbsd/include/rtems/bsd/bsd.h7
-rw-r--r--rtemsbsd/rtems/rtems-bsd-get-allocator-domain-size.c4
2 files changed, 10 insertions, 1 deletions
diff --git a/rtemsbsd/include/rtems/bsd/bsd.h b/rtemsbsd/include/rtems/bsd/bsd.h
index 8ab0fdaf..1583dc9e 100644
--- a/rtemsbsd/include/rtems/bsd/bsd.h
+++ b/rtemsbsd/include/rtems/bsd/bsd.h
@@ -112,6 +112,13 @@ typedef enum {
} rtems_bsd_allocator_domain;
/**
+ * @brief The size for the page/mbufs default allocator domain.
+ *
+ * Applications may set this value to change the value returned by the default.
+ */
+extern uintptr_t rtems_bsd_allocator_domain_page_mbuf_size;
+
+/**
* @brief Returns the size for a specific allocator domain.
*
* Applications may provide their own implementation of this function. For
diff --git a/rtemsbsd/rtems/rtems-bsd-get-allocator-domain-size.c b/rtemsbsd/rtems/rtems-bsd-get-allocator-domain-size.c
index 6471911a..a52ee50d 100644
--- a/rtemsbsd/rtems/rtems-bsd-get-allocator-domain-size.c
+++ b/rtemsbsd/rtems/rtems-bsd-get-allocator-domain-size.c
@@ -39,6 +39,8 @@
#include <rtems/bsd/bsd.h>
+uintptr_t rtems_bsd_allocator_domain_page_mbuf_size = 8 * 1024 * 1024;
+
uintptr_t
rtems_bsd_get_allocator_domain_size(rtems_bsd_allocator_domain domain)
{
@@ -47,7 +49,7 @@ rtems_bsd_get_allocator_domain_size(rtems_bsd_allocator_domain domain)
switch (domain) {
case RTEMS_BSD_ALLOCATOR_DOMAIN_PAGE:
case RTEMS_BSD_ALLOCATOR_DOMAIN_MBUF:
- size = 8 * 1024 * 1024;
+ size = rtems_bsd_allocator_domain_page_mbuf_size;
break;
default:
size = 0;