qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] c7128c: linux-user: change do_semop to return


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] c7128c: linux-user: change do_semop to return target errno...
Date: Sat, 20 Apr 2013 06:00:11 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c7128c9fd58ee92cae70c7cd1d53acc529cebbbb
      
https://github.com/qemu/qemu/commit/c7128c9fd58ee92cae70c7cd1d53acc529cebbbb
  Author: Petar Jovanovic <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: change do_semop to return target errno when unsuccessful

do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.

Signed-off-by: Petar Jovanovic <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 9ab709be595bef9956ea550a95e14e157cb5704e
      
https://github.com/qemu/qemu/commit/9ab709be595bef9956ea550a95e14e157cb5704e
  Author: Andreas Schwab <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix undefined shift in copy_to_user_fdset

If TARGET_ABI_BITS is bigger than 32 we shift by more than the size of int.

Signed-off-by: Andreas Schwab <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 03903ffcfb5a7c75e52da97d00eb9d0bb0660f28
      
https://github.com/qemu/qemu/commit/03903ffcfb5a7c75e52da97d00eb9d0bb0660f28
  Author: Andreas Schwab <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix setgroups/getgroups for non-UID16 archs

Don't assume target_id is a short.

Signed-off-by: Andreas Schwab <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: c5c86c5346e927f55918ffdf1b09742fee7a5d8d
      
https://github.com/qemu/qemu/commit/c5c86c5346e927f55918ffdf1b09742fee7a5d8d
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Fix hardcoded tabs

There is just one line in this source file with a hardcoded tab
indent, so just fix it.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 5fb8084f31e9df7f0b2d63cfd3d10645d29b5eab
      
https://github.com/qemu/qemu/commit/5fb8084f31e9df7f0b2d63cfd3d10645d29b5eab
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/arm/versatilepb.c
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Expose PCI I/O region on Versatile PB

Comments in the QEMU source code claim that the version of the PCI
controller on the VersatilePB board doesn't support the PCI I/O
region, but this is incorrect; expose that region, map it in the
correct location, and drop the misleading comments.

This change removes the only currently implemented difference
between the realview-pci and versatile-pci models; however there
are other differences in not-yet-implemented functionality, so we
retain the distinction between the two device types.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: cd93dbf375bd3d7ccbb7005d8d4e2b91293e967b
      
https://github.com/qemu/qemu/commit/cd93dbf375bd3d7ccbb7005d8d4e2b91293e967b
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Update to realize and instance init functions

Update the Versatile PCI controller to use a realize function rather
than SysBusDevice::init. To reflect the fact that the 'realview_pci'
class is taking most of its implementation from 'versatile_pci' (and
to make the QOM casts work) we make 'realview_pci' a subclass of
'versatile_pci'.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 0688810b416a5a4a41aa480132e89d65f81dafc6
      
https://github.com/qemu/qemu/commit/0688810b416a5a4a41aa480132e89d65f81dafc6
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE

Change versatile_pci to subclass TYPE_PCI_HOST_BRIDGE and generally
handle PCI in a more QOM-like fashion.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 967c2607496087abf84904c82e6de0cd320a3831
      
https://github.com/qemu/qemu/commit/967c2607496087abf84904c82e6de0cd320a3831
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Use separate PCI I/O space rather than system I/O space

Rather than overloading the system I/O space (which doesn't even make
any sense on ARM) for PCI I/O, create an memory region in the PCI
controller and use that to represent the I/O space.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 5f37ef92b7690423ac6311d3c597e182fc5f8fe6
      
https://github.com/qemu/qemu/commit/5f37ef92b7690423ac6311d3c597e182fc5f8fe6
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Put the host bridge PCI device at slot 29

On real hardware the host bridge appears as a PCI device in slot 29,
so make QEMU put its host bridge in that slot too.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 66a96d7018b9cbabb73c9b87b62a37e4cc46580a
      
https://github.com/qemu/qemu/commit/66a96d7018b9cbabb73c9b87b62a37e4cc46580a
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Implement the correct PCI IRQ mapping

