Commit Graph

43026 Commits

Author SHA1 Message Date
Peter Maydell
6bb9ead762 sdl2/opengl: add opengl context and scanout support
ui/curses: Fix color attribute of monitor for curses
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJWj66aAAoJEEy22O7T6HE4rSgP/iBVMpm5wZrOvxGZ7XV0wx7D
 /JiQ7J7oS6aWBpz0LFHeiseWMDX1/V2kEDe/3mwHqeNULfeZqlf9PIXwM8N6FX2Q
 tIO0DB7iTDg/nT10Q2gHsYQtaNcsuw1c8+mwOw20ogcBVTXqHw4tACPhZWthVNDQ
 sLeIwH0OU/n/Gf6E+tMAfourDH0SIM8wtw9UguGcR1PxbyDnvRv8gEiPty2qOnGq
 nTdIdmf54eCgll6qQRhZ3+53k1ShrTv7hn5GKRmQZSOFXe5JgBeUfoT6xZf/lIAf
 D9LdmAU9vuNK7m4TceEsIAzUvNG49jAsVQGUO6Ebk3rT3FSoNLfx7ION/N0xjDvt
 CAKGN1Ub/vuqPBl57/qb9AxTYcRPW5KgHSrALWrM7TTLY8xLa2cRjEd6kVYfPsvs
 rhhrfHeac3qiwg9sjKaHeXvcmOCSRX/pTzkER9RK7bIeMHyDu7x+WJvIkW5qdfSe
 1G62aXZIeSRlSfKDvdbn1zfu/gZ7uy8xtvG/3CrCcT5Qf3PqEr2KOPsq/S1C1BKN
 GSCnt+DcLNmdiwyESMluibdVx9Vh7urbOdCh9pebFjgswCPNRSXzyUji0Xkzwe8b
 BkBoSCqdu5Z0QmiapG83Y2e9e/uWqfyr/DAB/CiFf2wLgoiiP1usof3Euzez96oa
 i7q5dNgGuBlv25Z8ngT8
 =4sRO
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20160108-1' into staging

sdl2/opengl: add opengl context and scanout support
ui/curses: Fix color attribute of monitor for curses

# gpg: Signature made Fri 08 Jan 2016 12:42:02 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-ui-20160108-1:
  sdl2/opengl: add opengl context and scanout support
  ui/curses: Fix color attribute of monitor for curses

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-08 12:50:19 +00:00
Peter Maydell
9df2513730 usb: mtp and ohci fixes.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJWj4wjAAoJEEy22O7T6HE4PegP/A9occg8K/vXW9WKm4qJLX3w
 MCSlyEnIVWkK6nRx8xQnzINxvxFg7KXmWU8Rkp8JY7NZOFpdo4/ivGObfl4B7bCY
 uHfdXAmU7RycT3m0TERS92fK95LPurN19q/66me1HH8orfOMBYmoVr7UILJaehUW
 ZHEka0lnPeTcs7AY59svUn8g6Xr4dn5zN0v0mEJemAjWmOiolMcX9P/hKskn7nPc
 kC3vu/vVFEXmKWVwAYrDasFltAJ1670tIvI8sNhPZeoD+wucMBLx29JJ8760AmJT
 kQO4vZkD0GM4AjDCvKt8tCn6XQt/5D+Fg9gdXtX7Nv8IbHhrLYrTM8iQsvT7dyCX
 JhY4USoKERjjttzDo6JbGZDYe5YwUP5U9QNXVTCw9oM8jfTA9o6evnFgASMEbGlW
 CZpZG+PCYe/x2MG4pMSVHYR/RZxNfncqdjX7jxr376zDGWt5ptnZWrNlL92O/+XI
 3biXorhsiJUtHMmrDIR8xhGn44F1/zVAvuP+1oqt7kMSr9p7wtxQ2RQEcVFQ7QJN
 KU6DEoC5EYjUEv74HIylHyrLGa1s+l1LUFS0c4TQGslO5BcjprF37l48q+o+3G9V
 nN6s+UqUhI8J8mvx7jE04xROPZmMf6oztw28j8EEMbHVvdyPgnCcJcHX0QuEBEWH
 fZrVjBLAT12RZk4Z7X6f
 =mdBV
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-20160108-1' into staging

usb: mtp and ohci fixes.

# gpg: Signature made Fri 08 Jan 2016 10:14:59 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-usb-20160108-1:
  ohci: clear pending SOF on suspend
  ohci: delay first SOF interrupt
  usb-mtp: fix call to trace function
  usb-mtp: use safe variant when cleaning events list
  ohci: fix command HostControllerReset
  ohci: fix Host Controller USBRESET
  ohci: split reset method in 3 parts

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-08 11:24:15 +00:00
Gerd Hoffmann
cb47dc9ab9 sdl2/opengl: add opengl context and scanout support
This allows virtio-gpu to render in 3d mode.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2016-01-08 12:20:15 +01:00
OGAWA Hirofumi
4083733db5 ui/curses: Fix color attribute of monitor for curses
Current text_console_update() writes totally broken color attributes
to console_write_ch(). The format now is writing,

