diff --git a/MAINTAINERS b/MAINTAINERS
index f96d87aba..631f6f62e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -113,7 +113,7 @@ F: doc/guides/prog_guide/ext_app_lib_make_help.rst
 Meson build
 M: Bruce Richardson <bruce.richardson@intel.com>
 F: meson.build
-F: lib/librte_eal/bsdapp/BSDmakefile.meson
+F: lib/librte_eal/freebsd/BSDmakefile.meson
 F: meson_options.txt
 F: config/rte_config.h
 F: buildtools/gen-pmdinfo-cfile.sh
@@ -174,7 +174,7 @@ F: lib/librte_eal/common/eal_common_fbarray.c
 F: lib/librte_eal/common/eal_common_mem*
 F: lib/librte_eal/common/eal_hugepages.h
 F: lib/librte_eal/linuxapp/eal/eal_mem*
-F: lib/librte_eal/bsdapp/eal/eal_mem*
+F: lib/librte_eal/freebsd/eal/eal_mem*
 F: doc/guides/prog_guide/env_abstraction_layer.rst
 F: app/test/test_external_mem.c
 F: app/test/test_func_reentrancy.c
@@ -260,8 +260,8 @@ F: drivers/bus/pci/linux/*vfio*
 
 FreeBSD EAL (with overlaps)
 M: Bruce Richardson <bruce.richardson@intel.com>
-F: lib/librte_eal/bsdapp/Makefile
-F: lib/librte_eal/bsdapp/eal/
+F: lib/librte_eal/freebsd/Makefile
+F: lib/librte_eal/freebsd/eal/
 F: doc/guides/freebsd_gsg/
 
 FreeBSD contigmem
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index 78001f048..caf9c5348 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -72,7 +72,7 @@ linux_sources()
 
 bsd_sources()
 {
-	find_sources "lib/librte_eal/bsdapp" '*.[chS]'
+	find_sources "lib/librte_eal/freebsd" '*.[chS]'
 }
 
 arm_common()
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index 929d76dba..4f33c0c2d 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -349,7 +349,7 @@ EAL provides the event APIs for this event-driven thread mode.
 Taking linuxapp as an example, the implementation relies on epoll. Each thread can monitor an epoll instance
 in which all the wake-up events' file descriptors are added. The event file descriptors are created and mapped to
 the interrupt vectors according to the UIO/VFIO spec.
-From bsdapp's perspective, kqueue is the alternative way, but not implemented yet.
+From FreeBSD's perspective, kqueue is the alternative way, but not implemented yet.
 
 EAL initializes the mapping between event file descriptors and interrupt vectors, while each device initializes the mapping
 between interrupt vectors and queues. In this way, EAL actually is unaware of the interrupt cause on the specific vector.
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
index ccd45cb84..39d64bb7a 100644
--- a/lib/librte_eal/Makefile
+++ b/lib/librte_eal/Makefile
@@ -6,7 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 DIRS-y += common
 DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linuxapp
 DEPDIRS-linuxapp := common
-DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += bsdapp
-DEPDIRS-bsdapp := common
+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += freebsd
+DEPDIRS-freebsd := common
 
 include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/bsdapp/BSDmakefile.meson b/lib/librte_eal/freebsd/BSDmakefile.meson
similarity index 100%
rename from lib/librte_eal/bsdapp/BSDmakefile.meson
rename to lib/librte_eal/freebsd/BSDmakefile.meson
diff --git a/lib/librte_eal/bsdapp/Makefile b/lib/librte_eal/freebsd/Makefile
similarity index 100%
rename from lib/librte_eal/bsdapp/Makefile
rename to lib/librte_eal/freebsd/Makefile
diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/freebsd/eal/Makefile
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/Makefile
rename to lib/librte_eal/freebsd/eal/Makefile
diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal.c
rename to lib/librte_eal/freebsd/eal/eal.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_alarm.c b/lib/librte_eal/freebsd/eal/eal_alarm.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_alarm.c
rename to lib/librte_eal/freebsd/eal/eal_alarm.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_alarm_private.h b/lib/librte_eal/freebsd/eal/eal_alarm_private.h
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_alarm_private.h
rename to lib/librte_eal/freebsd/eal/eal_alarm_private.h
diff --git a/lib/librte_eal/bsdapp/eal/eal_cpuflags.c b/lib/librte_eal/freebsd/eal/eal_cpuflags.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_cpuflags.c
rename to lib/librte_eal/freebsd/eal/eal_cpuflags.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_debug.c b/lib/librte_eal/freebsd/eal/eal_debug.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_debug.c
rename to lib/librte_eal/freebsd/eal/eal_debug.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_dev.c b/lib/librte_eal/freebsd/eal/eal_dev.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_dev.c
rename to lib/librte_eal/freebsd/eal/eal_dev.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_hugepage_info.c b/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_hugepage_info.c
rename to lib/librte_eal/freebsd/eal/eal_hugepage_info.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_interrupts.c b/lib/librte_eal/freebsd/eal/eal_interrupts.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_interrupts.c
rename to lib/librte_eal/freebsd/eal/eal_interrupts.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_lcore.c b/lib/librte_eal/freebsd/eal/eal_lcore.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_lcore.c
rename to lib/librte_eal/freebsd/eal/eal_lcore.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_memalloc.c b/lib/librte_eal/freebsd/eal/eal_memalloc.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_memalloc.c
rename to lib/librte_eal/freebsd/eal/eal_memalloc.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_memory.c b/lib/librte_eal/freebsd/eal/eal_memory.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_memory.c
rename to lib/librte_eal/freebsd/eal/eal_memory.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c b/lib/librte_eal/freebsd/eal/eal_thread.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_thread.c
rename to lib/librte_eal/freebsd/eal/eal_thread.c
diff --git a/lib/librte_eal/bsdapp/eal/eal_timer.c b/lib/librte_eal/freebsd/eal/eal_timer.c
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/eal_timer.c
rename to lib/librte_eal/freebsd/eal/eal_timer.c
diff --git a/lib/librte_eal/bsdapp/eal/meson.build b/lib/librte_eal/freebsd/eal/meson.build
similarity index 100%
rename from lib/librte_eal/bsdapp/eal/meson.build
rename to lib/librte_eal/freebsd/eal/meson.build
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 98c1d1f31..4ae0efccb 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -15,7 +15,7 @@ if host_machine.system() == 'linux'
 
 elif host_machine.system() == 'freebsd'
 	dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)
-	subdir('bsdapp/eal')
+	subdir('freebsd/eal')
 
 else
 	error('unsupported system type "@0@"'.format(host_machine.system()))
