Statistics
| Branch: | Revision:

root @ 57c83dac

# Date Author Comment
57c83dac 02/09/2012 06:44 pm Stefan Weil

make: Remove duplicate use of GLIB_CFLAGS

Makefile, Makefile.hw, Makefile.target and libcacard/Makefile
added GLIB_CFLAGS to QEMU_CFLAGS.

Makefile.objs does this, too, and is included by all other
Makefiles, so GLIB_CFLAGS were added twice (reported by malc)....

7a65c8cc 02/09/2012 02:10 pm Peter Maydell

ARM devboards: Set arm_sysctl properties before init, not after

The ARM devboard models (vexpress-a9, realview, versatilepb, etc)
were accidentally trying to set one of the arm_sysctl properties
after device init. This has now become a fatal error; set the property...

a6421530 02/08/2012 03:24 pm Anthony Liguori

Merge remote-tracking branch 'bonzini/qdev-props-for-anthony' into staging

  • bonzini/qdev-props-for-anthony: (25 commits)
    qdev: remove unused fields from PropertyInfo
    qdev: initialize properties via QOM
    qdev: inline qdev_prop_set into qdev_prop_set_ptr...
dc717bfd 02/08/2012 03:23 pm Anthony Liguori

Merge remote-tracking branch 'aneesh/for-upstream' into staging

  • aneesh/for-upstream:
    hw/9pfs: Remove O_NOATIME flag from 9pfs open() calls in readonly mode
    hw/9pfs: Update MAINTAINERS file
    fsdev: Fix parameter parsing for proxy helper
    hw/9pfs: Fix crash when mounting with synthfs...
a283b1b8 02/08/2012 03:23 pm Anthony Liguori

