There is a syscall to verify an secp256k1 signature, but there isn't one for ed25519.
There is a native program for both.
Recently some curve25519 syscalls have been enabled on mainnet-beta, i believe to enable zero-knowledge use cases.
Are those syscalls sufficient to perform a ed25519 signature verification? If so why isn't there a reference implementation and should we expect an ed25519 verify syscall to never see the light of day?