В общем случае - указать количество ядер и пусть хост сам их выделяет. Это нормально.
В частном случае у вас могут быть какие-то хитрые нестандартные причины, чтобы отдавать фиксированные номера ядер. Тогда можно стартовать KVM через taskset. (Но количество ядер всё равно придётся указывать, помимо их номеров. Номера указываете в параметрах taskset, а количество в параметрах KVM - одно от другого не зависит.) В порядке теста я пробовал через taskset - да, работает, но особого смысла в этом не нашел. Отдельные процессы KVM всё равно по разным ядрам прыгают, в пределах выделенных. Так что смысл вижу только когда ровно одно ядро выделяется виртуалке, чтобы оно исполнялось всегда на одном и том же физическом ядре.