aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-12-01Merge commit 'mst/for_anthony' into mstAnthony Liguori39-235/+290
2009-12-01msix: clear pending bit of an unused vectorMichael S. Tsirkin1-10/+17
PCI spec states: if a masked vector has its Pending bit set, and the associated underlying interrupt events are somehow satisfied (usually by software though the exact manner is function-specific), the function must clear the Pending bit, to avoid sending a spurious interrupt message later when software unmasks the vector. In our case this happens if vector becomes unused. Clear pending bit in this case. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01msix: fix reset value for enable bitMichael S. Tsirkin1-1/+2
On reset, we currently clear all bits in msix control register *except* enable bit. This is wrong: the spec says we should clear writeable bits: function mask and enable bit. Correct this. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01msix: fix mask bit state after resetMichael S. Tsirkin1-0/+11
PCI spec states that mask bit must be 1 after reset. Make it so. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01virtio: do not reset msix state on soft resetMichael S. Tsirkin1-4/+8
msix state is managed by OS, not the driver, so it's wrong to touch it on io from driver. Mark all vectors unused instead. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01msix: add helper to unuse all msix entriesMichael S. Tsirkin2-0/+8
will be used by virtio on soft reset Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: convert goto into scope in bridge_filterMichael S. Tsirkin1-6/+7
goto into scope is evil. rearrange pci_bridge_filter so that we always go to end of function on error. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
2009-12-01pci: pci bridge related clean up.Isaku Yamahata2-7/+12
- fix bridge prefetchable memory accesser to check 64bit or not. - use pcibus_t consistently instead mixing pcibus_t and uint64_t. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: fix pci_config_get_io_base().Isaku Yamahata1-1/+1
fix typo in pci_config_get_io_base(). Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: remove magic number, 256 in pci.cIsaku Yamahata1-2/+3
This patch replaces magic number, 256, with ARRAY_SIZE(). Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: split up up pci_update mappingsMichael S. Tsirkin1-57/+68
Split bar address math into a separate function. In particular, this gets rid of an ugly forward goto into scope that we have there. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
2009-12-01pci: clean up of pci_update_mappings()Isaku Yamahata1-1/+1
This patch converts r->size == 0 to !r_size. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: remove unused constantsIsaku Yamahata1-9/+0
This patch removes unused constants committed by fb23162885f7fd8cf7334bed22c25ac32c7d8b9d. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: move typedef, PCIHostState, PCIExpressHost to qemu-common.h.Isaku Yamahata3-4/+6
This patch moves two typedefs, PCIHostState and PCIExpressHost to qemu-common.h for consistency as PCIBus and PCIDevice are typedefed in qemu-common.h. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: remove some unnecessary comment in pci.hIsaku Yamahata1-9/+2
This patch removes some comment which should go into commit log in pci.h. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: clean up of pci_init_wmask().Isaku Yamahata1-3/+3
This patch replaces for loop by memset in pci_init_wmask(). Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: kill unnecessary included in pci.cIsaku Yamahata1-1/+0
including pci_host.h isn't needed by pci.c. This patch kills it. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci_host: remove unnecessary & 0xff.Isaku Yamahata1-2/+3
This patch removes unnecessary & 0xff in pci_dev_find_by_addr(). Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: s/pci_find_host_bus/pci_find_root_bus/gIsaku Yamahata3-7/+7
This patch renames pci_find_host_bus() to pci_find_root_bus() as suggested by "Michael S. Tsirkin" <mst@redhat.com>. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: remove pci_sub_bus() by open coding.Isaku Yamahata1-8/+4
Because pci_sub_bus() is used only once so eliminate it by open coding as suggested by "Michael S. Tsirkin" <mst@redhat.com>. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: shorten pci_host_{conf, data}_register_xxx function a bit.Isaku Yamahata9-27/+27
pci_host_data_register_io_memory and its variants are too long a bit. So shorten them. Now they are pci_host_{conf, data}_register_{mmio, mmio_noswap, ioport}() Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: rename (pci_/pcie_mmcfg_)addr_to_devIsaku Yamahata2-6/+7
This patch renames pci_addr_to_dev(), pcie_mmcfg_addr_to_dev() to pci_dev_find_by_addr(), pcie_dev_find_by_mmcfg_addr() as "Michael S. Tsirkin" <mst@redhat.com> suggested. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: remove pci_addr_to_config() by open codeIsaku Yamahata1-7/+2
This patch removes pci_addr_to_config() and open code it as suggested by Michael S. Tsirkin <mst@redhat.com>. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: simplify (pci_/pcie_mmcfg_)data_read()Michael S. Tsirkin2-37/+11
Remove switch on length: we don't care about high bits for value, so just return all ones if no device. And add one assert(). Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Isaku Yamahata <yamahata@valinux.co.jp>
2009-12-01pci: move pci_data_{read, write}() declaration from pci.h to pci_host.hIsaku Yamahata4-2/+5
Now pci host stuff has been moved from pci.[hc] to pci_host.[hc] so the declaration of pci_data_{read, write}() should be in pci_host.h This patch moves them from pci.h to pci_host.h for consistency. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: fix pci_info_device().Isaku Yamahata1-1/+1
It printed wrong limit value of bridge. This patch fixes it. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01pci: pci.h cleanup: move out stuff not in pci.cMichael S. Tsirkin23-25/+76
pci.h declares some functions which aren't defined in pci.h. Clean up moving things to appropriate headers, and update all users. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2009-12-01tcg: increase TCG_MAX_OP_SIZE to 192Aurelien Jarno1-3/+3
This is needed on a MIPS host and a 64-bit cross-endian target. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-12-01tcg: initial mips supportAurelien Jarno3-1/+1452
Based on a patch from Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org> A few words about design choices: * Two registers, at and t0, are reserved for TCG internal use. They are useful for bswap and 64-bit ops. * Most ops supports a constant argument with value 0, which is actually mapped to the zero register. * While the at register is available for constant loading, ops only support a limited range of constants. TCG does a better job doing the register allocation and constant loading by itself. There are plenty of registers available anyway. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-30target-mips: use physical address in lladdrAurelien Jarno3-28/+61
Currently the ll/sc instructions use the virtual address in both user and system mode. Use the physical address insteead in system mode. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-30target-mips: add a function to do virtual -> physical translationsAurelien Jarno2-0/+25
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-30target-mips: split code raising MMU exception in a separate functionAurelien Jarno1-46/+53
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-30target-mips: factorize load/store code in op_helper.cAurelien Jarno1-152/+100
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-30Fix commit a167ba50851cdac2fa36633587e98c5956cd6b18Aurelien Jarno2-0/+2
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-29Add support for GNU/kFreeBSDAurelien Jarno11-42/+39
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-27Revert "vga: do not resize the screen on hw_invalidate"Aurelien Jarno2-4/+3
This causes ctrl+alt+u or ctrl+alt+f to not work when windows hasn't been resized first. Other graphic emulators do resize the screen on hw_invalidate. This reverts commit 0bd8246bfec1dfb2eb959f52db535572c0260f4c.
2009-11-24Makefile: Fix spellingStefan Weil1-1/+1
Replace defconfing -> defconfig Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-24tcg: fix tcg_regset_{set,reset}_reg with more than 32 registersAurelien Jarno1-2/+2
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-24cpu-all.h: fix cpu_get_real_ticks on mips hostArnaud Patard1-9/+18
Fix cpu_get_real_ticks: - check should be done on __mips and not __mips_isa_rev - linux kernels >= 2.6.25 are emulating the 2 needed rdhwr functions so it's safe to use rdhwr. This is better than what's currently in but it doesn't mean it works nicely Some tests needs to be done imho Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-24linux-user: remove hardcoded value of _NSIG in signal.cArnaud Patard1-6/+6
In a bunch of places, 64 is used as value of _NSIG but it's wrong at least on MIPS were _NSIG is 128. Based on a patch from Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-24tcg/ppc64,x86_64: fix constraints of op_qemu_st64Aurelien Jarno2-2/+2
This op only takes two arguments, not two. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-11-24Add missing break.Paul Brook1-0/+1
Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-23Update SeaBIOSAnthony Liguori2-0/+0
This includes the following changes: 42bc394 Make sure to reenable ata interrupts even on error. 494dfc6 Move SeaBIOS post/boot stack to avoid conflict with gPXE. 3133e38 Test for broken gcc -combine on FC12. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-22ARM atomic ops rewritePaul Brook5-176/+251
Implement ARMv6 atomic ops (ldrex/strex) using the same trick as PPC. Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-22ARM RealView I2CPaul Brook1-1/+85
Add ARM Realview I2C host emulation. Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-22GPIO I2C reworkPaul Brook3-100/+161
Reqrite bitbanging I2C implementation. New code improves stop/start condition handling, and gives more accurate input line level. Introduce intermediate abstraction layer for I2C bitbanging that is not connected via a GPIO port. Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-22DS1338 RTCPaul Brook3-0/+134
Implement MAXIM SD1338 RTC+NVRAM. Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-22BCD cleanupPaul Brook5-98/+79
Combine multiple BCD implementations. Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-22Makefile dependencies for device configsPaul Brook4-21/+16
Add makefile dependencies for target specific device configs. These will copy the default config if none exists, obsoleting the old configure time code. If a config already exists but is older than the default then print a warning. Also remove config-devices.h. Code does not and should not care which devices are being built. Signed-off-by: Paul Brook <paul@codesourcery.com>
2009-11-22target-mips: fix physical address type in MMU functionsAurelien Jarno2-11/+11
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>