Move stdbool.h
Move inclusion of stdbool.h to common header files, instead of includingin an ad-hoc manner.
Signed-off-by: Paul Brook <paul@codesourcery.com>
vmstate: Add VMSTATE_STRUCT_VARRAY_UINT8
Required for hpet.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hpet: Make number of timers configurable
One HPET block supports up to 32 timers. Allow to instantiate more thanthe recommended and implemented minimum of 3. The number is configuredvia the qdev property "timers". It is also saved/restored so that itneed not match between migration peers....
hpet: Add MSI support
This implements the HPET capability of routing IRQs to the front-sidebus, aka MSI support. This feature can be enabled via the qdev property"msi" and is off by default.
Note that switching it on can cause guests (at least Linux) to use the...
hpet/rtc: Rework RTC IRQ replacement by HPET
Allow the intercept the RTC IRQ for the HPET legacy mode. Then pushrouting to IRQ8 completely into the HPET. This allows to turnhpet_in_legacy_mode() into a private function. Furthermore, this stopsthe RTC from clearing IRQ8 even if the HPET is in control....
hpet: Drop static state
Instead of keeping a static reference around, pass the state tohpet_enabled and hpet_get_ticks. All callers now have it at hand. Willonce allow to instantiate the HPET more than a single time.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
hpet: Add support for level-triggered interrupts
By implementing this feature we can also remove a nasty way to kill qemu(by trying to enable level-triggered hpet interrupts).
hpet: Move static timer field initialization
Properly initialize HPETTimer::tn and HPETTimer::state once duringhpet_init instead of (re-)writing them on every reset.
hpet: Convert to qdev
Register the HPET as a sysbus device and create it that way. As it canroute its IRQs to any ISA IRQ, we need to connect it to all 24 of them.Once converted to qdev, we can move reset handler and vmstateregistration into its hands as well....
hpet: Start/stop timer when HPET_TN_ENABLE is modified
We have to update the qemu timer when the per-timer enable bit istoggled, just like for HPET_CFG_ENABLE changes.
View revisions
Also available in: Atom