On arm64 host, different size of L3 cache causes the failure of migration for me. So how to disable L3 cache on guest machine?
There's no way to do that. For migration to work for an AArch64 KVM setup, both machines must be exactly identical, including things like cache size ID registers. If your two machines have different L3 cache sizes then migration between them will not work.