Following on from the call... Does this sound even better? (mapping from the JVM for comparison):
The JVM is a specification of a virtual machine that runs Java bytecode. It is implemented by a Java Runtime Environment, such as OpenJDK, which includes an interpreter and a JIT compiler.
The BPF VM (BVM?) is a specification of a virtual machine that runs BPF instructions (defined in filter.h, etc). It is implemented by the Linux kernel BPF runtime, which includes an interpreter and a JIT compiler. Most of the work for the past 5 years has been developing the BPF runtime.
I'd probably drop the '(defined in filter.h, etc)' part, but otherwise I think it's fine.