KVM shadow page table handling in x86 platform

view story

http://stackoverflow.com – From what I understand, on processors that doesn't have hardware support for guess virtual to host physical address translation KVM uses the shadow page table. Shadow page table is built and updated when the guest OS modifies its page tables. Are there special instructions in the hardware (lets take x86 for reference) for modifying the page table ? Unless there are special instructions there won't be a trap to the VMM. Isn't the page table maintained in software by Linux kernel just another data structure ? Why would it need special instructions to update it ? Thanks! (HowTos)