User programs run at a restricted privilege level and can't directly execute kernel-only instructions or jump straight into kernel code, that would defeat the whole purpose of protection between user programs and the OS.
What they can do is execute a special trap/software-interrupt instruction, which is specifically designed to hand control to the kernel at a safe, predefined entry point, switching the CPU into kernel mode in a controlled way.
Hardware interrupts, by contrast, come from external devices, not from the user program requesting a service.
So the correct answer is software interrupt.