[WRONG]
	bold << 21 | fg << 12 | bg << 8 | char
	fg == 3bits curses color number
	bg == 3bits curses color number

I can't see this format is where come from. Anyway, this doesn't work
at all.

What curses expects is actually (and vga.c is using),

[RIGHT]
	bold << 21 | bg << 11 | fg << 8 | char
	fg == 3bits vga color number
	bg == 3bits vga color number

And curses set COLOR_PAIR() up to match this format, and curses's
chtype. I.e,

	bold | color_pair | char
	color_pair == (bg << 3 | fg)

To fix, this simply uses VGA color number everywhere except curses.c
internal. Then, convert it to above [RIGHT] format to write by
console_write_ch(). And as bonus, this reduces to expose curses define
to other parts (removes COLOR_* from console.c).

[Tested the first line is displayed as white on blue back for monitor
in curses console]

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Message-id: 87r3j95407.fsf@mail.parknet.co.jp
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 12:20:07 +01:00
Peter Maydell
d9767f1bfa Block patches from 2015-12-23 until 2016-01-07.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQEcBAABCAAGBQJWjuqwAAoJEDuxQgLoOKytznIH/Ap0ldYSdwBouhZkpKRDwIwf
 5/9skIgwuDJ2DeGDqAcVEC4Nxq9HuUCz7DcXPAiTfFRM7ccpnSJJ5O0vfTuC353t
 59h1JYh2kLDLXEm4RdylLMeuLNGuc+avUtWGVVQOrjFmSQAO7z3nexmoNRL6ccqE
 Cd/Oe1I2QU65p/4YpyslKg0N8A/WrHjOsf58Coo2ZCGNh3GLCNuE5mpofXBeSfWB
 bFdaq2Uv9x3F+vVq5zx3iNt2J8kHXlwZBEEYACzs+2j7j7O5TedjHDjgBrirbxl/
 C3F8d+4JqhzAP141yZMO35z1hbehCaKddDZRuN8ryeMXSnBLU3hP9wm4Y1HLrJc=
 =bxBe
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-for-peter-2016-01-07' into staging

Block patches from 2015-12-23 until 2016-01-07.

# gpg: Signature made Thu 07 Jan 2016 22:46:08 GMT using RSA key ID E838ACAD
# gpg: Good signature from "Max Reitz <mreitz@redhat.com>"

* remotes/maxreitz/tags/pull-block-for-peter-2016-01-07: (21 commits)
  iotests: Add test cases for blockdev-mirror
  qmp: Add blockdev-mirror command
  block: Add check on mirror target
  block: Extract blockdev part of qmp_drive_mirror
  block: Rename BLOCK_OP_TYPE_MIRROR to BLOCK_OP_TYPE_MIRROR_SOURCE
  qemu-iotests: s390x: fix test 051
  iotests: 095: Filter _img_info output
  iotests: 095: Use TEST_IMG override instead of "mv"
  iotests: 050: Use TEST_IMG override instead of "mv"
  iotests: 038: Use TEST_IMG override instead of "mv"
  iotests: 037: Use TEST_IMG override instead of "mv"
  iotests: 034: Use TEST_IMG override instead of "mv"
  iotests: 028: Use TEST_IMG override instead of "mv"
  iotests: 024: Use TEST_IMG override instead of "mv"
  iotests: 020: Use TEST_IMG override instead of "mv"
  iotests: 019: Use TEST_IMG override instead of "mv"
  iotests: 018: Use TEST_IMG override instead of "mv"
  block/qapi: Clear err for further error
  block: use drained section in bdrv_close
  qemu-iotests: make check-block.sh work on out-of-tree builds
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-08 10:45:07 +00:00
Laurent Vivier
087462c773 ohci: clear pending SOF on suspend
On overcommitted CPU, kernel can be so slow that an interrupt can
be triggered by the device whereas the driver is not ready to receive
it. This drives us into an infinite loop.

On suspend, if a SOF interrupt is raised between the stop of the
device processing and the change of the device internal state to
OHCI_USB_SUSPEND (QEMU stops SOF timer on this state change), this
interrupt is never acknowledged.

This patch clears pending SOF interrupt on OHCI_USB_SUSPEND setting.

Some details:

