Recompile the kernel in order to load the extended vmm module. Use the command sysctl hw.vmm.hypercalls_enabled=1 in order to enable hypercalls. Create a release ISO from the source and use a hypercall using .byte 0x0f,0x01,0xc1 on Intel processors and .byte 0x0f,0x01,0xd9 on AMD processors. Do NOT use the hypercall.h, as it is intended as a way to do hypercalls from the kernel. Userland applications are to implement their own way of doing hypercalls. In order to test the behaviour with disabled hypercalls, use the command sysctl hw.vmm.hypercalls_enabled=0 and run the beforementioned instructions in the guest OS.