Implement the correct IRQ mapping for the Versatile PCI controller; it
differs between realview and versatile boards, but the previous QEMU
implementation was correct only for the first PCI card on a versatile
board, since we weren't swizzling IRQs based on the slot number.

Since this change would otherwise break any uses of PCI on Linux kernels
which have an equivalent bug (since they have effectively only been
tested against QEMU, not real hardware), we implement a mechanism
for automatically detecting those broken kernels and switching back
to the old mapping. This works by looking at the values the kernel
writes to the PCI_INTERRUPT_LINE register in the config space, which
is effectively the interrupt number the kernel expects the device
to be using.

Signed-off-by: Peter Maydell <address@hidden>


  Commit: 7468d73ac9a514b33c0c2797a1238db11163b23b
      
https://github.com/qemu/qemu/commit/7468d73ac9a514b33c0c2797a1238db11163b23b
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/arm/realview.c
    M hw/arm/versatilepb.c
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Implement the PCI controller's control registers

The versatile_pci PCI controller has a set of control registers which
handle the mapping between PCI and system address spaces. Implement
these registers (though for now they have no effect since we don't
implement mapping PCI space into system memory at all).

The most natural order for our sysbus regions has the control
registers at the start, so move all the others down one.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: a2bff788d2316c037ce5ab72468b3fda1a0527a1
      
https://github.com/qemu/qemu/commit/a2bff788d2316c037ce5ab72468b3fda1a0527a1
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/arm/realview.c

  Log Message:
  -----------
  arm/realview: Fix mapping of PCI regions

