Juha Riihimäki [Mon, 23 Mar 2009 10:48:13 +0000 (12:48 +0200)]
Merge commit 'origin/master' into juha-devel
Conflicts:
hw/beagle.c
hw/omap3.c
hw/usb-musb.c
Juha Riihimäki [Mon, 23 Mar 2009 10:28:56 +0000 (12:28 +0200)]
fix OMAP3 uart init so it works with vmstate load/save
Juha Riihimäki [Mon, 23 Mar 2009 10:27:36 +0000 (12:27 +0200)]
introduce "vmstate" image format
this is needed to support vmstate load/save operations as it seems this is not working properly with the only other image format that supports vmstates (qcow2)
Juha Riihimäki [Mon, 23 Mar 2009 10:25:17 +0000 (12:25 +0200)]
vmstate load/save support for Triton2 & OMAP3 USB
Riku Voipio [Thu, 19 Mar 2009 15:36:13 +0000 (17:36 +0200)]
packing update
Mika Westerberg [Thu, 19 Mar 2009 14:48:05 +0000 (16:48 +0200)]
linux-user: removed unnecessary MAX_SOCK_ADDR checks for socket syscalls
- This check is not needed because kernel will check whether given
buffer is too small and there is no upper limit for size of the buffer.
Riku Voipio [Tue, 17 Mar 2009 15:19:55 +0000 (17:19 +0200)]
Convert musb fifo to 8bit to allow 8/16/32bit access
MUSB allows reading and writing to the fifo in 32/16/8 bit
width. The Linux kernel does this sometimes, most usually at
the end of writing the packet to allow packet to end at a
odd bytecount.
Convert the fifo to 8bit allows removing lots of shifts
which shows that the fifo is more natural as 8bit.
Riku Voipio [Tue, 17 Mar 2009 15:15:05 +0000 (17:15 +0200)]
Make devices self-powered
Simplifies power budget negotiation.
Riku Voipio [Wed, 18 Mar 2009 12:44:41 +0000 (14:44 +0200)]
whitespace cleanup
Juha Riihimäki [Tue, 17 Mar 2009 14:03:41 +0000 (16:03 +0200)]
let beagleboard understand the -m switch
make it possible to define amount of SDRAM dynamically on commandline. however this patch will still put all the ram on cs0. also removed the unknown 80kb rom block and use only the publicly defined 32kb boot rom area.
Juha Riihimäki [Tue, 17 Mar 2009 11:24:43 +0000 (13:24 +0200)]
arm core emulation performance improvement
check for the simple variable first and only if that matches do the more complex check - should speed up data processing operations a little bit.
Juha Riihimäki [Tue, 17 Mar 2009 10:52:07 +0000 (12:52 +0200)]
omap3 prcm clean-up
Riku Voipio [Fri, 13 Mar 2009 15:23:33 +0000 (17:23 +0200)]
add some registers kernel reads to the readb func
Riku Voipio [Fri, 13 Mar 2009 15:12:33 +0000 (17:12 +0200)]
We want the level, not value for intr
Riku Voipio [Thu, 12 Mar 2009 16:19:37 +0000 (18:19 +0200)]
add trace
Juha Riihimäki [Fri, 13 Mar 2009 14:20:42 +0000 (16:20 +0200)]
OMAP3 DPLL5 clock fix and added the missing omap3_boot.c.
Riku Voipio [Thu, 12 Mar 2009 16:14:52 +0000 (18:14 +0200)]
Correct usb revision number
Match omap3530 ES 2.1. Debug more.
Juha Riihimäki [Thu, 12 Mar 2009 13:14:38 +0000 (15:14 +0200)]
[v2] fix ARMv7 data processing instructions
QEMU does not currently emulate the load/move operations to R15 (PC) correctly for ARMv7.
Correct behavior is similar to BX command. This should fix the behavior of all affected commands instead
of just MOV pc,xxx.
Juha Riihimäki [Thu, 12 Mar 2009 13:12:54 +0000 (15:12 +0200)]
Enhanced OMAP3 boot ROM emulation
Boot ROM emulation is no longer dependent on machine specifics (e.g. type of NAND device attached). Also a kind of stub ROM image is mapped at correct address at POR.
Juha Riihimäki [Wed, 11 Mar 2009 08:55:38 +0000 (10:55 +0200)]
OMAP3 clock adjustments & cleanups
Add support for OMAP3 SYS_CLK input selection reconfiguration support. In real life we would also need to support sys_boot pin 6 to choose between oscillator bypass mode (xtalin is square wave) or PRCM internal oscillator (xtalin). Current code is fixed to use the bypass mode with a default setting of 26MHz input. Also, added SYS_CLKOUT1 clock which was missing.
Juha Riihimäki [Thu, 19 Mar 2009 08:40:38 +0000 (10:40 +0200)]
add savevm support in several modules
Juha Riihimäki [Wed, 18 Mar 2009 06:48:02 +0000 (08:48 +0200)]
Merge commit 'origin/riku-devel' into juha-devel
Riku Voipio [Tue, 17 Mar 2009 15:19:55 +0000 (17:19 +0200)]
Support byte and half-word reads
This method only works for reading the last half-word/byte from the fifo.
Incidentally it's the only one that the kernel does.
Proper fix is making the fifo byte-sized and reading it 1-4bytes at a time.
Riku Voipio [Tue, 17 Mar 2009 15:15:05 +0000 (17:15 +0200)]
Make devices self-powered
Simplifies power budget negotiation.
Juha Riihimäki [Tue, 17 Mar 2009 14:03:41 +0000 (16:03 +0200)]
let beagleboard understand the -m switch
make it possible to define amount of SDRAM dynamically on commandline. however this patch will still put all the ram on cs0. also removed the unknown 80kb rom block and use only the publicly defined 32kb boot rom area.
Juha Riihimäki [Tue, 17 Mar 2009 11:24:43 +0000 (13:24 +0200)]
arm core emulation performance improvement
check for the simple variable first and only if that matches do the more complex check - should speed up data processing operations a little bit.
Juha Riihimäki [Tue, 17 Mar 2009 10:52:07 +0000 (12:52 +0200)]
omap3 prcm clean-up
Juha Riihimäki [Mon, 16 Mar 2009 12:04:40 +0000 (14:04 +0200)]
[v2] fix ARMv7 data processing instructions
This should fix the behavior of all affected commands instead of just MOV pc,xxx.
Riku Voipio [Fri, 13 Mar 2009 15:23:33 +0000 (17:23 +0200)]
add some registers kernel reads to the readb func
Riku Voipio [Fri, 13 Mar 2009 15:12:33 +0000 (17:12 +0200)]
We want the level, not value for intr
Riku Voipio [Fri, 13 Mar 2009 14:46:58 +0000 (16:46 +0200)]
Merge branch 'juha-devel' of ssh://voipio@juri/home/voipio/qemu into riku-devel
Riku Voipio [Thu, 12 Mar 2009 16:19:37 +0000 (18:19 +0200)]
add trace
Juha Riihimäki [Fri, 13 Mar 2009 14:20:42 +0000 (16:20 +0200)]
OMAP3 DPLL5 clock fix and added the missing omap3_boot.c.
Juha Riihimäki [Fri, 13 Mar 2009 07:58:54 +0000 (09:58 +0200)]
[v2] ARMv7 mov pc,xxx fix
Riku Voipio [Thu, 12 Mar 2009 16:14:52 +0000 (18:14 +0200)]
Correct usb revision number
Match omap3530 ES 2.1. Debug more.
Juha Riihimäki [Thu, 12 Mar 2009 13:14:38 +0000 (15:14 +0200)]
quick fix for ARMv7 "mov pc, <xxx>" commands
QEMU does not currently emulate the load/move operations to R15 (PC) correctly for ARMv7. Correct behavior is similar to BX command. This patch fixes the behavior for the special case of "mov<cond> pc, <rm>", "mov<cond> pc, #<const>", "mov<cond> pc, <rm>, <shift>". Other commands (such as "ldr pc, ..." for example) are not fixed.
Juha Riihimäki [Thu, 12 Mar 2009 13:12:54 +0000 (15:12 +0200)]
Enhanced OMAP3 boot ROM emulation
Boot ROM emulation is no longer dependent on machine specifics (e.g. type of NAND device attached). Also a kind of stub ROM image is mapped at correct address at POR.
Juha Riihimäki [Wed, 11 Mar 2009 08:55:38 +0000 (10:55 +0200)]
OMAP3 clock adjustments & cleanups
Add support for OMAP3 SYS_CLK input selection reconfiguration support. In real life we would also need to support sys_boot pin 6 to choose between oscillator bypass mode (xtalin is square wave) or PRCM internal oscillator (xtalin). Current code is fixed to use the bypass mode with a default setting of 26MHz input. Also, added SYS_CLKOUT1 clock which was missing.
Riku Voipio [Tue, 10 Mar 2009 10:25:49 +0000 (12:25 +0200)]
Merge commit 'garage/master'
Riku Voipio [Tue, 10 Mar 2009 10:24:56 +0000 (12:24 +0200)]
bye bye
Riku Voipio [Tue, 10 Mar 2009 10:24:22 +0000 (12:24 +0200)]
Merge commit 'garage/master'
Riku Voipio [Mon, 9 Mar 2009 15:50:12 +0000 (17:50 +0200)]
Merge commit 'juri/juha-devel'
Riku Voipio [Mon, 9 Mar 2009 15:49:21 +0000 (17:49 +0200)]
Merge branch 'maemo-test'
Riku Voipio [Mon, 9 Mar 2009 14:33:03 +0000 (16:33 +0200)]
fix merge fallout
Riku Voipio [Mon, 9 Mar 2009 13:01:52 +0000 (15:01 +0200)]
Packaging update
Riku Voipio [Mon, 9 Mar 2009 13:01:47 +0000 (15:01 +0200)]
Emulate only host mode
Riku Voipio [Mon, 9 Mar 2009 14:22:35 +0000 (16:22 +0200)]
use Paul Brooks thread variant
Mika Westerberg [Mon, 9 Mar 2009 09:09:13 +0000 (11:09 +0200)]
Changed fprintf() -> qemu_log().
Riku Voipio [Mon, 9 Mar 2009 14:03:23 +0000 (16:03 +0200)]
Merge branch 'upstream' into maemo-test
Conflicts:
linux-user/syscall.c
target-arm/helper.c
Juha Riihimäki [Mon, 9 Mar 2009 13:19:39 +0000 (15:19 +0200)]
cleaning up unnecessary compiler warnings
Riku Voipio [Mon, 9 Mar 2009 13:01:52 +0000 (15:01 +0200)]
Packaging update
Riku Voipio [Mon, 9 Mar 2009 13:01:47 +0000 (15:01 +0200)]
Emulate only host mode
Mika Westerberg [Mon, 9 Mar 2009 09:09:13 +0000 (11:09 +0200)]
Changed fprintf() -> qemu_log().
Juha Riihimäki [Mon, 9 Mar 2009 12:36:32 +0000 (14:36 +0200)]
more cleanups
Juha Riihimäki [Mon, 9 Mar 2009 11:20:15 +0000 (13:20 +0200)]
misc clean-ups
Juha Riihimäki [Mon, 9 Mar 2009 06:31:16 +0000 (08:31 +0200)]
more NAND fixing & tidying
aurel32 [Mon, 9 Mar 2009 06:27:24 +0000 (06:27 +0000)]
target-ppc: free a tcg temp variable
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6790
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 9 Mar 2009 06:27:14 +0000 (06:27 +0000)]
target-ppc: add support for reading/writing spefscr
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6789
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 8 Mar 2009 19:49:51 +0000 (19:49 +0000)]
qemu-img: fix help message
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6787
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 8 Mar 2009 19:49:44 +0000 (19:49 +0000)]
qemu-img: accept sizes with decimal values
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6786
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 19:26:53 +0000 (19:26 +0000)]
Call Perl directly instead of relying on shebang
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6785
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 17:42:02 +0000 (17:42 +0000)]
Multi-key completion for sendkey
Allow completion of concatenated key strings for the sendkey command.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6784
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 8 Mar 2009 16:26:59 +0000 (16:26 +0000)]
Fix windows build and clean up use of <windows.h>
We want to globally define WIN_LEAN_AND_MEAN and WINVER to particular values so
let's do it in OS_CFLAGS.
Then, we can pepper in windows.h includes where using #includes that require it.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6783
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 15:58:00 +0000 (15:58 +0000)]
Rename one more _BSD to HOST_BSD (spotted by Hasso Tepper)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6782
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 8 Mar 2009 15:04:07 +0000 (15:04 +0000)]
Remove unnecessary prefix on SDL_syswm.h. This fixes the build for certain
installs of SDL.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6780
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 14:45:45 +0000 (14:45 +0000)]
Prune unused TCG_AREGs
Remove definitions for TCG_AREGs corresponding to AREG definitions
removed in r6778.
Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6779
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 12:41:36 +0000 (12:41 +0000)]
Prune unused AREGs
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6778
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 09:51:29 +0000 (09:51 +0000)]
Use firmware configuration instead of NVRAM (initial patch by Aurelien Jarno)
Use firmware configuration device for boot device, kernel, initrd and
kernel command line parameters on PPC, Sparc32 and Sparc64.
Update OpenBIOS images to r479 which supports the change.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6777
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 09:34:26 +0000 (09:34 +0000)]
Add new entries to firmware configuration device
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6776
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 8 Mar 2009 08:23:32 +0000 (08:23 +0000)]
Rename _BSD to HOST_BSD so that it's more obvious that it's defined by configure
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6775
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 8 Mar 2009 00:06:10 +0000 (00:06 +0000)]
target-mips: remove dead code
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6774
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 8 Mar 2009 00:06:01 +0000 (00:06 +0000)]
target-mips: rename helpers from do_ to helper_
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6773
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 22:10:40 +0000 (22:10 +0000)]
do not pretend to support low voltage operation
Eliminate "mmc0: SD card claims to support the incompletely defined 'low voltage
range'. This will be ignored." warning. Qemu says the card is a SD card, and SD
spec doesn't define low-voltage cards, so do now pretend to be one.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6772
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 22:10:28 +0000 (22:10 +0000)]
Fix correct reset value for ARM CP15 c1 auxiliary control register
According to ARM Cortex A8 Technical Reference Manual, the reset value for CP15 c1 auxiliary control
register is 2, not zero (page 3.12).
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6771
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 22:00:56 +0000 (22:00 +0000)]
Work around QEMU GDB stub suboptimality
The current XML files claim, on floating point-supporting Power chips,
that $f0 is register 70. This would be fine, except that register 70
for non-XML-aware GDB is FPSCR. More importantly, 70 is less than
NUM_CORE_REGS (71) for Power, so a request for register 70 goes to the
"core" register reading routines, rather than the floating-point
register read routine we registered with gdb_register_coprocessor.
Therefore, when we are talking to an XML-aware GDB, we claim that
register has zero width, which causes the rest of QEMU's GDB stub to
send an error back to GDB, which causes GDB to be unable to read the
floating-point registers. (The problem is also present for SPE
registers and occurs in a slightly different way for Altivec registers.)
The best way to fix this is to have the "core register" XML files for
PPC32 and PPC64 claim that there is a 4-byte register 70, which causes
$f0 to be register 71, and everything works just fine from that point
forward.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6770
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 22:00:49 +0000 (22:00 +0000)]
Fix off-by-one errors for Altivec and SPE registers
Altivec and SPE both have 34 registers in their register sets, not 35
with a missing register 32.
GDB would ask for register 32 of the Altivec (resp. SPE) registers and
the code would claim it had zero width. The QEMU GDB stub code would
then return an E14 to GDB, which would complain about not being sure
whether p packets were supported or not.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6769
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 22:00:29 +0000 (22:00 +0000)]
Use C99 initializers for BlockDriver methods
Consistently use the C99 named initializer format for the BlockDriver
methods to make the method table more readable and more easily
extensible.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6768
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:48:08 +0000 (21:48 +0000)]
clean build: Fix remaining m68k warnings
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6767
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:48:00 +0000 (21:48 +0000)]
clean build: Fix arm build warnings
Fix remaining arm warnings - except for the mess in the NetWinder FP
emulator.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6766
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:47:53 +0000 (21:47 +0000)]
arm: Fix gic_irq_state.level bitfield type
Found while cleaning up compiler warnings: GIC_*_LEVEL macros strongly
suggest that gic_irq_state.level is intended to be per-CPU and not just
a single, global bit. I'm unable to test the effect, but it seems to be
the most reasonable fix for the apparent brokenness.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6765
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:35:27 +0000 (21:35 +0000)]
target-ppc: move the CD-ROM drive to the second IDE
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6764
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:35:21 +0000 (21:35 +0000)]
ppc_oldworld: swap the MACIO and CMD646 IDE controllers
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6763
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:28:24 +0000 (21:28 +0000)]
Use a dedicated function to request exit from execution loop
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6762
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 21:28:14 +0000 (21:28 +0000)]
Fix texinfo syntax errors.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6761
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:58:30 +0000 (20:58 +0000)]
Disable BAT for 970
The 970 doesn't know BAT, so let's not search BATs there.
This was only in as a hack for OpenHackWare so it would
work on PPC64.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6759
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 20:57:47 +0000 (20:57 +0000)]
Fix mfcr on ppc64-softmmu
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6758
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:57:42 +0000 (20:57 +0000)]
Keep SLB in-CPU
Real 970 CPUs have the SLB not memory backed, but inside the CPU.
This breaks bridge mode for 970 for now, but at least keeps us from
overwriting physical addresses 0x0 - 0x300, rendering our interrupt
handlers useless.
I put in a stub for bridge mode operation that could be enabled
easily, but for now it's safer to leave that off I guess (970fx doesn't
have bridge mode AFAIK).
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6757
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 7 Mar 2009 20:57:31 +0000 (20:57 +0000)]
Clear CPU_INTERRUPT_EXIT on VM load
CPU_INTERRUPT_EXIT is not set anymore in env->interrupt_request since
revision 6728. Make sure the bit is cleared on VM load.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6756
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:57:01 +0000 (20:57 +0000)]
Fix NX bit
ctx->nx only got ORed, but never reset. So when one page in the
lifetime of the VM was ever NX, all later pages were too.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6755
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:56:21 +0000 (20:56 +0000)]
Fix RFI(d)
The current implementation masks some MSR bits from SRR1 as it is
given on rfi(d). This looks pretty wrong and breaks Altivec.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6754
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:55:31 +0000 (20:55 +0000)]
Implement mtfsf.L encoding
Mtfsf can have the L bit set, so all the register contents get stored
in FPSCR. Linux uses it, so let's implement it.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6753
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:54:59 +0000 (20:54 +0000)]
Enable 64bit mode on interrupts
Real 970s enable MSR_SF on all interrupts. The current code didn't do
this until now, so let's activate it!
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6752
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:54:03 +0000 (20:54 +0000)]
Nop some SPRs on 970fx
Linux tries to access some SPRs on PPC64 boot. Let's just ignore those
for the 970fx for now to make it happy.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6751
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:53:18 +0000 (20:53 +0000)]
Activate uninorth AGP bridge
Linux tries to poke the AGP bridge port and is pretty sad when it can't,
so let's activate the old code again and throw out the bit modifications,
as we don't really do anything with the values anyways.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6750
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:52:22 +0000 (20:52 +0000)]
Implment tlbiel
Linux uses tlbiel to flush TLB entries in PPC64 mode. This special TLB
flush opcode only flushes an entry for the CPU it runs on, not across
all CPUs in the system.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6749
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:51:18 +0000 (20:51 +0000)]
Implement large pages
The current SLB/PTE code does not support large pages, which are
required by Linux, as it boots up with the kernel regions up as large.
This patch implements large page support, so we can run Linux.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6748
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:50:01 +0000 (20:50 +0000)]
Implement slbmte
In order to modify SLB entries on recent PPC64 machines, the slbmte
instruction is used.
This patch implements the slbmte instruction and makes the "bridge"
mode code use the slb set functions, so we can move the SLB into
the CPU struct later.
This is required for Linux to run on PPC64.
Signed-off-by: Alexander Graf <alex@csgraf.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6747
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 20:06:23 +0000 (20:06 +0000)]
Support for DragonFly BSD (Hasso Tepper)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6746
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 18:59:05 +0000 (18:59 +0000)]
Fix BSD user: there is no NPTL
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6745
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 7 Mar 2009 16:57:53 +0000 (16:57 +0000)]
Update i386-dis.c from commits before GPLv3 switch
Update i386-dis.c again using binutils files from CVS:
include/opcode/i386.h r1.78 and opcodes/i386-dis.c r1.126.
These are the last versions using GPL v2+.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6744
c046a42c-6fe2-441c-8c8c-
71466251a162