1*6e0c8492SPeter MaydellVirtual System Controller 2*6e0c8492SPeter Maydell========================= 3*6e0c8492SPeter Maydell 4*6e0c8492SPeter MaydellThe ``virt-ctrl`` device is a simple interface defined for the pure 5*6e0c8492SPeter Maydellvirtual machine with no hardware reference implementation to allow the 6*6e0c8492SPeter Maydellguest kernel to send command to the host hypervisor. 7*6e0c8492SPeter Maydell 8*6e0c8492SPeter MaydellThe specification can evolve, the current state is defined as below. 9*6e0c8492SPeter Maydell 10*6e0c8492SPeter MaydellThis is a MMIO mapped device using 256 bytes. 11*6e0c8492SPeter Maydell 12*6e0c8492SPeter MaydellTwo 32bit registers are defined: 13*6e0c8492SPeter Maydell 14*6e0c8492SPeter Maydellthe features register (read-only, address 0x00) 15*6e0c8492SPeter Maydell This register allows the device to report features supported by the 16*6e0c8492SPeter Maydell controller. 17*6e0c8492SPeter Maydell The only feature supported for the moment is power control (0x01). 18*6e0c8492SPeter Maydell 19*6e0c8492SPeter Maydellthe command register (write-only, address 0x04) 20*6e0c8492SPeter Maydell This register allows the kernel to send the commands to the hypervisor. 21*6e0c8492SPeter Maydell The implemented commands are part of the power control feature and 22*6e0c8492SPeter Maydell are reset (1), halt (2) and panic (3). 23*6e0c8492SPeter Maydell A basic command, no-op (0), is always present and can be used to test the 24*6e0c8492SPeter Maydell register access. This command has no effect. 25