Merge remote-tracking branch 'sweil/w32' into staging

  • sweil/w32:
    w32: Initialise critical section before starting thread (fix #922131)
    w32: Build windows and console executables
cf4dc461 02/07/2012 08:11 pm malc

Restore consistent formatting

Signed-off-by: malc <>

0fa5491e 02/07/2012 07:11 pm Stefan Weil

w32: Build windows and console executables

System emulation executables with SDL are typically windows
executables. Sometimes console executables are more useful,
so create both variants if linker option -mwindows was detected.

v2:
This version uses QEMU_PROGW / QEMU_PROG instead of QEMU_PROG / QEMU_PROGC....

edc1de97 02/07/2012 07:11 pm Stefan Weil

w32: Initialise critical section before starting thread (fix #922131)

This patch was contributed by Bogdan Harjoc. I added some assertions.

Reviewed-by: Paolo Bonzini <>
Signed-off-by: Stefan Weil <>

dd0ba250 02/07/2012 02:52 pm Paolo Bonzini

qdev: let QOM free properties

Drop the special free callback. Instead, register a "regular"
release method in the non-legacy property.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

6350b090 02/07/2012 02:52 pm Paolo Bonzini

qdev: fix off-by-one

Integer properties did not work.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

9b170e60 02/07/2012 02:52 pm Paolo Bonzini

qdev: access properties via QOM

Do not poke anymore in the struct when accessing qdev properties.
Instead, ask the object to set the right value.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

7a7aae21 02/07/2012 02:52 pm Paolo Bonzini

qdev: inline qdev_prop_set into qdev_prop_set_ptr

qdev_prop_set is not needed anymore except for hacks, simplify it and
inline it.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

4f2d3d70 02/07/2012 02:52 pm Paolo Bonzini

qdev: initialize properties via QOM

Similarly, use the object properties also to set the default
values of the qdev properties. This requires reordering
registration and initialization.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

a3d4a1b0 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove unused fields from PropertyInfo

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

8f770d39 02/07/2012 02:52 pm Paolo Bonzini

qom: fix off-by-one

Signed-off-by: Paolo Bonzini <>

02fe2db6 02/07/2012 02:52 pm Paolo Bonzini

qom: add object_resolve_path_type

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

11e35bfd 02/07/2012 02:52 pm Paolo Bonzini

qom: use object_resolve_path_type for links

This allows to restrict partial matches to objects of the expected
type. It will let people use bare names to reference drives
even though their name might be the same as a device's (e.g.
-drive id=hd0,if=none,... -device ...,drive=hd0,id=hd0)....

a1e7efdc 02/07/2012 02:52 pm Paolo Bonzini

qom: fix canonical paths vs. interfaces

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

1d9c5a12 02/07/2012 02:52 pm Paolo Bonzini

qom: add property get/set wrappers for links

These can set a link to any object, as long as it is included in
the composition tree.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

d822979b 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove direct calls to print/parse

There's no need to call into ->parse and ->print manually. The
QOM legacy properties do that for us.

Furthermore, in some cases legacy and static properties have exactly
the same behavior, and we could drop the legacy properties right away....

68ee3569 02/07/2012 02:52 pm Paolo Bonzini

qdev: allow reusing get/set for legacy property

In some cases, a legacy property does need a special print method
but not a special parse method. In this case, we can reuse the get/set
from the static (non-legacy) property.

If neither parse nor print is needed, though, do not register the...

acbac4a1 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove parse method for string properties

We need the print method to put double quotes, but parsing is not special.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

1ce05125 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove print/parse methods from LostTickPolicy properties

Also generalize the code so that we can have more enum properties
in the future.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

e39e5d60 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove parse/print methods for mac properties

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

b403298a 02/07/2012 02:52 pm Paolo Bonzini

qdev: make the non-legacy pci address property accept an integer

PCI addresses are set with qdev_prop_uint32. Thus we make the QOM
property accept a device and function encoded in an 8-bit integer,
instead of the magic dd.f hex string.

Reviewed-by: Anthony Liguori <>...

7b009e5d 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove parse/print methods for pointer properties

Pointer properties (except for PROP_PTR of course) should not need a
legacy counterpart. In the future, relative paths will ensure that
QEMU will support the same syntax as now for drives etc..

Reviewed-by: Anthony Liguori <>...

b46d9b10 02/07/2012 02:52 pm Paolo Bonzini

qom: do not include qdev header file

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

9f5f1350 02/07/2012 02:52 pm Paolo Bonzini

qom: add QObject-based property get/set wrappers

Move the creation of QmpInputVisitor and QmpOutputVisitor from qmp.c
to qom/object.c, since it's the only practical way to access object
properties.

Keep this isolated such that it's easy to remove. At some point, we need...

7b7b7d18 02/07/2012 02:52 pm Paolo Bonzini

qom: add property get/set wrappers for C types

Add wrappers that let you get/set properties using normal C data types.

Reviewed-by: Anthony Liguori <anthony@>
Signed-off-by: Paolo Bonzini <>

9970bd88 02/07/2012 02:52 pm Paolo Bonzini

qom: avoid useless conversions from string to type

Signed-off-by: Paolo Bonzini <>

acc4af3f 02/07/2012 02:51 pm Paolo Bonzini

qom: clean up/optimize object_dynamic_cast

The interface loop can be performed only on the parent object. It
does not need to be done on each interface. Similarly, we can
simplify the code by switching early from the implementation
object to the parent object....

0815a859 02/07/2012 11:21 am Paolo Bonzini

qom: more documentation on subclassing

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

1ed5b918 02/07/2012 11:20 am Paolo Bonzini

qom: clean up cast macros

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

e87f7fc6 02/06/2012 07:16 pm Anthony Liguori

s390x: fix qom-ification fall-out

Tested-by: Andreas Faerber <>
Signed-off-by: Anthony Liguori <>

4cafe606 02/06/2012 06:17 pm Jan Kiszka

KVM: Fix breakages of QOM conversion

KVM APIC and PIC require instance sizes.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

3bc36349 02/06/2012 06:16 pm Anthony Liguori

usb-redir: convert to QOM

This was missed due to the fact that it's in the top level and it uses
'struct DeviceInfo' instead of 'DeviceInfo' for some strange reason.

Tested-by: Benoît Canet <>
Signed-off-by: Anthony Liguori <>

53a19a30 02/04/2012 07:29 pm Blue Swirl

Fix previous commit

Signed-off-by: Blue Swirl <>

d217d208 02/04/2012 07:24 pm Anthony Liguori

usb-bsd: convert to QOM

Simple enough.

Signed-off-by: Anthony Liguori <>
Signed-off-by: Blue Swirl <>

cd7a45c9 02/04/2012 02:45 pm Blue Swirl

memory: change dirty getting API to take a size

Instead of each device knowing or guessing the guest page size,
just pass the desired size of dirtied memory area.

Signed-off-by: Blue Swirl <>

94d7b483 02/04/2012 02:45 pm Blue Swirl

vga: move Cirrus VGA template to its own file

Standard VGA does not use vga_draw_cursor_line_* functions.
Move the template to cirrus_vga_template.h.

Signed-off-by: Blue Swirl <>

b134886a 02/04/2012 02:45 pm Blue Swirl

Add vga.h unmodified from Linux

Signed-off-by: Blue Swirl <>

0dad6c35 02/04/2012 02:45 pm Blue Swirl

vga.h: remove unused stuff and reformat

Signed-off-by: Blue Swirl <>

5e55efc9 02/04/2012 02:45 pm Blue Swirl

vga: use constants from vga.h

Signed-off-by: Blue Swirl <>

47c012e2 02/04/2012 02:45 pm Blue Swirl

vga: improve documentation

Add links to chipset docs and FreeVGA site.

Signed-off-by: Blue Swirl <>

cb437e48 02/04/2012 02:18 pm Blue Swirl

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 sa_flags byte swaps for mips
    linux-user: Define TARGET_QEMU_ESIGRETURN for mips64...
2944e4ec 02/04/2012 01:49 pm Stefan Weil

w32: Fix build with new net bridge code

Commit a7c36ee4920ea3acc227a0248dd161693f207357 added code for a net
bridge and explicitly said that "this is very Linux centric".

Indeed, compilation failed for w32, so the bridge code is now
conditional. Hosts which don't support it can simply remove the...

f0c4d3eb 02/04/2012 11:37 am Blue Swirl

Merge branch 'for-upstream' of git://repo.or.cz/qemu/agraf

  • 'for-upstream' of git://repo.or.cz/qemu/agraf: (21 commits)
    PPC: E500: Populate L1CFG0 SPR
    PPC: e500mc: Enable processor control
    PPC: E500: Implement msgsnd
    PPC: E500: Implement msgclr
    PPC: Enable doorbell excp handlers...
c9344f22 02/03/2012 07:22 pm Anthony Liguori

Fix build breakage from last commit.

Signed-off-by: Anthony Liguori <>

eeb9c1b5 02/03/2012 07:13 pm Anthony Liguori

s390x: fix -drive in the absence of aliases

Signed-off-by: Anthony Liguori <>

9674bfe4 02/03/2012 06:41 pm Anthony Liguori

qdev: split out common init to instance_init

This gets us closer to being able to object_new() a qdev type and have a
functioning object verses having to call qdev_create().

Signed-off-by: Anthony Liguori <>

9fbe6127 02/03/2012 06:41 pm Anthony Liguori

qdev: refactor away qdev_create_from_info

Note that the FIXME gets fixed in series 4/4. We need to convert BusState to
QOM before we can make parent_bus a link.

Signed-off-by: Anthony Liguori <>

ee46d8a5 02/03/2012 06:41 pm Anthony Liguori

qdev: split out UI portions into a new function

qdev-monitor.c deals with the -device, device_add, and info qdm/qtree
interfaces.

Signed-off-by: Anthony Liguori <>

0beb4942 02/03/2012 06:41 pm Anthony Liguori

qdev: nuke qdev_init_chardev()

I'm sure the intentions were good here, but there's no reason this should be in
qdev. Move it to qemu-char where it belongs.

Signed-off-by: Anthony Liguori <>

57c9fafe 02/03/2012 06:41 pm Anthony Liguori

qom: move properties from qdev to object

This is mostly code movement although not entirely. This makes properties part
of the Object base class which means that we can now start using Object in a
meaningful way outside of qdev.

Signed-off-by: Anthony Liguori <>

fe40e627 02/03/2012 06:41 pm Anthony Liguori

qom: accept any compatible type when setting a link property

Links had limited utility before as they only allowed a concrete type to be
specified. Now we can support abstract types and interfaces which means it's
now possible to have a link<PCIDevice>....

60adba37 02/03/2012 06:41 pm Anthony Liguori

qdev: implement cleanup logic in finalize

Signed-off-by: Anthony Liguori <>

d03d6b4e 02/03/2012 06:41 pm Anthony Liguori

info qdm: do not require a parent_bus to be set

Signed-off-by: Anthony Liguori <>

db85b575 02/03/2012 06:41 pm Anthony Liguori

object: sure up reference counting

Now we have the following behavior:

1) object_new() returns an object with ref = 1
2) object_initialize() does not increase the reference count (ref may be 0).
3) object_deref() will finalize the object when ref = 0. it does not free the...

