summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* xilinx_spips: Trash LQ page cache on mode changePeter Crosthwaite2013-06-031-1/+24
| | | | | | | | | | | | | Invalidate the LQSPI cached page when transitioning into LQSPI mode. Otherwise there is a possibility that the controller will return stale data to the guest when transitioning back to LQ_MODE after a page program. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: 677490a6ee1953fe5d366e599d665de645ac84db.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* xilinx_spips: Fix QSPI FIFO sizePeter Crosthwaite2013-06-031-2/+25
| | | | | | | | | | | | | | | QSPI has a bigger FIFO than the regular SPI controller. Differentiate between the two with correct FIFO sizes for each. This is the first piece of class data for SPIPS, so this patch sees the creation of the XilinxSPIPSClass definition and assoicated QOM constructs. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: acee25dd5e203215cbc15ca5d3cb5d5b2efebe7b.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* xilinx_spips: Add verbose LQSPI debug outputPeter Crosthwaite2013-06-031-1/+4
| | | | | | | | | | You really need this is you want to track a guest banging on LQSPI. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: 26e508da4af11058d37daa777064c9e5c2a69abb.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* xilinx_spips: Inhibit interrupts in LQSPI modePeter Crosthwaite2013-06-031-1/+6
| | | | | | | | | | | The real hardware does not produce interrupts in LQSPI mode. Inhibit generation of interrupts when the LQ_MODE bit is set. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: dff794a06872009ea7e5733ce6adcff94d18bbd0.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* xilinx_spips: Make interrupts clear on readPeter Crosthwaite2013-06-031-0/+4
| | | | | | | | | | By default these interrupts are clear on read. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: 999ff0091ed3cc3969a431bf55c00ef934cecc8e.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* xilinx_spips: seperate SPI and QSPI as two classesPeter Crosthwaite2013-06-032-15/+56
| | | | | | | | | | | Make SPI and QSPI different classes. QSPIPS is setup as a child of SPIPS. Only QSPI has the LQSPI functionality, so move all that to the child class. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: 2cdd0cadb5ba77ca02fde5cae627852dc9a64c71.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* po/hu.po: Hungarian translation for the GTK+ interfaceÁkos Kovács2013-06-031-0/+63
| | | | | | | | Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Ákos Kovács <akoskovacs@gmx.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-id: 1367860492-3357-1-git-send-email-akoskovacs@gmx.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Merge remote-tracking branch 'kraxel/usb.83' into stagingAnthony Liguori2013-06-035-25/+251
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Gerd Hoffmann (5) and others # Via Gerd Hoffmann * kraxel/usb.83: xhci: add live migration support xhci: add xhci_init_epctx xhci: add xhci_alloc_epctx xhci: add XHCISlot->addressed pci: add VMSTATE_MSIX host-libusb: Correct test for USB packet state Fix usage of USB_DEV_FLAG_IS_HOST flag. Message-id: 1370253951-12323-1-git-send-email-kraxel@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * xhci: add live migration supportGerd Hoffmann2013-06-031-1/+163
| | | | | | | | | | | | | | With all preparing pieces in place we can finally drop in the vmstate structs and the postload function. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * xhci: add xhci_init_epctxGerd Hoffmann2013-06-031-18/+25
| | | | | | | | | | | | | | Factor out endpoint context initialization to a separate function. xhci live migration will need that too, in post_load. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * xhci: add xhci_alloc_epctxGerd Hoffmann2013-06-031-11/+21
| | | | | | | | | | | | | | Factor out endpoint context allocation to a separate function. xhci live migration will need that too, in post_load. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * xhci: add XHCISlot->addressedGerd Hoffmann2013-06-031-0/+3
| | | | | | | | | | | | Preparing for live-migration support, post_load will need that. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * pci: add VMSTATE_MSIXGerd Hoffmann2013-06-032-0/+44
| | | | | | | | | | | | | | | | Using a trick cut+pasted from vmstate_scsi_device to wind up msix_save and msix_load. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com>
| * host-libusb: Correct test for USB packet stateEd Maste2013-06-031-1/+1
| | | | | | | | | | | | | | | | USB_RET_ASYNC is -6, so inflight was always false. Signed-off-by: Ed Maste <emaste@freebsd.org> Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * Fix usage of USB_DEV_FLAG_IS_HOST flag.Michael Marineau2013-06-031-1/+1
| | | | | | | | | | | | | | | | | | USB_DEV_FLAG_IS_HOST is the bit number, not value. Booting with a "Fitbit Base Station" USB dongle was triggering this assert. Signed-off-by: Michael Marineau <mike@marineau.org> Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | Merge remote-tracking branch 'mjt/trivial-patches' into stagingAnthony Liguori2013-06-0315-60/+29
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Ed Maste (3) and others # Via Michael Tokarev * mjt/trivial-patches: do not check pointers after dereferencing them m25p80: Add Micron n25q032a qemu: fix out of tree cross compile slirp: cleanup leftovers from misc.h migration: Remove duplicate bandwidth_limit set docs: Fix typo and update file in migration configure: try pkg-config ncurses first rtc: remove rtc_set_date linux-user: Fix typo in comment configure: remove confusing file manipulation debugcon: fix compiler warning when open DEBUG_DEBUGCON debugcon: make debug message more readable debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON Remove unnecessary break statements don't run pkg-config for features explicitly disabled Message-id: 51A9CCFB.1000109@msgid.tls.msk.ru Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * do not check pointers after dereferencing themPaolo Bonzini2013-06-012-5/+5
| | | | | | | | | | | | | | | | | | | | | | Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-stable@nongnu.org Cc: qemu-trivial@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * m25p80: Add Micron n25q032aEd Maste2013-06-011-0/+1
| | | | | | | | | | | | | | | | Based on the datasheet at http://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_32mb_1_8v_65nm.pdf Signed-off-by: Ed Maste <emaste@freebsd.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * qemu: fix out of tree cross compileAlexey Kardashevskiy2013-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | The symlink to "asm" platform linux headers is made in the build tree by the configure script but gcc is not told to look for them there. The patch fixes this. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * slirp: cleanup leftovers from misc.hMichael Tokarev2013-06-011-14/+0
| | | | | | | | | | | | | | There are quite a few leftover declarations in slirp/misc.h. Remove them. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * migration: Remove duplicate bandwidth_limit setLei Li2013-06-011-1/+0
| | | | | | | | | | | | | | bandwidth_limit is double set in migrate_init(), remove one. Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * docs: Fix typo and update file in migrationLei Li2013-06-011-8/+9
| | | | | | | | | | | | | | | | This patch fix some typo and update the file that already moved. Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * configure: try pkg-config ncurses firstEd Maste2013-06-011-1/+1
| | | | | | | | | | | | | | | | | | When probing for ncurses, try pkg-config first rather than after explicit -lncurses and -lcurses. This fixes static linking in the case that ncurses has additional dependencies, such as -ltinfo (as on FreeBSD). Signed-off-by: Ed Maste <emaste@freebsd.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * rtc: remove rtc_set_dateHu Tao2013-06-011-1/+0
| | | | | | | | | | | | | | | | Since it's not defined and used anywhere. Cc: qemu-trivial@nongnu.org Signed-off-by: Hu Tao <hutao@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * linux-user: Fix typo in commentLei Li2013-06-011-1/+1
| | | | | | | | | | | | Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com> Reviewed-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * configure: remove confusing file manipulationEd Maste2013-06-011-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | The configure script had some code to manipulate config-host.ld~ (i.e., a common backup filename), comparing it with the newly-generated file. I believe the sense of the comparison was backwards. Since it seemed to serve little purpose anyway, remove it to avoid any confusion. Signed-off-by: Ed Maste <emaste@freebsd.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * debugcon: fix compiler warning when open DEBUG_DEBUGCONliguang2013-06-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | compiler warnings: CC hw/char/debugcon.o hw/char/debugcon.c: In function ‘debugcon_ioport_write’: hw/char/debugcon.c:58: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 3 has type ‘uint64_t’ hw/char/debugcon.c: In function ‘debugcon_ioport_read’: hw/char/debugcon.c:70: warning: format ‘%04x’ expects type ‘unsigned int’, but argument 2 has type ‘hwaddr’ Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * debugcon: make debug message more readableliguang2013-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before change: Bdebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x74 tdebugcon: write addr=0x0000 val=0x69 idebugcon: write addr=0x0000 val=0x6e ndebugcon: write addr=0x0000 val=0x67 gdebugcon: write addr=0x0000 val=0x20 debugcon: write addr=0x0000 val=0x66 after change: B [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x74] t [debugcon: write addr=0x0000 val=0x69] i [debugcon: write addr=0x0000 val=0x6e] n [debugcon: write addr=0x0000 val=0x67] g [debugcon: write addr=0x0000 val=0x20] [debugcon: write addr=0x0000 val=0x66] Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCONliguang2013-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when use DEBUG_DEBUGCON, screen spits: debugcon: write addr=0x0000 val=0x00 Rdebugcon: write addr=0x0000 val=0x00 udebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 gdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 pdebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 rdebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 mdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 adebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 Oh, that's wrong, val is not always be 0. this bug caused by lack of length modifier for specifier 'x'. Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * Remove unnecessary break statementsStefan Weil2013-06-015-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix these warnings from cppcheck: hw/display/cirrus_vga.c:2603: hw/sd/sd.c:348: hw/timer/exynos4210_mct.c:1033: target-arm/translate.c:9886: target-s390x/mem_helper.c:518: target-unicore32/translate.c:1936: style: Consecutive return, break, continue, goto or throw statements are unnecessary. Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * don't run pkg-config for features explicitly disabledMichael Tokarev2013-06-011-12/+9
| | | | | | | | | | | | | | We test pkg-config for curses and curl even if those are explicitly disabled. Move these tests inside `if "$feature" != "no"' sections. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
* | tcx: Fix 24-bit display modeMark Cave-Ayland2013-06-021-4/+6
|/ | | | | | | | | Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit mode of the tcx display adapter by accidentally passing in the final address of the dirty region to memory_region_reset_dirty() instead of its size. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* target-i386: Fix aflag logic for CODE64 and the 0x67 prefixRichard Henderson2013-05-311-15/+15
| | | | | | | | | | | | | | | | The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR. While fixing this, tidy and comment the code so that it's more obvious what's going on in setting both aflag and dflag. The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the constant zero when TARGET_X86_64 is undefined. Cc: Paolo Bonzini <pbonzini@redhat.com> Reported-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1369855851-21400-1-git-send-email-rth@twiddle.net Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* s390/ipl: Fix spurious errors in virtioChristian Borntraeger2013-05-311-0/+5
| | | | | | | | | | | | | | | | With the ccw ipl code sometimes an error message like "virtio: trying to map MMIO memory" or "Guest moved used index from %u to %u" appeared. Turns out that the ccw bios did not zero out the vring, which might cause stale values in avail->idx and friends, especially on reboot. Lets zero out the relevant fields. To activate the patch we need to rebuild s390-ccw.img as well. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-id: 1369309901-418-1-git-send-email-borntraeger@de.ibm.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Merge remote-tracking branch 'mdroth/qga-pull-2013-05-30' into stagingAnthony Liguori2013-05-318-22/+127
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Laszlo Ersek # Via Michael Roth * mdroth/qga-pull-2013-05-30: Makefile: create ".../var/run" when installing the POSIX guest agent qga: save state directory in ga_install_service() qga: remove undefined behavior in ga_install_service() qga: create state directory on win32 configure: don't save any fixed local_statedir for win32 qga: determine default state dir and pidfile dynamically osdep: add qemu_get_local_state_pathname() Message-id: 1369940341-9043-1-git-send-email-mdroth@linux.vnet.ibm.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Makefile: create ".../var/run" when installing the POSIX guest agentLaszlo Ersek2013-05-301-1/+9
| | | | | | | | | | | | | | | | | | | | | | Otherwise the default local state directory of POSIX qga won't exist after installation with a non-standard ${prefix} or DESTDIR. For now qga is the only user of ".../var" (= $qemu_localstatedir) too, so don't create that directory either unless we're installing the agent. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
| * qga: save state directory in ga_install_service()Laszlo Ersek2013-05-303-3/+17
| | | | | | | | | | | | | | | | If the user selects a non-default state directory at service installation time, we should remember it in the registered service. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
| * qga: remove undefined behavior in ga_install_service()Laszlo Ersek2013-05-301-8/+11
| | | | | | | | | | | | | | We shouldn't snprintf() from a buffer to the same buffer. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
| * qga: create state directory on win32Laszlo Ersek2013-05-301-0/+14
| | | | | | | | | | | | | | | | On Win32 the local state directory is application specific and users might expect qemu-ga to create it automatically. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
| * configure: don't save any fixed local_statedir for win32Laszlo Ersek2013-05-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | ... because now we can get the dynamic value with qemu_get_local_state_pathname(). The only user of the fixed value was the guest agent, which we've moved to qemu_get_local_state_pathname() in the previous patch. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
| * qga: determine default state dir and pidfile dynamicallyLaszlo Ersek2013-05-301-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No effective change on POSIX, but on Win32 the defaults come from the environment / session. Since commit 39097daf ("qemu-ga: use key-value store to avoid recycling fd handles after restart") we've relied on the state directory for the fd handles' key-value store. Even though we don't support the guest-file-* commands on win32 yet, the key-value store is written, and it's the first use of the state directory on win32. We should have a sensible default for its location. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
| * osdep: add qemu_get_local_state_pathname()Laszlo Ersek2013-05-303-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function returns ${prefix}/var/RELATIVE_PATHNAME on POSIX-y systems, and <CSIDL_COMMON_APPDATA>/RELATIVE_PATHNAME on Win32. http://msdn.microsoft.com/en-us/library/bb762494.aspx [...] This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. [...] Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
* | Merge remote-tracking branch 'luiz/queue/qmp' into stagingAnthony Liguori2013-05-314-9/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Luiz Capitulino (1) and others # Via Luiz Capitulino * luiz/queue/qmp: target-i386: Fix mask of pte index in memory mapping target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses qapi: pad GenericList value fields to 64 bits Message-id: 1370009905-4255-1-git-send-email-lcapitulino@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * | target-i386: Fix mask of pte index in memory mappingQiao Nuohan2013-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function walk_pte() needs pte index to calculate virtual address. However, pte index of PAE paging or IA-32e paging is 9 bit, so the mask should be 0x1ff. Signed-off-by: Qiao Nuohan <qiaonuohan@cn.fujitsu.com> Reviewed-by: Jesse Larrew <jlarrew@linux.vnet.ibm.com> Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
| * | target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addressesLuiz Capitulino2013-05-311-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code used to walk IA-32e page-tables, and possibly PAE page-tables, uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address. However, as we use a uint64_t to store the resulting address, that mask gets expanded to 0xfffffffffffff000 which not only ends up selecting reserved bits but also selects the XD bit (execute-disable) which happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to abort. This commit fixes that problem by replacing ~0xfff by a correct mask that only selects the address bit range (ie. bits 51:12). Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
| * | qapi: pad GenericList value fields to 64 bitsMichael Roth2013-05-303-4/+16
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the introduction of native list types, we now have types such as int64List where the 'value' field is not a pointer, but the actual 64-bit value. On 32-bit architectures, this can lead to situations where 'next' field offset in GenericList does not correspond to the 'next' field in the types that we cast to GenericList when using the visit_next_list() interface, causing issues when we attempt to traverse linked list structures of these types. To fix this, pad the 'value' field of GenericList and other schema-defined/native *List types out to 64-bits. This is less memory-efficient for 32-bit architectures, but allows us to continue to rely on list-handling interfaces that target GenericList to simply visitor implementations. In the future we can improve efficiency by defaulting to using native C array backends to handle list of non-pointer types, which would be more memory efficient in itself and allow us to roll back this change. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* | Merge remote-tracking branch 'bonzini/iommu-for-anthony' into stagingAnthony Liguori2013-05-3112-372/+422
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Paolo Bonzini # Via Paolo Bonzini * bonzini/iommu-for-anthony: (22 commits) memory: add return value to address_space_rw/read/write memory: propagate errors on I/O dispatch exec: just use io_mem_read/io_mem_write for 8-byte I/O accesses memory: correctly handle endian-swapped 64-bit accesses memory: split accesses even when the old MMIO callbacks are used memory: add big endian support to access_with_adjusted_size memory: accept mismatching sizes in memory_region_access_valid memory: add address_space_access_valid exec: implement .valid.accepts for subpages memory: export memory_region_access_valid to exec.c exec: introduce memory_access_size exec: introduce memory_access_is_direct exec: expect mr->ops to be initialized for ROM memory: assign MemoryRegionOps to all regions memory: move unassigned_mem_ops to memory.c memory: add address_space_translate memory: dispatch unassigned accesses based on .valid.accepts exec: do not use error_mem_read exec: make io_mem_unassigned private cputlb: simplify tlb_set_page ... Message-id: 1369947836-2638-1-git-send-email-pbonzini@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * | memory: add return value to address_space_rw/read/writePaolo Bonzini2013-05-292-22/+24
| | | | | | | | | | | | | | | Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | memory: propagate errors on I/O dispatchPaolo Bonzini2013-05-294-30/+36
| | | | | | | | | | | | | | | Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * | exec: just use io_mem_read/io_mem_write for 8-byte I/O accessesPaolo Bonzini2013-05-292-30/+2
| | | | | | | | | | | | | | | | | | | | | The memory API is able to split it in two 4-byte accesses. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
OpenPOWER on IntegriCloud