You probably don't want to force all pages to 2 MB (which is what you seemed to suggest originally). This will waste a lot of memory for small allocations probably to the point of making your system unusable.
Transparent large pages work via a reservation system. When a page fault occurs (or during prefaulting in mmap(), the VM system can choose to reserve a large page (2 MB) in physical RAM if it needs a new page and the containing 2 MB of virtual address space is suitable (i.e. no other pages backing it yet). If the application subsequently faults in all of the surrounding pages in that large page (and if they all have the same properties, e.g. all are clean, or all are dirty), then the mapping is promoted to a large page by adjusting the PDE to point to the 2 MB page directly instead of a page table. However, this only happens if all the pages are used. If an application doesn't use all of the pages, then later if the kernel is in a low-memory situation it can break a reservation and reuse those unused pages from a 2 MB page without impacting the application. Currently, FreeBSD/amd64 only supports two page sizes for user pages: 4 KB and 2 MB. A special part of the kernel address space called the direct map will use 1 GB pages on CPUs that support it, but 1 GB pages are not otherwise used. Current CPUs tend to have very few 1 GB entries in their TLBs, so if you only used 1 GB pages you would probably see many more TLB entries. This was true even of 2 MB pages in early amd64 CPUs. Even now you generally want a mix of 2 MB and 4KB pages since modern CPUs have separate TLBs for different page sizes.
You can find more details about this in the Design & Implementation of FreeBSD 10 book.