History | View | Annotate | Download (1.8 kB)
i8254: Rework & fix interaction with HPET in legacy mode
When the HPET enters legacy mode, the IRQ output of the PIT issuppressed and replaced by the HPET timer 0. But the current code toemulate this was broken in many ways. It reset the PIT state after...
Use new macro QEMU_PACKED for packed structures
Most changes were made using these commands:
git grep -la '__attribute__((packed))'|xargs perl -pi -e 's/__attribute__\(\(packed\)\)/QEMU_PACKED/'git grep -la '__attribute__ ((packed))'|xargs perl -pi -e 's/__attribute__ \(\(packed\)\)/QEMU_PACKED/'...
pass info about hpets to seabios.]
Currently HPET ACPI table is created regardless of whether qemu actuallycreated hpet device. This may confuse some guests that don't check thathpet is functional before using it. Solve this by passing info abouthpets in qemu to seabios via fw config interface. Additional benefit is...
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: 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: Coding style cleanups and some refactorings
This moves the private HPET structures into the C module, simplifiessome helper functions and fixes most coding style issues (biggest chunkwas improper switch-case indention). No functional changes.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
TARGET_I386 is always defined if TARGET_X86_64 is defined
Patchworks-ID: 35378Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
HPET fixes for reg writes
This patch addresses the problems found by Andriy Gapon:
- The code was incorrectly overwriting the high order 32 bits of the timer and hpet config registers. This didn't show up in testing because linux and windows use hpet in legacy mode,...
hpet config mask fix
I discovered a bug in the hpet code that caused Windows to boot withouthpet. The config mask I was using was preventing the guest from placingthe hpet into 32 bit mode.
(Beth Kon)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6357 c046a42c-6fe2-441c-8c8c-71466251a162
Remove trailing spaces introduced by commit 6081
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6085 c046a42c-6fe2-441c-8c8c-71466251a162
Add HPET emulation to qemu (Beth Kon)
This patch adds HPET emulation. It can be disabled with -disable-hpet. An hpetprovides a more finely granular clocksource than otherwise available on PC.This means that latency-dependent applications (e.g. multimedia) will generally...