8b45d447 02/03/2012 06:41 pm Anthony Liguori

container: make a decendent of Object

Signed-off-by: Anthony Liguori <>
---
v1 -> v2
- Add license (Paolo)

6acbe4c6 02/03/2012 06:41 pm Anthony Liguori

qdev: remove baked in notion of aliases (v2)

Limit them to the device_add functionality. Device aliases were a hack based
on the fact that virtio was modeled the wrong way. The mechanism for aliasing
is very limited in that only one alias can exist for any device....

5eeee3fa 02/03/2012 06:41 pm Anthony Liguori

qom: add new command to search for types

This adds a command that allows searching for types that implement a property.
This allows you to do things like search for all available PCIDevices. In the
future, we'll also have a standard interface for things with a BlockDriverState...

212ad111 02/03/2012 06:41 pm Anthony Liguori

qdev: kill off DeviceInfo list

Teach the various bits of code that need to walk through available devices to
do so via QOM.

Signed-off-by: Anthony Liguori

39bffca2 02/03/2012 06:41 pm Anthony Liguori

qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion. I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass...

d307af79 02/03/2012 06:41 pm Anthony Liguori

qdev: kill off DeviceInfo

It is no longer used in the tree since everything is done natively through
QEMU Object Model.

Signed-off-by: Anthony Liguori <>

