On Mon, Apr 03, 2017 at 01:23:15PM +0200, Thomas Huth wrote: > According to the PowerISA 2.07, mtspr and mfspr should not generate > an illegal instruction exception when being used with an undefined SPR, > but rather treat the instruction as a NOP, inject a privilege exception > or an emulation assistance exception - depending on the SPR number. The emulation assist interrupt is a hypervisor interrupt, so the guest would not be expecting to receive it. On a real machine, the hypervisor would synthesize an illegal instruction type program interrupt as described in the last programming note in section 6.5.9 of Book III of Power ISA v2.07B. Since we are the hypervisor here, we should synthesize a program interrupt rather than an emulation assist interrupt. > Also turn the printk here into a ratelimited print statement, so that > the guest can not flood the dmesg log of the host by issueing lots of > illegal mtspr/mfspr instruction here. Good idea. Paul.