diff --git a/bmc/main.cpp b/bmc/main.cpp
index 5f1538d..5282831 100644
--- a/bmc/main.cpp
+++ b/bmc/main.cpp
@@ -60,6 +60,26 @@
     return HandlerPack(name, std::make_unique<FileHandler>(path));
 }
 
+/**
+ * Returns the corresponding memory region size given the compiled
+ * configuration.
+ *
+ * @return the size.
+ */
+std::size_t GetMemoryRegionSize()
+{
+#ifdef NUVOTON_P2A_MBOX
+    constexpr std::size_t memoryRegionSize = 16 * 1024UL;
+#elif defined NUVOTON_P2A_VGA
+    constexpr std::size_t memoryRegionSize = 4 * 1024 * 1024UL;
+#else
+    /* The maximum external buffer size we expect is 64KB. */
+    constexpr std::size_t memoryRegionSize = 64 * 1024UL;
+#endif
+
+    return memoryRegionSize;
+}
+
 } // namespace
 } // namespace ipmi_flash
 
@@ -72,15 +92,6 @@
 {
     using namespace ipmi_flash;
 
-#ifdef NUVOTON_P2A_MBOX
-    constexpr std::size_t memoryRegionSize = 16 * 1024UL;
-#elif defined NUVOTON_P2A_VGA
-    constexpr std::size_t memoryRegionSize = 4 * 1024 * 1024UL;
-#else
-    /* The maximum external buffer size we expect is 64KB. */
-    constexpr std::size_t memoryRegionSize = 64 * 1024UL;
-#endif
-
     std::vector<DataHandlerPack> supportedTransports;
 
     supportedTransports.emplace_back(FirmwareFlags::UpdateFlags::ipmi, nullptr);
@@ -88,7 +99,8 @@
 #ifdef ENABLE_PCI_BRIDGE
     supportedTransports.emplace_back(
         FirmwareFlags::UpdateFlags::p2a,
-        std::make_unique<PciDataHandler>(MAPPED_ADDRESS, memoryRegionSize));
+        std::make_unique<PciDataHandler>(MAPPED_ADDRESS,
+                                         GetMemoryRegionSize()));
 #endif
 
 #ifdef ENABLE_LPC_BRIDGE
@@ -96,12 +108,12 @@
     supportedTransports.emplace_back(
         FirmwareFlags::UpdateFlags::lpc,
         std::make_unique<LpcDataHandler>(LpcMapperAspeed::createAspeedMapper(
-            MAPPED_ADDRESS, memoryRegionSize)));
+            MAPPED_ADDRESS, GetMemoryRegionSize())));
 #elif defined(NUVOTON_LPC)
     supportedTransports.emplace_back(
         FirmwareFlags::UpdateFlags::lpc,
         std::make_unique<LpcDataHandler>(LpcMapperNuvoton::createNuvotonMapper(
-            MAPPED_ADDRESS, memoryRegionSize)));
+            MAPPED_ADDRESS, GetMemoryRegionSize())));
 #else
 #error "You must specify a hardware implementation."
 #endif