6e008585 02/03/2012 06:41 pm Anthony Liguori

qdev: remove info from class

Now DeviceInfo is no longer used after object construction. All of the
relevant members have been moved to DeviceClass.

Signed-off-by: Anthony Liguori <>

d253e096 02/03/2012 06:41 pm Anthony Liguori

qdev: allow classes to overload qdev functions

This allows us to drop per-Device registration functions by allowing the
class_init functions to overload qdev methods.

Signed-off-by: Anthony Liguori <>

18b6dade 02/03/2012 06:41 pm Anthony Liguori

qdev: refactor device creation to allow bus_info to be set only in class

As we use class_init to set class members, DeviceInfo no longer holds this
information.

Signed-off-by: Anthony Liguori <>

93c511a1 02/03/2012 06:41 pm Anthony Liguori

qom: allow object_class_foreach to take additional parameters to refine search

Signed-off-by: Anthony Liguori <>

4be9f0d1 02/03/2012 06:41 pm Anthony Liguori

qdev: make DeviceInfo private

Introduce accessors and remove any code that directly accesses DeviceInfo
members.

Signed-off-by: Anthony Liguori <>

7f595609 02/03/2012 06:41 pm Anthony Liguori

usb-hid: simplify class initialization a bit

We can probably model USBHidDevice as a base class to get even better code
sharing but for now, just use a common function to initialize the common class
members.

Signed-off-by: Anthony Liguori <>

ba02430f 02/03/2012 06:41 pm Anthony Liguori

usb: separate out legacy usb registration from type registration

Type registeration is going to get turned into a QOM call so decouple the
legacy support.

Signed-off-by: Anthony Liguori <>

2aeb36a8 02/02/2012 05:51 pm Andreas Färber