- ohci_irq(): the OHCI interrupt handler, acknowledges the SOF IRQ
  only if the state of the driver (rh_state) is OHCI_STATE_RUNNING.
  So if this interrupt happens and the driver is not in this state,
  the function is called again and again, moving the system to a
  CPU starvation.

- ohci_rh_suspend(): the function stop the operation and acknowledge
  pending interrupts (but doesn't disable it). Later in the function,
  the device is moved to OHCI_SUSPEND_STATE, and the driver to
  OHCI_RH_SUSPENDED. If between the moment when the interrupt is
  acknowledged and the moment when the device is suspended a new
  interrupt is raised, it will be never acknowledged because the
  driver is now not in OHCI_RH_RUNNING state.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 1452109525-32150-3-git-send-email-lvivier@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:29:24 +01:00
Laurent Vivier
fd0a10cd20 ohci: delay first SOF interrupt
On overcommitted CPU, kernel can be so slow that an interrupt can
be triggered by the device whereas the driver is not ready to receive
it. This drives us into an infinite loop.

This does not happen on real hardware because real hardware never send
interrupt immediately after the controller has been moved to OPERATION state.

This patch tries to delay the first SOF interrupt to let driver exits from
the critical section (which is not protected against interrupts...)

Some details:

- ohci_irq(): the OHCI interrupt handler, acknowledges the SOF IRQ
  only if the state of the driver (rh_state) is OHCI_STATE_RUNNING.
  So if this interrupt happens and the driver is not in this state,
  the function is called again and again, moving the system to a
  CPU starvation.

- ohci_rh_resume(): the driver re-enables operation with OHCI_USB_OPER.
  In QEMU this start the SOF timer and QEMU starts to send IRQs. As
  the driver is not in OHCI_STATE_RUNNING and not protected against IRQ,
  the ohci_irq() can be called and the driver never moved to
  OHCI_STATE_RUNNING.

Suggested-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 1452109525-32150-2-git-send-email-lvivier@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:29:24 +01:00
Bandan Das
ec93e158b1 usb-mtp: fix call to trace function
trace_usb_mtp_inotify_event() was being called after the object was
being freed.

Signed-off-by: Bandan Das <bsd@redhat.com>
Message-id: 1450861787-16213-3-git-send-email-bsd@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:25:50 +01:00
Bandan Das
c22d5dcd7a usb-mtp: use safe variant when cleaning events list
usb_mtp_inotify_cleanup uses QLIST_FOREACH to pick events
from a list and free them which is incorrect. Use QLIST_FOREACH_SAFE
instead.

Signed-off-by: Bandan Das <bsd@redhat.com>
Message-id: 1450861787-16213-2-git-send-email-bsd@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:25:50 +01:00
Hervé Poussineau
0922c3f606 ohci: fix command HostControllerReset
Specification says that: "This bit is set by HCD to initiate a software reset of HC."

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 1450567431-31795-4-git-send-email-hpoussin@reactos.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:25:50 +01:00
Hervé Poussineau
7d938fd14b ohci: fix Host Controller USBRESET
Specification says that, when entering this state, "the contents of the registers
(except Root Hub registers) are preserved by the HC. [...] The Root Hub is being reset,
which causes the Root Hub's downstream ports to be reset and possibly powered off."

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 1450567431-31795-3-git-send-email-hpoussin@reactos.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:25:50 +01:00
Hervé Poussineau
84d04e2162 ohci: split reset method in 3 parts
The three parts are:
- root hub reset (ohci_roothub_reset)
- host controller soft reset (ohci_soft_reset)
- host controller hard reset (ohci_hard_reset)

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 1450567431-31795-2-git-send-email-hpoussin@reactos.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-08 09:25:50 +01:00
Fam Zheng
94ca2c7395 iotests: Add test cases for blockdev-mirror
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450932306-13717-6-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:18 +01:00
Fam Zheng
df92562e68 qmp: Add blockdev-mirror command
This will start a mirror job from a named device to another named
device, its relation with drive-mirror is similar with blockdev-backup
to drive-backup.

In blockdev-mirror, the target node should be prepared by blockdev-add,
which will be responsible for assigning a name to the new node, so
we don't have 'node-name' parameter.

Signed-off-by: Fam Zheng <famz@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-id: 1450932306-13717-5-git-send-email-famz@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:18 +01:00
Fam Zheng
e40e5027f6 block: Add check on mirror target
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450932306-13717-4-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:18 +01:00
Fam Zheng
4193cdd771 block: Extract blockdev part of qmp_drive_mirror
This is the part that will be reused by blockdev-mirror.

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450932306-13717-3-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:18 +01:00
Fam Zheng
05e4d14bf3 block: Rename BLOCK_OP_TYPE_MIRROR to BLOCK_OP_TYPE_MIRROR_SOURCE
It's necessary to distinguish source and target before we can add
blockdev-mirror, because we would want a concrete type of operation to
check on target bs before starting.

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450932306-13717-2-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Bo Tu
dd87de06fa qemu-iotests: s390x: fix test 051
Replace the remaining "-drive file..."
by "-drive file=...,if=none,id=$device_id", then x86 and s390x
can get the common output.
"if=ide, if=floppy, if=scsi" are not supported by s390x,
so these test cases are not executed for s390x platform.

Signed-off-by: Bo Tu <tubo@linux.vnet.ibm.com>
Message-id: 1451885360-20236-2-git-send-email-tubo@linux.vnet.ibm.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
f943078e42 iotests: 095: Filter _img_info output
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-id: 1450752561-9300-12-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
61b422265e iotests: 095: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-id: 1450752561-9300-11-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
ae7e0bf461 iotests: 050: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-10-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
1b935e1dc9 iotests: 038: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-9-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
9b652fbe1d iotests: 037: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-8-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
5581018400 iotests: 034: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-7-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
49557d656c iotests: 028: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-6-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
f19f11896e iotests: 024: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-5-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
71ad761766 iotests: 020: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-4-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
f2bbcd3f7f iotests: 019: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-3-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
9b337ae90a iotests: 018: Use TEST_IMG override instead of "mv"
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1450752561-9300-2-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Fam Zheng
0fa296eb00 block/qapi: Clear err for further error
Since a5002d5 (block/qapi: allow best-effort query) we don't return at
this error, however err must be cleared before passing to
bdrv_query_snapshot_info_list below, as required by error API.

Signed-off-by: Fam Zheng <famz@redhat.com>
Message-id: 1450779107-26765-1-git-send-email-famz@redhat.com
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Paolo Bonzini
fc27291daf block: use drained section in bdrv_close
bdrv_close is used when ejecting a medium.  Use a drained section to ensure
that all I/O goes to either the old medium or the bitbucket.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1450867706-19860-2-git-send-email-pbonzini@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:17 +01:00
Paolo Bonzini
7467d94cc4 qemu-iotests: make check-block.sh work on out-of-tree builds
Since check-block.sh, the "check" script has learnt to find the source
path.  On the other hand, it expects common.env to be in the build tree
(both changes made in commit 76c7560, "configure: Enable out-of-tree
iotests", 2014-05-24).  So, it is wrong to invoke "check" from the source
path like check-block.sh does.  Fix it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1450867341-11100-1-git-send-email-pbonzini@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:16 +01:00
Fam Zheng
253597d8cf iotests: 086: Add raw format
Raw is as qualified as qcow2 for this test case, add it for more
coverage.

Signed-off-by: Fam Zheng <famz@redhat.com>
Message-id: 1450851979-15580-1-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-01-07 21:30:16 +01:00
Edgar E. Iglesias
a7e00e2536 petalogix-ml605: Set the MicroBlaze CPU version to 8.10.a
Set the MicroBlaze CPU version to 8.10.a avoiding a runtime
warning due to an unset CPU version.

Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2016-01-07 14:57:26 +01:00
Edgar E. Iglesias
ad24f947be s3adsp1800: Set the MicroBlaze CPU version to 7.10.d
Set the MicroBlaze CPU version to 7.10.d avoiding a runtime
warning due to an unset CPU version.

Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2016-01-07 14:57:26 +01:00
Peter Maydell
263699432c qemu-sparc update
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJWjmYNAAoJEFvCxW+uDzIfSycH/An/L9tDFXtoC/W7Dq7/cKQw
 7AWhskcfgCxxo0DoqnyHc6JKgONr8Jv15Vf7PTMM23KHioCX5wEgH52mOT5bKXDy
 RnGG5qe4rj5A0i48kRZTG0ryjcKHra5I08UsznljGROmp5/fjLXAG1QEgrKKGXGn
 kQyWZ46g8vka+MBKtetNipFForimIWOWjVO54neb7kwLMV2yiE8gaD4oAgJDmgSN
 dHXB6rxCpBcnjdYCuri/9E1hVZmv7GmUH5e3cbD/COJu8ZFHASqXvtAih786vQa0
 Fj441hO1WToi8PrrZBv76UxUton06O1+QvYZsCMf073vEyQKUhyHrYpd2hpWFQI=
 =zyNj
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into staging

qemu-sparc update

# gpg: Signature made Thu 07 Jan 2016 13:20:13 GMT using RSA key ID AE0F321F
# gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>"

* remotes/mcayland/tags/qemu-sparc-signed:
  target-sparc: implement NPT timer bit
  sun4u: split NPT and INT_DIS accesses between timer and compare registers
  sun4u: split out NPT and INT_DIS into separate CPUTimer fields

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-07 13:33:19 +00:00
Mark Cave-Ayland
c9a464420d target-sparc: implement NPT timer bit
If the NPT bit is set in the timer register, all non-supervisor read accesses
to the register should fail with a privilege exception.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-By: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-01-07 12:21:06 +00:00
Mark Cave-Ayland
bf43330aa4 sun4u: split NPT and INT_DIS accesses between timer and compare registers
Accesses to the timer register high bit should only set NPT, whilst accesses
to the timer compare register high bit should only set INT_DIS. This fixes
issues with the timer being unexpectedly disabled whilst trying to boot
FreeBSD SPARC64.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-By: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-01-07 12:21:02 +00:00
Mark Cave-Ayland
e913cac71b sun4u: split out NPT and INT_DIS into separate CPUTimer fields
Currently there is confusion between use of these bits for the timer and timer
compare registers (while they both have the same value, the behaviour is
different). Split into two separate CPUTimer fields so we can always reference
the correct value.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-By: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-01-07 12:20:53 +00:00
Peter Maydell
ac93a06786 seabios: update to release 1.9.0
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJWi7H6AAoJEEy22O7T6HE4IcMQAIx9sq/CEJT+DFLq0ynwc+nu
 cEaHhuKXSYHpvm+qIXpm8DS0wBDY2pLbDOlMovelT/u5q3864M4PS/q66yG6Mx05
 eapHGaqgV/pLaMZUoOL/Pd8iD/O9Ai+sasqWvmU0s2SsG5DY8RnvxyMwUrewsKae
 B9Nm45mBU02uoEgvcfaI8uLnc+7b5wmC8psgFNWXSK343dU+EWlokS5huj6pjNBI
 EV+ITPN5YTIsN1rRnyoCFCWtqvyyAglpty8LEI/CrQHhWY23OGZhYnBHwTYo9vJY
 YWGxrGhcOVvYPWNZlVSmPmzKSy9M0tfBAFFrycxF27N/oHLmvbQ8r8iCXbi3F2le
 vX2GG2lXNv0MC76n+TcaHRoPkYblPywv7CYzQazQyqoJngkKIuc+GeI6932yZjq7
 VVDrj8FyeDg38PxKxb+tA5jfEcrXmfW6u94q8cGQRRB8X7EUw/v5eJX6unjbNMOK
 kBah8JM04CIHwh+C+21xD+2oN5+zDuha+fBmquhcuFteaMBzV/pHmwJXE6QWk1F1
 5dN29qrLW+0Dx5CGPnKRRurd+Gsh54AgKExzhAiCi2i4Jt1SBeQVXTTTaULQny/m
 y9V9oI13mRwVE+XpNi7oWVwacuyjx3fKAS3IZpESJk7vXG/OG3U3yOvAlslh6fd4
 r0EWHwESmxVOEMcuRmaJ
 =ArKj
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/pull-seabios-20160105-1' into staging

seabios: update to release 1.9.0

# gpg: Signature made Tue 05 Jan 2016 12:07:22 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-seabios-20160105-1:
  seabios: update binaries to release 1.9.0
  seabios: stop updating aml files
  seabios: update 128k bios config
  seabios: use new EXTRAVERSION to tag qemu builds
  seabios: update submodule to release 1.9.0

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-07 11:22:18 +00:00
Peter Maydell
4101dfe0cd -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
 
 iQEcBAABAgAGBQJWjiwyAAoJEJykq7OBq3PI1bEH/iK8DdGU9y3uiH6L1v29ZLHH
 YS84PRqXNK2PFNnsUxKV/+Eo8RR4ItSMRtYop8Q5Ne/G4Rtw5OYeSRDWLgYJXtht
 jOVQURz9IDqabVSXX8hGpZDcwZbBvRDLTbq4Jkccul/xKoIJuY1uYBrjSvGYaHFF
 UNxHNNnpsCETBUOaoFmhbfWtFGN3J/iPG+0k2cdSSiby+JJ9QNQfE2Y/9vXVUTWK
 hFzdagOX8Nk101+44GW7CJTrI+Vyeuw8Qed4utIMqA19Bby8aVKXjtt3dZhKli5T
 ioxtTTdXJTq4VhvS9dWLOVOZlqEc4chIBzVDpnXiZYkz8Sd0qoNC+6fUS1s9ugg=
 =Uhwj
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging

# gpg: Signature made Thu 07 Jan 2016 09:13:22 GMT using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"

* remotes/stefanha/tags/tracing-pull-request:
  trace: add make dependencies on tracetool source
  trace: fix make foo-timestamp rules
  trace: fix PRIx64 constants in trace-events
  trace: reflect the file name change

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-07 10:19:28 +00:00
Stefan Hajnoczi
cef517ca4b trace: add make dependencies on tracetool source
Patches that change tracetool can break the build if old build output
files are lying around.

This happens because the Makefile does not specify dependencies on
tracetool.  The build will use old object files that do not match the
current source code.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-01-07 16:59:56 +08:00
Stefan Hajnoczi
9967e4fec0 trace: fix make foo-timestamp rules
The Makefile uses intermediate timestamp files to avoid rebuilding if
tracetool output is unchanged.

Timestamps are implemented incorrectly.  This was fixed for rules.mak in
commit 4b25966ab9 ("rules.mak: cleanup
config generation rules") but never fixed in trace/Makefile.objs.

The problem with the old timestamp implementation was that make doesn't
notice the updated file modification time until the next time it is run.
It was necessary to run make twice in a row to achieve a full rebuild.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-01-07 16:59:38 +08:00
Mark Cave-Ayland
c6daed8654 trace: fix PRIx64 constants in trace-events
Commit c8ee0a4 introduced new events containing PRIx64 constants without
including the % prefix in the preceding string. This results in a compile
error during build if --enable-trace-backends is passed to configure.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 1450566522-6003-1-git-send-email-mark.cave-ayland@ilande.co.uk
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-01-07 09:39:11 +08:00
Qinghua Jin
67a9faccef trace: reflect the file name change
Some functions was moved from block.c to block/io.c, so the trace-events file should reflect that change.

Signed-off-by: Qinghua Jin <qhjin_dev@163.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-01-07 09:39:11 +08:00
Gerd Hoffmann
4b9294c00e seabios: update binaries to release 1.9.0
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:15 +01:00
Gerd Hoffmann
bf864863f6 seabios: stop updating aml files
ACPI aml files traditionally have been managed in the seabios repo.
In qemu version 2.0 we've switched over to have qemu generate the
acpi tables and provide them to the firmware via fw_cfg.

The old aml files are still there and used for old machine types.
Well, actually the q35 file only, the piix4 version is compiled into
seabios (unless built with CONFIG_ACPI_DSDT=n) and is there for
reference only.

The aml files havn't been touched for a long time, and given that
new features requiring acpi changes are typically only added to new
machine types this is unlikely to change in the future.  So stop
updating them.

That allows to cleanup things a bit on the seabios side in the future.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:14 +01:00
Gerd Hoffmann
cae7e84eb7 seabios: update 128k bios config
Turn off OHCI + TPM support to keep the size below 128k.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:14 +01:00
Gerd Hoffmann
437b8d8c59 seabios: use new EXTRAVERSION to tag qemu builds
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:14 +01:00
Gerd Hoffmann
ad30c0b0d8 seabios: update submodule to release 1.9.0
Highlights / user visible changes in seabios:
 * boot menu key is ESC now.
 * virtio 1.0 support.
 * sdcard support.
 * fw_cfg dma suport.
 * usual share of bugfixes ;)

In vgabios:
 * Emulates leal instruction.  Works around a bug in old x86emu versions,
   which makes old xorg vesa drivers work (RHEL-5 for example).

full shortlog rel-1.8.2..rel-1.9.0
----------------------------------

Ameya Palande (1):
      x86: add barrier to read{b,w,l} and write{b,w,l} functions

Andreas Färber (1):
      checkrom: Fix typo in error message

Chen Fan (1):
      pci: enable SERR# for error forwarding in bridge control register

Gerd Hoffmann (28):
      vga: simplify vga builds
      vga: rework virtio-vga support
      vga: add virtio-vga to kconfig
      pci: allow to loop over capabilities
      virtio: run drivers in 32bit mode
      virtio: add struct vp_device
      virtio: pass struct pci_device to vp_init_simple
      virtio: add version 1.0 structs and #defines
      virtio: add version 0.9.5 struct
      virtio: find version 1.0 virtio capabilities
      virtio: create vp_cap struct for legacy bar
      virtio: add read/write functions and macros
      virtio: make features 64bit, support version 1.0 features
      virtio: add version 1.0 support to vp_{get,set}_status
      virtio: add version 1.0 support to vp_get_isr
      virtio: add version 1.0 support to vp_reset
      virtio: add version 1.0 support to vp_notify
      virtio: remove unused vp_del_vq
      virtio: add version 1.0 support to vp_find_vq
      virtio-scsi: fix initialization for version 1.0
      virtio-blk: fix initialization for version 1.0
      virtio: use version 1.0 if available (flip the big switch)
      virtio: also probe version 1.0 pci ids
      virtio: legacy cleanup
      virtio-blk: 32bit cleanup
      virtio-scsi: 32bit cleanup
      virtio-ring: 32bit cleanup
      virtio-pci: use high memory for rings

Julius Werner (1):
      xhci: Count new Max Scratchpad Bufs bits from XHCI 1.1

Kevin O'Connor (126):
      docs: add page for SeaVGABIOS
      docs: Add page describing the patch contribution process
      docs: Add page on available CBFS/fw_cfg runtime config files
      docs: Prefer triple backticks to multiple lines with single backticks
      smp: Fix smp race introduced in 0673b787
      docs: Note release date of 1.8.1
      vgabios: On bda_save_restore() the saved vbe_mode also has flags in it
      vgabios: Don't use extra stack if it appears a modern OS is in use
      docs: Clarify that pci-optionrom-exec doesn't apply to roms in cbfs
      checkstack: Replace function information tuple with class
      checkstack: Simplify yield calculations
      checkstack: Prefer passing "function" class instead of function address
      smbios: Use integer signature instead of string signature
      vgabios: Don't use "smsww" instruction - it confuses x86emu
      vgabios: Add config option for assembler fixups
      vgabios: Emulate "leal" instruction
      checkstack: Minor - continue if not a regular asm line
      Don't forward declare functions with "inline" in headers
      build: Support "make VERSION=xyz" to override the default build version
      tcg: Use seabios setup()/prepboot() calling convention for tcg
      build: CONFIG_VGA_FIXUP_ASM should depend on CONFIG_BUILD_VGABIOS
      bootorder: Update "extra pci root" buses bootorder format to match qemu
      Make sure all code checks for malloc failures
      docs: Note release date of 1.8.2
      block: Split process_op() command dispatch up into multiple functions
      block: Introduce default_process_op() with common command handling codes
      block: Route scsi style commands through 'struct disk_op_s'
      blockcmd: Introduce scsi_fill_cmd()
      ata: Handle ATA ATAPI drives directly via 'struct disk_op_s' requests
      ahci: Handle AHCI ATAPI drives directly via 'struct disk_op_s' requests
      usb-msc: Handle USB drives directly via 'struct disk_op_s' requests
      usb-uas: Handle USB drives directly via 'struct disk_op_s' requests
      lsi-scsi: Handle LSI drives directly via 'struct disk_op_s' requests
      esp-scsi: Handle ESP drives directly via 'struct disk_op_s' requests
      megasas: Handle Megasas drives directly via 'struct disk_op_s' requests
      virtio-scsi: Handle virtio drives directly via 'struct disk_op_s' requests
      pvscsi: Move pvscsi_fill_req() code into pvscsi_cmd()
      pvscsi: Handle pvscsi drives directly via 'struct disk_op_s' requests
      blockcmd: Remove unused scsi_process_op() and cdb_cmd_data()
      blockcmd: Convert cdb_is_read() to scsi_is_read()
      block: Rename process_XXX_op() functions to XXX_process_op()
      coreboot: Try to auto-detect if the CBFS anchor pointer is a relative pointer
      ps2: Support mode for polling the PS2 port instead of using irqs
      ata: Make sure "chanid" is relative to PCI device for bootorder file
      Don't enable interrupts prior to IVT and PIC setup
      ps2: Don't wait 100ms to discard possible extra reset receive byte
      timer: Delay timestamp counter init until after pmtimer is probed
      timer: Add CONFIG_TSC_TIMER build option to disable the CPU TSC timer
      ramdisk: Allow ramdisk support (CONFIG_FLASH_FLOPPY) under QEMU
      Minor - move declaration of CDRom_locks to code that uses it
      smm: ignore bits 16,18-31 of SMM revision ID at runtime too
      vgafb: Minor - move gfx_common() variables outside of switch statement
      sdcard: Check if card is present before sending commands to card
      sdcard: Implement controller frequency setting according to sdhci spec
      sdcard: Make sure controller support 3.3V before enabling it
      sdcard: Set timeout control register during init (to max allowed timeout)
      sdcard: Improve SD card initialization command sequence
      sdcard: Add proper delays during card power up
      mptable: Don't create mptable if it is very large
      optionroms: Don't run option rom on PCI bar if CBFS/fw_cfg version exists
      edd: Pass the segment/offset from int 1348 calls using a 'struct segoff_s'
      edd: Reduce parameters to fill_generic_edd()
      Move CanInterrupt check to check_irqs()
      Call cpu_relax() if yielding prior to interrupts being enabled
      sdcard: Fix typo - use sdcard_pio() instead of sdcard_pio_app()
      sdcard: Fill command bits according to spec
      sdcard: Support SDHCI v3.00 spec clock setting
      sdcard: Move power setup to new function sdcard_set_power()
      sdcard: Power controller up to maximum voltage supported
      sdcard: Power down controller on failure
      sdcard: The card should never be in a busy state at start of sdcard_pio()
      sdcard: Implement timeout on every block read in sdcard_pio_transfer()
      sdcard: Rename waitw() to sdcard_waitw() and simplify
      sdcard: Perform a controller reset at start of init
      sdcard: Check for error events during sdcard_pio()
      sdcard: Initial support for MMC cards
      sdcard: Allow the sdcard driver to run on real hardware
      rtc: Support disabling the RTC timer irq support
      Add minimal support for machines without hardware interrupts
      ps2: Eliminate "etc/ps2-poll-only"; use CONFIG_HARDWARE_IRQ instead
      sdcard: Allow sdcard addresses to be specified in CBFS files
      xhci: Minor - add USB port type comments to xhci_hub_reset()
      docs: Don't use an add-symbol-file offset when describing gdb debugging
      rtc: Disable NMI in rtc_mask()
      sdcard: Move sdcard_set_frequency()/sdcard_set_power() in sdcard.c
      sdcard: Move frequency setting into sdcard_card_setup()
      sdcard: Move drive registration to sdcard_card_setup()
      sdcard: Turn card_type into a bitmap and store if card is MMC type
      sdcard: Display sdcard product name in boot menu
      sdcard: Obtain card capacity and report it on the boot menu
      megasas: Use outl() on MFI_IDB register
      minor - correct spelling error in comment
      Simplify transition16/32 assembler code
      docs: Minor - add "code relocation" link to "Execution and code flow" document
      Unify smm/sloppy variants of call32_prep/post and call16_helper
      Rename Call32Data to Call16Data
      Unify inline assembler in variants of call16 functions
      Unify call32_sloppy() and call32()
      Use transition32_nmi_off from call32() and call16_back()
      Consolidate code16*() functions
      Always enable caching on transition32; backup/restore cr0 on call32
      e820: Introduce e820_remove() and avoid exporting E820_HOLE
      e820: Rename memmap.c to e820map.c and use consistent "e820_" prefix
      e820: Update debugging messages to report 64bit values
      virtio: Simplify vring alignment code
      virtio: Move standard definitions from virtio-ring.h to standard headers
      malloc: Use consistent naming for internal low-level "alloc" functions
      malloc: Introduce common helper alloc_new_detail()
      malloc: Add warning if free() called on invalid memory
      malloc: Don't mix virtual and physical addresses
      memmap: Introduce SYMBOL() macro to access linker script symbols
      build: Rework version generation; don't allow make version override
      build: Report gcc and binutils versions in debug log
      build: Generate "reproducible" version strings on "clean" builds
      stacks: Use macro wrappers for call32() and stack_hop_back()
      malloc: Rename csm_malloc_preinit() to malloc_csm_preinit()
      build: Be more permissive in buildversion.py tool version scan
      docs: Document 'make EXTRAVERSION=xyz' and scripts/tarball.sh
      build: Allow official tarball builds to be considered "clean"
      coreboot: Minor - avoid K&R style function declaration
      biostables: Minor - fix incorrect indentation
      virtio: Minor - replace tab characters with space
      docs: Minor - replace seavgabios text in Build_overview.md with link
      buildversion: Avoid subprocess.check_output() as that requires python2.7
      buildversion: Add debugging messages
      docs: Note v1.9.0 release

Kyösti Mälkki (1):
      PCI SDHCI driver: Fix base address

Magnus Granberg (1):
      build: use -fstack-check=no when available

Marc Marí (1):
      Add QEMU fw_cfg DMA interface

Marcel Apfelbaum (2):
      fw/pci: scan all buses if extraroots romfile is present
      fw/pci: map memory and IO regions for multiple pci root buses

Paolo Bonzini (4):
      boot.c: delay exiting boot if menu key is ESC
      boot: switch default menu key to ESC
      smm: ignore bits 16,18-31 of SMM revision ID
      smm: fix outl argument order

Paulo Alcantara (1):
      ich9: initialise RCBA register through LPC interface

Quan Xu (1):
      make SeaBios compatible with Xen vTPM.

Stefan Berger (9):
      Add an implementation of a TPM TIS driver
      Implementation of the TCG BIOS extensions
      Support for BIOS interrupt handler
      Add 'measurement' code to the BIOS
      tpm: Introduce a #define for command tag
      tpm: Be consistent with array sizes in tcgbios.c
      tpm: clean up parameters to build_and_send_cmd
      tpm: Clean up in tcgbios.h
      tpm: Move call to tpm_option_rom into init_optionrom

Stefan Weil (2):
      megasas: Fix outw, outl argument order
      Fix typos found by codespell

Vladimir Serbinenko (3):
      ahci: Ignore max_ports.
      Link rom.o with -N option.
      Add multiboot support.

tpearson@raptorengineeringinc.com (1):
      Add an option to only execute option ROMs contained in CBFS

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:01:02 +01:00