AgeCommit message (Collapse)Author
2012-07-25kvm: Add documentation comment for kvm_irqchip_in_kernel()q-l-kvm-x86ismsPeter Maydell
Now we've cleared out the architecture-independent uses of kvm_irqchip_in_kernel(), we can add a doc comment describing what it means. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25kvm: Don't assume irqchip implies MSI routing via irqfdsPeter Maydell
Decouple another x86-specific assumption about what irqchips imply. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25kvm: Don't assume irqchip-in-kernel implies irqfdsPeter Maydell
Instead of assuming that we can use irqfds if and only if kvm_irqchip_in_kernel(), add a bool to the KVMState which indicates this, and is set only on x86 and only if the irqchip is in the kernel. The kernel documentation implies that the only thing you need to use KVM_IRQFD is that KVM_CAP_IRQFD is advertised, but this seems to be untrue. In particular the kernel does not (alas) return a sensible error if you try to set up an irqfd when you haven't created an irqchip. If it did we could remove all this nonsense and let the kernel return the error code. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25kvm: Move kvm_allows_irq0_override() to target-i386Peter Maydell
kvm_allows_irq0_override() is a totally x86 specific concept: move it to the target-specific source file where it belongs. This means we need a new header file for the prototype: kvm_i386.h, in line with the existing kvm_ppc.h. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25kvm: Rename kvm_irqchip_set_irq to kvm_inject_async_irqPeter Maydell
Rename the function kvm_irqchip_set_irq() to kvm_inject_async_irq(), since it can be used for asynchronous interrupt injection whether there is a full irqchip model in the kernel or not. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25kvm: Decouple 'interrupt injection is async' from 'kernel irqchip'Peter Maydell
On x86 interrupt injection is asynchronous (and therefore VCPU idle management is done in the kernel) if and only if there is an in-kernel irqchip. On other architectures this isn't necessarily true (they may always do asynchronous injection), so define a new kvm_async_interrupt_injection() function instead of misusing kvm_irqchip_in_kernel(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GICPeter Maydell
Implement support for using the KVM in-kernel GIC for ARM. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/arm_gic: Add presave/postload hooksPeter Maydell
Add presave/postload hooks to the ARM GIC common base class. These will be used by the KVM in-kernel GIC subclass to sync state between kernel and userspace when migrating. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25ARM: KVM: Add support for KVM on ARM architecturesPeter Maydell
This patch represents work in progress on adding support for KVM on ARM architectures. Note that it is highly experimental and is not enabled by default. TODO: this is Christoffer's patch, but with the configure script changes redone by me. Needs signed-off-by. Has also had a few subsequent fixes squashed in. Consider whether this can split apart into separate patches?
2012-07-25linux-headers: Add ARM KVM headers (not for upstream)Peter Maydell
This commit adds the ARM KVM headers. This is not to go to QEMU upstream -- the correct path there is that the KVM code will be committed to a mainline upstream kernel, and then upstream QEMU can do a bulk header update from the upstream kernel, which will allow us to drop this temporary commit. This includes a dummy kvm_sync_regs {} since QEMU has picked up a newer version of the general KVM headers which are a bit ahead of the ARM KVM headers for the moment, so it isn't a pure copy of any ARM KVM kernel header set. This wrinkle will go away at some point when ARM KVM rebases on kvm.next and we do a cleaner import, but for now we need this just to avoid a compilation failure. This commit is based on the headers as of commit 827ee5b in git://github.com/virtualopensystems/linux-kvm-arm kvm-a15-v7
2012-07-25scripts/update-linux-headers.sh: Pull in KVM headers for ARMPeter Maydell
ARM now has KVM headers in the upstream kernel. XXX: can't commit this upstream until KVM lands, because we'll fail if the kernel we run against doesn't have the ARM headers. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25configure: Default KVM to disabled on ARM hostsPeter Maydell
Default KVM to disabled for ARM hosts -- it is still experimental. This patch will be dropped when the code is ready to go upstream. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25pc-bios: delete binary blobsPeter Maydell
Delete the binary blobs in pc-bios where we don't have corresponding source in this git repository. This avoids problems with potentially redistributing GPLed binaries without source; we don't need any of them for ARM targets anyway. See: https://bugs.launchpad.net/qemu-linaro/+bug/709965 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25configure, Makefile: don't require binary blobs to be presentPeter Maydell
In configure and Makefile, don't insist on the presence of the binary blobs in pc-bios, but silently skip any which aren't present. This allows us to delete them from the repository without causing build failures. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25Add a Changelog.LINAROPeter Maydell
Add a Changelog.LINARO to document the changes we make between qemu-linaro releases. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25Add Linaro versioningPeter Maydell
Add a VERSION.LINARO file so it's clear that tarball releases are from Linaro rather than upstream, and make the configure pkgversion default to the Linaro version number so that the -version option says Linaro too (even if the user built from the tarball without specifying -pkgversion to configure). Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25musb: add dummy support for ulpi pass-through registersJuha Riihimäki
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
2012-07-25onenand: Ignore zero writes to boot command spacePeter Maydell
Ignore zero writes to the boot command space; Linux will issue these in the powerdown/reset sequence. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/omap_gpio.c: Don't complain about some writes to r/o registersPeter Maydell
Don't complain about some writes to r/o OMAP2 GPIO registers, because the kernel will do them anyway. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/omap_intc.c: Don't complain about nonexistent register read by LinuxPeter Maydell
The Linux omap kernel now deliberately reads from the nonexistent register at 0xf8, which only exists on ti816x, because it knows that on omap2 and omap3 this will read as zero. Handle it that way (ie suppress qemu's complaint about read of a bad register), since otherwise the omap3 model has so many warnings it is unusable. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/nand: Support cache status bits and read cache commandsPeter Maydell
TODO: check vs spec, are we just ignoring these commands, is that correct? consider renaming the ready bits On reset, set the Ready bits in the status register (both the original bit 6 and the new bit 5 used by eg the STM NAND chips). Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25target-arm: add support for smcPeter Maydell
2012-07-25Add Cortex A8 r2 supportPeter Maydell
2012-07-25target-arm: Add more TrustZone cp15 registersPeter Maydell
Add implementations of some more TrustZone cp15 registers (we already had the Secure Configuration Register) and make them controlled by an ARM_FEATURE_TRUSTZONE bit. TODO: revisit in the light of the 'fake trustzone' proposals.
2012-07-25hw: Add Overo board supportPeter Maydell
Add Gumstix Overo board definition (an OMAP3 based board). Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/beagle: Implement Beagle, Beagle XM machinesPeter Maydell
Implement the Beagleboard; which is the most common OMAP3 developer board. We provide both a Beagle C4 and a Beagle XM.
2012-07-25hw/i2c-ddc.c: Implement DDC I2C slavePeter Maydell
Implement an I2C slave which implements DDC and returns the EDID data for an attached monitor. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/nseries.c: Add n900 machinePeter Maydell
add n900 to nseries.c
2012-07-25hw/nseries.c: Drop QEMU_VERSION from atagsPeter Maydell
2012-07-25hw/nseries.c: Force pointer visibility on n8x0Peter Maydell
2012-07-25hw/nseries.c: Add support for n900 MIPIDPeter Maydell
NB: a few of these change the not-n900 behaviour slightly, need examination.
2012-07-25hw/nseries.c: Add debug trace to MIPIDPeter Maydell
2012-07-25Add triton2 (twl4030) driverPeter Maydell
The swiss knife companion chip for omap3 includes change from Loïc Minier <lool@dooz.org>: twl4030: Add PWMB OFF and ON regs twl4030: add SW2 conversion channels includes change from PMM: add dummy BCISIHCTRL includes change from Riku: add carkit analog control registers includes change from Riku: add rtc alarm and periodic interrupts includes: twl4030: add callback for providing madc results Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by: Riku Voipo <riku.voipio@nokia.com> Signed-off-by: Loïc Minier <lool@dooz.org>
2012-07-25hw/omap3.c: add omap3 basic supportPeter Maydell
including qdev changes Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Includes: hw/omap3: Instantiate OHCI USB controller Instantiate the OHCI USB controller. We have to do this at the omap3 level because sysbus devices don't support composition. Includes: omap3: generate abb ldo transaction completion irq Includes: omap3: uart changes Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25dsi: generate complexio ulps0 irq when asserting lane sig2Juha Riihimäki
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
2012-07-25dsi: add transfer done callbackJuha Riihimäki
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
2012-07-25OMAP: Refactor DSS/DSIPeter Maydell
(includes earlier 'omap_dss prepare for omap3' patch) Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
2012-07-25add hw/omap_dss_drawfn.hRiku Voipio
Omap DSS draw functions
2012-07-25add hw/omap3_mmc.cPeter Maydell
Add omap3 specific mmc/sd driver omap3_mmc: fix cmd12/52 handling during inactive data transfer Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> omap3_mmc qdev conversion Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> make-omap3_mmc-status-register make omap3_mmc status register directly accessible Changes in the status register are immediately in effect, i.e. the guest does not need to read the status register first before writing changes to it. This change may cause problems if guest code does not handle properly the case where transfers get completed immediately when initiated. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> hw-omap3_mmc-c-use-symbolic-co hw/omap3_mmc.c: Use symbolic constants for status register bits Use symbolic constants rather than hardcoded numeric values for the OMAP3 MMC status register bits, to improve readability. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> hw-omap3_mmc-c-set-tc-status-b hw/omap3_mmc.c: Set TC status bit for R1b no-data commands We emulate MMC commands with response type R1b and no data transfer instantaneously, so we must set the TC bit as well as the CC bit, to indicate that the "busy" period has ended. Without this fix the Linux driver will hang waiting for a TC interrupt that never happens when it tries to do a block erase. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25add hw/omap3_boot.c filePeter Maydell
omap3 bootrom emulation small changes in boot rom code - update comments and include a note for r12=1 smc call - leave the cpu in SYS mode when jumping to bootloader code Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Changes by: Loïc Minier <loic.minier@linaro.org> Fix use of p after free() in omap3_mmc_fat_boot() Fix logic test to use && in omap3_mmc_fat_boot Changes by: Peter Maydell <peter.maydell@linaro.org> Remove code which was erroneously overriding the detection of a CHSETUP header in an OMAP boot image loaded from an MMC card. Fix raw mode boot (try sectors 0 and 256, use right offsets) Changes by: Juha: - do not map boot rom at address zero - make use of the arm cp15 vector base address register - run boot rom emulation from omap3 instead of board Changes by: Peter Chubb <peter.chubb@nicta.com.au> - bugfixes to make FAT12/FAT16 work
2012-07-25hw/omap_usb: Implement OMAP3 USB controllerPeter Maydell
2012-07-25serial, omap_uart: Add support for fifo level regsJan Vesely
Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
2012-07-25omap_uart: Add revision property.Jan Vesely
Set revision to values reported by beagleboard(-xm) hw. Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
2012-07-25hw/omap_uart.c: Forbid extended MCR bit writes unless in enhanced modePeter Maydell
The OMAP UART defines new functions for MCR bits 5 and 6; these can only be written if the appropriate bit is set in the EFR register. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/omap_uart.c: Refactor register access mode testsPeter Maydell
The OMAP UART provides different views of the registers depending on the access mode specified by the value in the LCR register. Refactor this to use an enumeration indicating the current mode rather than doing checks of the cache LCR value everywhere. Similarly, pull out into a function the check of whether registers 0x18/0x1c are in TCR/TLR mode. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25hw/omap_uart.c: Unconditionally enable non-16550 extensionsPeter Maydell
Uncondionally enable the OMAP UART modelling of the extensions over plain 16550A, instead of having them guarded by #ifdefs and disabled by default. Newer Linux kernels have an OMAP specific serial driver which relies on these being implemented. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-07-25serial: reset lsr dr/thre upon fcr rfr/xfrPeter Maydell
Includes: further fix serial.c fifo clear when receive fifo is requested to be cleared and there is a received byte pending to be read, accept the byte while discarding it so it will not stay pending. yet another serial tweak ...so needs review! Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
2012-07-25omap_uart updatesJuha Riihimäki
- convert to qdev - add missing registers FIXME this is badly broken due to serial init changing -- PMM Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
2012-07-25hw/omap_uart.c omap_uart_attach: add label argumentRiku Voipio
Add label argument to omap_uart_attach
2012-07-25fix omap_spi rxs flag status updateJuha Riihimäki
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>