linux-user: Define TARGET_QEMU_ESIGRETURN for mips64

Copied from mips/syscall.h.

Signed-off-by: Khansa Butt <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Riku Voipio <>

f78b0f05 02/02/2012 05:51 pm Andreas Färber

linux-user: Fix sa_flags byte swaps for mips

sa_flags is uint32_t for mips{,n32,64}, so don't use tswapal().

edited by Riku Voipio: likewise on alpha

Reported-by: Khansa Butt <>
Suggested-by: Richard Henderson <>
Signed-off-by: Andreas Färber <>...

36c08d49 02/02/2012 05:51 pm Alexander Graf

linux-user: fake /proc/self/maps

glibc's pthread_attr_getstack tries to find the stack range from
/proc/self/maps. Unfortunately, /proc is usually the host's /proc
which means linux-user guests see qemu's stack there.

Fake the file with a constructed maps entry that exposes the guest's...

480b8e7d 02/02/2012 05:51 pm Alexander Graf

linux-user: fake /proc/self/stat

The boehm gc finds the program's stack starting pointer by
checking /proc/self/stat. Unfortunately, so far it reads
qemu's stack pointer which clearly is wrong.

So let's instead fake the file so the guest program sees the...

257450ee 02/02/2012 05:51 pm Alexander Graf

linux-user: fake /proc/self/auxv

Gtk tries to read /proc/self/auxv to find its auxv table instead of
taking it from its own program memory space.

However, when running with linux-user, we see the host's auxv which
clearly exposes wrong information. so let's instead expose the guest...

50171d42 02/02/2012 05:51 pm 陳韋任

linux-user/main.c: Add option to user-mode emulation so that user can specify log file name

QEMU linux user-mode's default log file name is "/tmp/qemu.log". In order to
change the log file name, user need to modify the source code then recompile
QEMU. This patch allow user use "-D logfile" option to specify the log file...
583359a6 02/02/2012 05:51 pm Akos PASZTORY

linux-user: add SO_PEERCRED support for getsockopt

Signed-off-by: Akos PASZTORY <>
Signed-off-by: Riku Voipio <>

962b289e 02/02/2012 05:51 pm Alexander Graf

linux-user: fix QEMU_STRACE=1 segfault

While debugging some issues with QEMU_STRACE I stumbled over segmentation
faults that were pretty reproducible. Turns out we tried to treat a
normal return value as errno, resulting in an access over array boundaries...

2a7e1245 02/02/2012 05:51 pm Peter Maydell

linux-user/strace.c: Correct errno printing for mmap etc

Correct the printing of errnos for syscalls which are handled
via print_syscall_ret_addr (mmap, mmap2, brk, shmat): errnos
are returned as negative returned values at this level, not
via the host 'errno' variable....

5379557b 02/02/2012 05:51 pm Alexander Graf

linux-user: fix wait* syscall status returns

When calling wait4 or waitpid with a status pointer and WNOHANG, the
syscall can potentially not modify the status pointer input. Now if we
have guest code like:

int status = 0;
waitpid(pid, &status, WNOHANG);...
e3c33ec6 02/02/2012 05:51 pm Peter Maydell

linux-user: Allow NULL value pointer in setxattr and getxattr

It's valid to pass a NULL value pointer to setxattr, so don't
fail this case EFAULT.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

30297b55 02/02/2012 05:51 pm Peter Maydell

linux-user/syscall.c: Implement f and l versions of set/get/removexattr