Fix the mapping of the PCI regions for the realview board, which were
all incorrect. (This was never noticed because the Linux kernel
doesn't actually include a PCI driver for the realview boards.)

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 89a32d32fb573b32bbe129421602c2b3c3c247ec
      
https://github.com/qemu/qemu/commit/89a32d32fb573b32bbe129421602c2b3c3c247ec
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/arm/realview.c
    M hw/arm/versatilepb.c
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  versatile_pci: Expose PCI memory space to system

The VersatilePB's PCI controller exposes the PCI memory space to the
system via three regions controlled by the mapping control registers.
Implement this so that guests can actually use MMIO-BAR PCI cards.

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: af9277e69df688ebb8ccccb7edecc45f0f85ea51
      
https://github.com/qemu/qemu/commit/af9277e69df688ebb8ccccb7edecc45f0f85ea51
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()

Drop the vpb_pci_config_addr() function -- it is unnecessary since
the size of the memory regions means the hwaddr is always within
the 24 bit size. (This function was probably a leftover from when
read/write functions were called with absolute addresses rather
than relative ones.)

Signed-off-by: Peter Maydell <address@hidden>
Acked-by: Paul Brook <address@hidden>


  Commit: 3b3284486be6898937395fac3ddbd2e68c5cb52f
      
https://github.com/qemu/qemu/commit/3b3284486be6898937395fac3ddbd2e68c5cb52f
  Author: Peter Chubb <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Reinsert missing return statement in ARM mode SRS decode

Since patch
   81465888c5306cd94abb9847e560796fd13d3c2f
   target-arm: factor out handling of SRS instruction
the ARM mode SRS instruction has not worked in QEMU.

The problem is a missing return directive that was removed in the
refactoring, so after decoding the instruction, qemu would fall through
to generate an UNDEF exception for an illegal instruction.

Signed-off-by: Peter Chubb <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 3cc1d20823e8677038c5bb5db10910f6271b1883
      
https://github.com/qemu/qemu/commit/3cc1d20823e8677038c5bb5db10910f6271b1883
  Author: Juan Quintela <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M target-arm/cpu-qom.h
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/machine.c

  Log Message:
  -----------
  target-arm: port ARM CPU save/load to use VMState

Port the ARM CPU save/load code to use VMState. Some state is
saved in a slightly different order to simplify things -- for
example arrays are saved one after the other rather than 'striped',
and we always save all 32 VFP registers even if the CPU happens
to only have 16.

Use one subsection for each feature.  This means that we don't need to
bump the version field each time that a new feature gets introduced.

Signed-off-by: Juan Quintela <address@hidden>
[PMM: fixed conflicts, updated to use cpu_class_set_vmsd(),  updated
 with new/removed fields since original patch, changed to use custom
 VMStateInfo for cpsr rather than presave/postload hooks, corrected
 subsection names so vmload doesn't fail]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 602131e944f513f85ffa5593b020d263599cb2cd
      
https://github.com/qemu/qemu/commit/602131e944f513f85ffa5593b020d263599cb2cd
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M target-arm/machine.c

  Log Message:
  -----------
  target-arm: Add some missing CPU state fields to VMState

A number of CPU state fields were accidentally omitted from
our migration state: some OMAP specific cp15 registers, and 
some related to state for load/store exclusive insns. Add them.

Signed-off-by: Peter Maydell <address@hidden>


  Commit: e91f229a253f489f6d12b946ad7bdcdc158c5b67
      
https://github.com/qemu/qemu/commit/e91f229a253f489f6d12b946ad7bdcdc158c5b67
  Author: Peter Maydell <address@hidden>
  Date:   2013-04-19 (Fri, 19 Apr 2013)

  Changed paths:
    M target-arm/machine.c

  Log Message:
  -----------
  target-arm: Correctly restore FPSCR

Use the helper functions to save and restore the FPSCR, so that
we correctly propagate rounding mode and flushing behaviour into
the float_status fields. This also allows us to stop saving the
vector length/stride fields separately.

Signed-off-by: Peter Maydell <address@hidden>


  Commit: 87885c8e57db38669dad2aa1a83577fe95f481be
      
https://github.com/qemu/qemu/commit/87885c8e57db38669dad2aa1a83577fe95f481be
  Author: Blue Swirl <address@hidden>
  Date:   2013-04-20 (Sat, 20 Apr 2013)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  Merge branch 'linux-user-for-upstream' of 
git://git.linaro.org/people/rikuvoipio/qemu

* 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu:
  linux-user: fix setgroups/getgroups for non-UID16 archs
  linux-user: fix undefined shift in copy_to_user_fdset
  linux-user: change do_semop to return target errno when unsuccessful


  Commit: 32370db3fb8433259435397c4d60006164c0d198
      
https://github.com/qemu/qemu/commit/32370db3fb8433259435397c4d60006164c0d198
  Author: Blue Swirl <address@hidden>
  Date:   2013-04-20 (Sat, 20 Apr 2013)

  Changed paths:
    M target-arm/cpu-qom.h
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/machine.c
    M target-arm/translate.c

  Log Message:
  -----------
  Merge branch 'target-arm.next' of 
git://git.linaro.org/people/pmaydell/qemu-arm

* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
  target-arm: Correctly restore FPSCR
  target-arm: Add some missing CPU state fields to VMState
  target-arm: port ARM CPU save/load to use VMState
  target-arm: Reinsert missing return statement in ARM mode SRS decode


  Commit: f4374c82b158b36bd40a5055bffa60796569a300
      
https://github.com/qemu/qemu/commit/f4374c82b158b36bd40a5055bffa60796569a300
  Author: Blue Swirl <address@hidden>
  Date:   2013-04-20 (Sat, 20 Apr 2013)

  Changed paths:
    M hw/arm/realview.c
    M hw/arm/versatilepb.c
    M hw/pci-host/versatile.c

  Log Message:
  -----------
  Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm

* 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
  hw/versatile_pci: Drop unnecessary vpb_pci_config_addr()
  versatile_pci: Expose PCI memory space to system
  arm/realview: Fix mapping of PCI regions
  versatile_pci: Implement the PCI controller's control registers
  versatile_pci: Implement the correct PCI IRQ mapping
  versatile_pci: Put the host bridge PCI device at slot 29
  versatile_pci: Use separate PCI I/O space rather than system I/O space
  versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
  versatile_pci: Update to realize and instance init functions
  versatile_pci: Expose PCI I/O region on Versatile PB
  versatile_pci: Fix hardcoded tabs


Compare: https://github.com/qemu/qemu/compare/f691df528340...f4374c82b158

reply via email to

[Prev in Thread] Current Thread [Next in Thread]