[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 7162bd: e600 core for MPC86xx processors
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 7162bd: e600 core for MPC86xx processors |
Date: |
Fri, 12 Jul 2013 08:00:24 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 7162bdea75e9f63afdd2cacfe26ee4b472a59362
https://github.com/qemu/qemu/commit/7162bdea75e9f63afdd2cacfe26ee4b472a59362
Author: Julio Guerra <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M target-ppc/cpu-models.c
M target-ppc/cpu-models.h
M target-ppc/translate_init.c
Log Message:
-----------
e600 core for MPC86xx processors
MPC86xx processors are based on the e600 core, which is not the case
in qemu where it is based on the 7400 processor.
This patch creates the e600 core and instantiates the MPC86xx
processors based on it. Therefore, adding the high BATs, the SPRG
4..7 registers, which are e600-specific [1], and a HW MMU model (as 7400).
This allows to define the MPC8610 processor too.
Tested with a kernel using the HW TLB misses.
[1] http://cache.freescale.com/files/32bit/doc/ref_manual/E600CORERM.pdf
Signed-off-by: Julio Guerra <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 9a39970df783cf8317e7dbf00a8af184ce868b1b
https://github.com/qemu/qemu/commit/9a39970df783cf8317e7dbf00a8af184ce868b1b
Author: Stefan Weil <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ppc/spapr_hcall.c
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr: Fix compiler warnings for some versions of gcc
i686-w64-mingw32-gcc (GCC) 4.6.3 from Debian wheezy reports these warnings:
hw/ppc/spapr_hcall.c:188:1: warning:
control reaches end of non-void function [-Wreturn-type]
hw/ppc/spapr_pci.c:454:1: warning:
control reaches end of non-void function [-Wreturn-type]
Both warnings are fixed by using g_assert_not_reached instead of assert.
A second line with assert(0) in spapr_pci.c which did not raise a compiler
warning was modified, too, because g_assert_not_reached documents the
purpose of that statement and is not removed in release builds.
Signed-off-by: Stefan Weil <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: a3801402aa01e2ecb617f89b2e11f212d948b5af
https://github.com/qemu/qemu/commit/a3801402aa01e2ecb617f89b2e11f212d948b5af
Author: Stefan Weil <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ppc/spapr_hcall.c
Log Message:
-----------
spapr: Use named enum for function remove_hpte
The function returned a target_ulong which was made from unnamed enum
values. The target_ulong was then assigned to an int variable which
was used in a switch statement.
Using a named enum in both cases makes reviews easier.
Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 8e7ea787a20e30d44232cafb5a6e9a9fea364c66
https://github.com/qemu/qemu/commit/8e7ea787a20e30d44232cafb5a6e9a9fea364c66
Author: Andreas Färber <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
spapr: Respect -bios command line option for SLOF
Allow the user to override the firmware file name rather than always
using "slof.bin".
Reported-by: Dinar Valeev <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 42e5b4c9884c2c69825d6b6c6ddfbf25290856db
https://github.com/qemu/qemu/commit/42e5b4c9884c2c69825d6b6c6ddfbf25290856db
Author: Alexey Kardashevskiy <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M default-configs/ppc64-softmmu.mak
M hw/intc/Makefile.objs
A hw/intc/xics.c
M hw/ppc/Makefile.objs
R hw/ppc/xics.c
Log Message:
-----------
pseries: move interrupt controllers to hw/intc/
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 8d43ea1c97d0d611f9cf868fe78b17f2a1031298
https://github.com/qemu/qemu/commit/8d43ea1c97d0d611f9cf868fe78b17f2a1031298
Author: Prerna Saxena <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M target-ppc/cpu-models.c
M target-ppc/cpu-models.h
M target-ppc/translate_init.c
Log Message:
-----------
target-ppc: Add POWER8 v1.0 CPU model
This patch adds CPU PVR definition for POWER8,
and enables QEMU to launch guests on POWER8 hardware.
Signed-off-by: Prerna Saxena <address@hidden>
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: Paul Mackerras <address@hidden>
Reviewed-by: Andreas Farber <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 536d8cda4adef3d202a800688ed5f63dae1f0f88
https://github.com/qemu/qemu/commit/536d8cda4adef3d202a800688ed5f63dae1f0f88
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c
Log Message:
-----------
PPC: Mac: Fix guest exported tbfreq values
We can tell the guest the frequency of its time base through fwcfg.
However, we tell it a different value from the speed tb actually runs
at. Let's fix it and make the tbfreq initialization and the fwcfg exposure
use the same values.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 14eefd0ec3b4720faddf4cc7682d7ac8c82a3a45
https://github.com/qemu/qemu/commit/14eefd0ec3b4720faddf4cc7682d7ac8c82a3a45
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
M hw/misc/macio/macio.c
M hw/ppc/mac_oldworld.c
Log Message:
-----------
PPC: g3beige: Move secondary IDE bus to mac-io
On a real G3 Beige the secondary IDE bus lives on the mac-io chip, not
on some random PCI device. Move it there to become more compatible.
While at it, also clean up the IDE channel connection logic.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 8aef291fb876670b264297ab333f5072cddbf625
https://github.com/qemu/qemu/commit/8aef291fb876670b264297ab333f5072cddbf625
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
Log Message:
-----------
PPC: Macio: Replace tabs with spaces
s/^I/ /g on the file.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 9e232428784641b8e48a237a4cb2ffe84450d15c
https://github.com/qemu/qemu/commit/9e232428784641b8e48a237a4cb2ffe84450d15c
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
Log Message:
-----------
PPC: dbdma: Replace tabs with spaces
s/^I/ /g on the file with a few manual tweaks to align things.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 33ce36bb33cc00ac3070d49e17b4afed62b412a8
https://github.com/qemu/qemu/commit/33ce36bb33cc00ac3070d49e17b4afed62b412a8
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
M hw/misc/macio/mac_dbdma.c
Log Message:
-----------
PPC: Mac: Add debug prints in macio and dbdma code
The macio code is basically undebuggable as it stands today, with no
debug prints anywhere whatsoever. DBDMA was better, but I needed a
few more to create reasonable logs that tell me where breakage is.
Add a DPRINTF macro in the macio source file and add a bunch of debug
prints that are all disabled by default of course.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 58c0c311838dd2c6622a156b4d261aa127c510dd
https://github.com/qemu/qemu/commit/58c0c311838dd2c6622a156b4d261aa127c510dd
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
Log Message:
-----------
PPC: dbdma: Fix debug print
There was a debug print that didn't compile for me because the format
and the arguments weren't in sync. Fix it up.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 7eaba824b6bc14ee724f8593891f2165d2faa4ab
https://github.com/qemu/qemu/commit/7eaba824b6bc14ee724f8593891f2165d2faa4ab
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
Log Message:
-----------
PPC: dbdma: Allow new commands in RUN state
The DBDMA controller can not change its command stream while it's
actively streaming data, true. But the fact that it's in RUN state
doesn't actually indicate anything. It could just as well be in
WAIT while in RUN. And then it's legal to change commands.
This fixes a real world issue I've encountered with Mac OS X.
Signed-off-by: Alexander Graf <address@hidden>
Commit: f2f963fd0775263f9c1cdd3cd92b171c8dae6c77
https://github.com/qemu/qemu/commit/f2f963fd0775263f9c1cdd3cd92b171c8dae6c77
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
M include/hw/ppc/mac_dbdma.h
Log Message:
-----------
PPC: dbdma: Move defines into header file
We usually keep struct and constant definitions in header files. Move
them there to stay consistent and to make access to fields easier.
Signed-off-by: Alexander Graf <address@hidden>
Commit: d1e562deb2de5c2ced639b18dee59a9ab08236b6
https://github.com/qemu/qemu/commit/d1e562deb2de5c2ced639b18dee59a9ab08236b6
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
M include/hw/ppc/mac_dbdma.h
Log Message:
-----------
PPC: dbdma: Introduce kick function
The DBDMA engine really is running all the time, waiting for input. However
we don't want to waste cycles constantly polling.
So introduce a kick function that data providers can call to notify the
DBDMA controller of new input.
Signed-off-by: Alexander Graf <address@hidden>
Commit: d2f0ce2189feef94516d81fa5834fa4d65435053
https://github.com/qemu/qemu/commit/d2f0ce2189feef94516d81fa5834fa4d65435053
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
M include/hw/ppc/mac_dbdma.h
Log Message:
-----------
PPC: dbdma: Move static bh variable to device struct
The DBDMA controller has a bottom half to asynchronously process DMA
request queues.
This bh was stored as a gross static variable. Move it into the device
struct instead.
While at it, move all users of it to the new generic kick function.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 4aa3510f6f36c5ea35219acf641788222d977437
https://github.com/qemu/qemu/commit/4aa3510f6f36c5ea35219acf641788222d977437
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
M hw/ppc/mac.h
Log Message:
-----------
PPC: dbdma: macio: Add DMA callback
We need to know when the IDE core starts a DMA transfer. Add a notifier
function so we have the chance to start transmitting data.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 03ee3b1e58266c7e5b155d58f443d94b23d2bd05
https://github.com/qemu/qemu/commit/03ee3b1e58266c7e5b155d58f443d94b23d2bd05
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/mac_dbdma.c
M include/hw/ppc/mac_dbdma.h
Log Message:
-----------
PPC: dbdma: Move processing to io
Soon we will introduce intermediate processing pauses which will
allow the bottom half to restart a DMA request that couldn't be
fulfilled yet.
For that to work, move the processing variable into the io struct
which is what DMA providers work with.
While touching it, also change it into a bool
Signed-off-by: Alexander Graf <address@hidden>
Commit: cae323572eddc1a45e2f6ef98c006d98fed23b1e
https://github.com/qemu/qemu/commit/cae323572eddc1a45e2f6ef98c006d98fed23b1e
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
M hw/ppc/mac.h
Log Message:
-----------
PPC: dbdma: Wait for DMA until we have data
We should only start processing DMA requests when we have data to process.
Hold off working through the DMA shuffling until the IDE core told us that
it's ready.
This is required because the guest can program the DMA engine or the IDE
transfer first. Both are legal.
Signed-off-by: Alexander Graf <address@hidden>
Commit: 80fc95d8bdaf3392106b131a97ca701fd374489a
https://github.com/qemu/qemu/commit/80fc95d8bdaf3392106b131a97ca701fd374489a
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
M include/hw/ppc/mac_dbdma.h
Log Message:
-----------
PPC: dbdma: Support unaligned DMA access
The DBDMA engine really just reads bytes from a producing device (IDE
in our case) and shoves these bytes into memory. It doesn't care whether
any alignment takes place or not.
Our code today however assumes that block accesses always happen on
sector (512 byte) boundaries. This is a fair assumption for most cases.
However, Mac OS X really likes to do unaligned, incomplete accesses
that it finishes with the next DMA request.
So we need to read / write the unaligned bits independent of the actual
asynchronous request, because that one can only handle 512-byte-aligned
data. We also need to cache these unaligned sectors until the next DMA
request, at which point the data might be successfully flushed from the
pipe.
Signed-off-by: Alexander Graf <address@hidden>
Commit: a0f9fdfd98cc0571f9921a7eadd7316532e3e289
https://github.com/qemu/qemu/commit/a0f9fdfd98cc0571f9921a7eadd7316532e3e289
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/misc/macio/macio.c
Log Message:
-----------
PPC: Add timer handler for newworld mac-io
Mac OS X accesses fancy timer registers inside of the mac-io on bootup.
These really should be ticking at the mac-io bus frequency, but I don't
see anyone upset when we just make them as fast as we want to.
With this patch on top of my previous patch queue and latest OpenBIOS
I am able to boot Mac OS X 10.4 with -M mac99.
Signed-off-by: Alexander Graf <address@hidden>
Commit: f35ea98cd9f75db9286f05bf3dc4b532f4cb5eaa
https://github.com/qemu/qemu/commit/f35ea98cd9f75db9286f05bf3dc4b532f4cb5eaa
Author: Alexander Graf <address@hidden>
Date: 2013-07-11 (Thu, 11 Jul 2013)
Changed paths:
M hw/ide/macio.c
Log Message:
-----------
PPC: dbdma: Support more multi-issue DMA requests
A DMA request can happen for data that hasn't been completely been
provided by the IDE core yet. For example
- DBDMA request for 0x1000 bytes
- IDE request for 1 sector
- DBDMA wants to read 0x1000 bytes (8 sectors) from bdrv
- breakage
Instead, we should truncate our bdrv request to the maximum number
of sectors we're allowed to read at that given time. Once that transfer
is through, we will fall into our recently introduced waiting logic.
- DBDMA requests for 0x1000 bytes
- IDE request for 1 sector
- DBDMA wants to read MIN(0x1000, 1 * 512) bytes
- DBDMA finishes reading, indicates to IDE core that transfer is complete
- IDE request for 7 sectors
- DBDMA finishes the DMA
Reported-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Commit: 25ca6a1f5a3ee0a1ae670590877ed14f05e28fba
https://github.com/qemu/qemu/commit/25ca6a1f5a3ee0a1ae670590877ed14f05e28fba
Author: Anthony Liguori <address@hidden>
Date: 2013-07-12 (Fri, 12 Jul 2013)
Changed paths:
M default-configs/ppc64-softmmu.mak
M hw/ide/macio.c
M hw/intc/Makefile.objs
A hw/intc/xics.c
M hw/misc/macio/mac_dbdma.c
M hw/misc/macio/macio.c
M hw/ppc/Makefile.objs
M hw/ppc/mac.h
M hw/ppc/mac_newworld.c
M hw/ppc/mac_oldworld.c
M hw/ppc/spapr.c
M hw/ppc/spapr_hcall.c
M hw/ppc/spapr_pci.c
R hw/ppc/xics.c
M include/hw/ppc/mac_dbdma.h
M target-ppc/cpu-models.c
M target-ppc/cpu-models.h
M target-ppc/translate_init.c
Log Message:
-----------
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
# By Alexander Graf (16) and others
# Via Alexander Graf
* agraf/ppc-for-upstream: (22 commits)
PPC: dbdma: Support more multi-issue DMA requests
PPC: Add timer handler for newworld mac-io
PPC: dbdma: Support unaligned DMA access
PPC: dbdma: Wait for DMA until we have data
PPC: dbdma: Move processing to io
PPC: dbdma: macio: Add DMA callback
PPC: dbdma: Move static bh variable to device struct
PPC: dbdma: Introduce kick function
PPC: dbdma: Move defines into header file
PPC: dbdma: Allow new commands in RUN state
PPC: dbdma: Fix debug print
PPC: Mac: Add debug prints in macio and dbdma code
PPC: dbdma: Replace tabs with spaces
PPC: Macio: Replace tabs with spaces
PPC: g3beige: Move secondary IDE bus to mac-io
PPC: Mac: Fix guest exported tbfreq values
target-ppc: Add POWER8 v1.0 CPU model
pseries: move interrupt controllers to hw/intc/
spapr: Respect -bios command line option for SLOF
spapr: Use named enum for function remove_hpte
...
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Compare: https://github.com/qemu/qemu/compare/c170a23ca009...25ca6a1f5a3e
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 7162bd: e600 core for MPC86xx processors,
GitHub <=