Implement the f and l versions (operate on fd, don't follow links)
of the setxattr, getxattr and removexattr syscalls.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

fb5590f7 02/02/2012 05:51 pm Peter Maydell

linux-user: Implement *listxattr syscalls

Implement listxattr, flistxattr and llistxattr syscalls.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

72f341ff 02/02/2012 05:51 pm Andreas Färber

linux-user: Add default-configs for mipsn32[el]

Prepares for mipsn32[el]-linux-user targets.

Signed-off-by: Ulricht Hecht <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Riku Voipio <>

10ecb3f6 02/02/2012 05:51 pm Andreas Färber

linux-user: Add default configs for mips64[el]

Prepares for mips64[el]-linux-user targets.

Signed-off-by: Khansa Butt <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Riku Voipio <>

63249cb9 02/02/2012 05:51 pm Andreas Färber

linux-user: Define TARGET_QEMU_ESIGRETURN for mipsn32

Copied from mips/syscall.h.

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Riku Voipio <>

125b0f55 02/02/2012 05:51 pm Alexander Graf

linux-user: save auxv length

We create our own AUXV segment on stack and save a pointer to it.
However we don't save the length of it, so any code that wants to
do anything useful with it later on has to walk it again.

Instead, let's remember the length of our AUXV segment. This...

3be14d05 02/02/2012 05:51 pm Alexander Graf

linux-user: add open() hijack infrastructure

There are a number of files in /proc that expose host information
to the guest program. This patch adds infrastructure to override
the open() syscall for guest programs to enable us to on the fly
generate guest sensible files....

d0fd11ff 02/02/2012 05:50 pm Riku Voipio

linux-user: stack_base is now mandatory on all targets

Signed-off-by: Riku Voipio <>

a496e8ee 02/02/2012 03:47 am Alexander Graf

PPC: E500: Populate L1CFG0 SPR

When running Linux on e500 with powersave-nap enabled, Linux tries to
read out the L1CFG0 register and calculates some things from it. Passing
0 there ends up in a division by 0, resulting in -1, resulting in badness.

So let's populate the L1CFG0 register with reasonable defaults. That way...

58e00a24 02/02/2012 03:47 am Alexander Graf

PPC: E500: Add doorbell defines

We're going to introduce doorbell instructions (called processor
control in the spec) soon. Add some defines for easier patch
readability later.

Signed-off-by: Alexander Graf <>

3f9f6a50 02/02/2012 03:47 am Alexander Graf

PPC: Add CPU feature for processor control

We're soon going to implement processor control features. Add the
feature flag, so we're well prepared.

Signed-off-by: Alexander Graf <>

a9abd717 02/02/2012 03:47 am Alexander Graf

PPC: Enable doorbell excp handlers

We already had all the code available to have doorbell exceptions
be handled properly. It was just disabled.

Enable it, so we can rely on it.

Signed-off-by: Alexander Graf <>

9e0b5cb1 02/02/2012 03:47 am Alexander Graf

PPC: E500: Implement msgclr

This patch implements the msgclr instruction. It is part of the
Embedded.Processor Control specification and clears pending doorbell
interrupts on the current CPU.

Signed-off-by: Alexander Graf <>

d5d11a39 02/02/2012 03:47 am Alexander Graf

PPC: E500: Implement msgsnd

This patch implements the msgsnd instruction. It is part of the
Embedded.Processor Control specification and allows one CPU to
IPI another CPU without going through an interrupt controller.

Signed-off-by: Alexander Graf <>

8917f4dc 02/02/2012 03:47 am Alexander Graf

PPC: e500mc: Enable processor control

The e500mc implements Embedded.Processor Control, so enable it and
thus enable guests to IPI each other. This makes -smp work with -cpu
e500mc.

Signed-off-by: Alexander Graf <>

21a0b6ed 02/02/2012 03:47 am Alexander Graf

PPC: booke206: move avail check to tlbwe

We can have TLBs that only support a single page size. This is defined
by the absence of the AVAIL flag in TLBnCFG. If this is the case, we
currently write invalid size info into the TLB, but override it on
internal fault....

a9c5eb0d 02/02/2012 03:47 am Alexander Graf

KVM: Fix compilation on non-x86

Commit 84b058d broke compilation for KVM on non-x86 targets, which
don't have KVM_CAP_IRQ_ROUTING defined.

Fix by not using the unavailable constant when it's not around.

Signed-off-by: Alexander Graf <>

0ef654e3 02/02/2012 03:47 am Alexander Graf

PPC: E500: Add some more excp vectors

Our EXCP list is getting outdated. By now, 3 new exception vectors have
been introduced. Update the list so we have everything at one place.

Signed-off-by: Alexander Graf <>