app-emulation/qemu: Bump
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/vmware@2501 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
parent
2ea56dd669
commit
87b90dc701
@ -2,6 +2,25 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/ChangeLog,v 1.77 2010/01/05 23:58:40 flameeyes Exp $
|
||||
|
||||
10 Oct 2010; Mario Fetka <mario.fetka@gmail.com> +files/0.12.4,
|
||||
+files/0.12.4/0005-qemu-cvs-alsa_mmap.patch,
|
||||
+files/0.12.4/0001-qemu-0.7.0-amd64.patch,
|
||||
+files/0.12.4/0006-qemu-cvs-gettimeofday.patch,
|
||||
+files/0.12.4/0002-qemu-0.9.0.cvs-binfmt.patch,
|
||||
+files/0.12.4/0003-qemu-cvs-alsa_bitfield.patch,
|
||||
+files/0.12.4/0004-qemu-cvs-alsa_ioctl.patch,
|
||||
+files/0.12.4/0007-qemu-cvs-ioctl_debug.patch,
|
||||
+files/0.12.4/0009-qemu-cvs-sched_getaffinity.patch,
|
||||
+files/0.12.4/0010-qemu-cvs-mmap-amd64.patch,
|
||||
+files/0.12.4/0011-qemu-img-vmdk-scsi.patch,
|
||||
+files/0.12.4/0014-qemu-0.11-git-ioctl_mount.patch,
|
||||
+files/0.12.4/0015-qemu-0.11-git-user-linux-ppc-uid16_fix.patch,
|
||||
+files/0.12.4/0008-qemu-cvs-ioctl_nodirection.patch, qemu-0.11.1.ebuild,
|
||||
+files/0.12.4/0012-qemu-nonvoid_return.patch,
|
||||
+files/0.12.4/0013-i386-linux-user-NPTL-support.patch,
|
||||
+qemu-0.12.5.ebuild, +files/0.12.4/0016-S-390-support.patch:
|
||||
Bump
|
||||
|
||||
08 Feb 2010; Mario Fetka <mario.fetka@gmail.com> ChangeLog:
|
||||
add suse patches mainly for sched_getaffinity
|
||||
|
||||
|
@ -27,6 +27,22 @@ AUX 0.11.0/0030-linux-user-getpriority-errno-fix.patch 1024 RMD160 515cd8127329b
|
||||
AUX 0.11.0/0031-linux-user-fadvise64-implementation.patch 1528 RMD160 9085b0ab2b3134d99fc14951ee1f654dc9b2acf8 SHA1 0a87be8db93a9b4695867c16102cd0c435b192a0 SHA256 e06b25ca222f8c0c1bca915f04237f5a3d3ff98260f6f77678bd31bba711593e
|
||||
AUX 0.11.0/0032-linux-user-zero-fstat-buffer-to-initialize-nsec-fie.patch 1241 RMD160 d6d8149d8df578f860c952c30b8de256ecb7670a SHA1 fec06450adf94327076c810ee527782c54b4feb5 SHA256 98fc97662b8360502fe46f747ec46ed5d24f1355184df6d3935338b831344bc3
|
||||
AUX 0.11.0/0033-dup3-check-fallocate-check-fixed.patch 2241 RMD160 0c191ae3fdf37213175063b3f5a38045939af03d SHA1 a281a4c19cfc2ea938c9b2b4ab9e86cc42826764 SHA256 a9efd4690b840b4c87d9e6a7be15e29381024e8ec7c0811653b4073e9802d6d2
|
||||
AUX 0.12.4/0001-qemu-0.7.0-amd64.patch 1431 RMD160 0988e7640747d4ed1b004ef498a0d6da15d216dd SHA1 25d6ff8638ee6a79a8fc686941b14d0222fa1111 SHA256 3e4fdf208e5a746600057d85bca832977afa09a7db022f9fe147ad1a29ad3fa1
|
||||
AUX 0.12.4/0002-qemu-0.9.0.cvs-binfmt.patch 7525 RMD160 784b85657ea7ca2f3978b4ddcd0e039b50401793 SHA1 d908545eb963a30465e0e92fbc073cafffa4a37b SHA256 953203c86055b0b83d389ed00fd63629af7f221817da9e0017e931f2c07b1ca4
|
||||
AUX 0.12.4/0003-qemu-cvs-alsa_bitfield.patch 2463 RMD160 141d23417fcf2a79ee499d6433859b0ff59cbfbc SHA1 7dd07e6c2fcb29b9f859a365a5dee6580938263a SHA256 bfb3c320ac80dd69187d453e2bdcdc9932e613000dd46a5333ae14a202218780
|
||||
AUX 0.12.4/0004-qemu-cvs-alsa_ioctl.patch 134019 RMD160 a6d116925c15a175162273b06d2da67887fdeeab SHA1 397b0e87ee7ea9e00edd882443082f9fd73f7a0f SHA256 defeb75f644661c9f947068759513a775a3055a6cbce2c07d6836c5be5f3bec1
|
||||
AUX 0.12.4/0005-qemu-cvs-alsa_mmap.patch 1559 RMD160 1bdba386e31612c392b9672bdd4e4dc47f02e234 SHA1 dae6f96eb16ce9bfa924f66b503fec2016d41201 SHA256 7d0f5aa3fffa980960c4fccf5f77e621216f8292ac7985e16a985b961160c7b2
|
||||
AUX 0.12.4/0006-qemu-cvs-gettimeofday.patch 825 RMD160 303366820fd2771ee24c9c5dfd55d29e9b55a8ca SHA1 de26d00e2c920682cc38fd138572f76c41fee853 SHA256 336a0ad0178289cea1bc16825bb425d6fbb8472fc5a5b39eb6f4d71903502ed7
|
||||
AUX 0.12.4/0007-qemu-cvs-ioctl_debug.patch 1434 RMD160 bc9d1705d725637f2f8b5d498b9739e851d0593d SHA1 0d20791711fe171f635a5708799c49810207f792 SHA256 0c9830d62edd3a03b8132d9aedc82b12bc934a676b7b3e5d1499ac58d59648fc
|
||||
AUX 0.12.4/0008-qemu-cvs-ioctl_nodirection.patch 1603 RMD160 4a3549dc1276ae18e7b62ca23a1a693060582c75 SHA1 b56d63d3dde9382759a84554a763e11c48ead551 SHA256 d95cbed88bd560d1c74da8a4e9c47ed180d1718bdcee25652345a035f7e28ea2
|
||||
AUX 0.12.4/0009-qemu-cvs-sched_getaffinity.patch 1985 RMD160 2b4f2b59d5d3d73c17ce74f1860cc0d853ac8bf5 SHA1 6a3e6e115e1f50934c01d96e115a45fd59f173f3 SHA256 e251b73c0c21279786343f09884da76147e6fdc08287ec706882d900ed73022a
|
||||
AUX 0.12.4/0010-qemu-cvs-mmap-amd64.patch 1213 RMD160 0b97ff141f22158ce4593b761185c23269447757 SHA1 19f8e0d97ea8442ae3f1972f33d04dabfc54242e SHA256 ac77e087f64f6aa901355aa7ce261396db68cb52648b9ee0d276fc670de07616
|
||||
AUX 0.12.4/0011-qemu-img-vmdk-scsi.patch 4807 RMD160 6ea88da1e2f4d2d3fa2ccefebe24603e6d300504 SHA1 9e9d4120bc9524c5375afb3cd16be781c0bf0ae0 SHA256 70c628853830e5c5c073873d3c305bf0e5b8c174782e89912c1bd074104df7ad
|
||||
AUX 0.12.4/0012-qemu-nonvoid_return.patch 1125 RMD160 9131a27f9da7ac3f92e6f826a28eea70992cd126 SHA1 24450b33ead5168b2e8327cf08542ab2ef5d6914 SHA256 f906e1e8f9718c38d3927eacd11a65b0abe2178fb15f65e14aa007b392d41425
|
||||
AUX 0.12.4/0013-i386-linux-user-NPTL-support.patch 2097 RMD160 c0894f7a112c5ad4f29ab0539a0c333fd6f6d1fd SHA1 df971ecc7f3819fce132d00a524390b2b330b8cc SHA256 15be0654302f9941e9563ea02ef22b72b64aef5359343d6935aa46c90fb9750e
|
||||
AUX 0.12.4/0014-qemu-0.11-git-ioctl_mount.patch 893 RMD160 b0dbf5ff9912905dc3a536189f1ca9ee621bccb8 SHA1 b1cdcc0c00cae4ede9fa76ad99103324a408b273 SHA256 8523965fb8781e35f5c6852b72c1f80c3fba859bf600075e11b71d2a4ce719ab
|
||||
AUX 0.12.4/0015-qemu-0.11-git-user-linux-ppc-uid16_fix.patch 4886 RMD160 f054c87a28c786687f14a9d7936d29c5f4ebf923 SHA1 e5a8e5ce368eec9da5069ff45cecf7826d71fccd SHA256 198bb2e440d5ac53cf065b7eb634528d0725b3c66fd5be3306046bf4994e9e59
|
||||
AUX 0.12.4/0016-S-390-support.patch 248902 RMD160 a8691de62f77db5a1764adbe82e50de47ac1b8a3 SHA1 f7cf8c6c0bdfead8d2ad73ce6a49b6586ded1743 SHA256 c951f19784d126230ac563ad0c9ebb9ad96b6260f5ac53e43dc469e374f635f1
|
||||
AUX qemu-0.10.3-nopl-fix.patch 1118 RMD160 849e4b88ca7985dc3faae0a225181205043f0265 SHA1 70cf0727a7cbdd79243ae6768f34c07c6e9c5aec SHA256 24656137f1f38aed2c2661ebd20d9a6d86eaf9768c3e239b971f01418b396028
|
||||
AUX qemu-0.11.0-mips64-user-fix.patch 313 RMD160 db016e0a48990a435dd6cf6e807145b33ada4908 SHA1 2ea913b1bcd29734a6d4011794bdb4aa3599a184 SHA256 b4173fc177bd0d0ba67f5551a3512047a19a9b2c0a122f968e32fbd834848d2f
|
||||
AUX qemu-arm-eabi-0.10.5.patch 21422 RMD160 a2ab6384938b08764324a4239fc30718161a3977 SHA1 2c7cec113b02e9f91226887257b393a3dfba2234 SHA256 b47327d7eab124617941e5403c5d4d0af2b21ce2278d5524677c521be462aa57
|
||||
@ -35,7 +51,9 @@ AUX qemu-ifdown 478 RMD160 2187fbf352e6b84686f0cf0e9e9ebe5d26359858 SHA1 1daccb4
|
||||
AUX qemu-ifup 554 RMD160 9769d79ab6456bdd7e3e689005f629e2a67b858d SHA1 dde2b27acabe6fe23ca40f90ff6950bb12a4b506 SHA256 eae9b50680442acc29c65a245a2d26a63756ad4cb894e08cb5ea249686801f1d
|
||||
DIST qemu-0.10.6.tar.gz 3664559 RMD160 1321a10777d2e0c6b53887d0525a28cc1b36ec9b SHA1 9432738ba513e07c981097468945b2e3ad9cb81e SHA256 8725298d4fd937ae41d942d0dd4a22fc02561d8c57a9fdcdbfa56427915757c7
|
||||
DIST qemu-0.11.1.tar.gz 3830070 RMD160 4da00fa6c01d7ff6af0ee781bc9260da577ea7d3 SHA1 7b983cd18f44c6e7627532b662f010389d3bcdff SHA256 2ecd2fc0af2ce5d96067ae82cc98a08275c596de53fc929484bedee1d6e7893a
|
||||
DIST qemu-0.12.5.tar.gz 4291741 RMD160 c4eba2e649b428e8dd432718443e986057e692d7 SHA1 596a673f3a6697ea8fd90f4f23981241cc13bdc3 SHA256 a6a7b30b53591e160b5c7fd9319985673174e9ea47b182dbe63bc99357741f58
|
||||
EBUILD qemu-0.10.6.ebuild 5000 RMD160 093eeeda7f4872bddeb83688daba67623eb26d01 SHA1 e5c5abf287914b222483cb32853bbcd658fa8fb6 SHA256 117e429849e1f55c17dd76837cb11c974ffccc19eba1b6ae5f33996a18c463c7
|
||||
EBUILD qemu-0.11.1.ebuild 5085 RMD160 8087ae228f75201f05e62ee034f552f529a44199 SHA1 b7bc2dd15b3c0d70722911c52176855cdedb33ab SHA256 10a7c4c25766209a80b18dbd360fedc3fd9fe6d79c2e37f3007870df6335ec19
|
||||
MISC ChangeLog 10331 RMD160 ff0ab9d98d85c4c46d37aaab5904c5d691be92a6 SHA1 ef40ad6b3c5cde2867f18e63af15a1335c3a3b96 SHA256 e03743f4235a6bc4030280b8e5e40136b0b317a059ef585d539bef9f289b6387
|
||||
EBUILD qemu-0.11.1.ebuild 5090 RMD160 9889a49d89c968b9710a159004c0467a82e711f7 SHA1 f3389454f0508c9c9b903d35b2472d429a85a954 SHA256 6963ebb2f42ef4bee899e5c9554eb4b91de11e798c4f632111ae9b6850d801da
|
||||
EBUILD qemu-0.12.5.ebuild 5128 RMD160 7f1ca4fe533772771d753fdb45565cc62b1e1031 SHA1 bb9960710ea99fb224a5381aec95d11f0b3a4f8c SHA256 b097d506303e4856cb5819642f113162a17644fbc46ae3c483ed1b4fb297b632
|
||||
MISC ChangeLog 11259 RMD160 6e119249ab4ffddf3dc6ef8da9fce0949fc91ad2 SHA1 0914e40152b37c48c175db6b9079eb7990814237 SHA256 db076339aadcd5266d3998d3314a1e1fb54cea58457f5c43cea5a40f3fe4999c
|
||||
MISC metadata.xml 910 RMD160 da1d7ba61d401bb22fc22be931b27be432d6d103 SHA1 6ffb7c25e19589933bd016d80a16284ae8df436c SHA256 6a27d48cbcc5a90f1464e302252ea10813317ddcb7bdd2e1e5cb927760a5640d
|
||||
|
37
app-emulation/qemu/files/0.12.4/0001-qemu-0.7.0-amd64.patch
Normal file
37
app-emulation/qemu/files/0.12.4/0001-qemu-0.7.0-amd64.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 8c7a6ec1220237db1e270244b1f1d90dd3d54204 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:17:39 +0200
|
||||
Subject: [PATCH 01/16] qemu-0.7.0-amd64
|
||||
|
||||
No clue why this is necessary or useful, nothing found in any changelogs.
|
||||
---
|
||||
x86_64.ld | 6 ++----
|
||||
1 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/x86_64.ld b/x86_64.ld
|
||||
index 24ea77d..52a696e 100644
|
||||
--- a/x86_64.ld
|
||||
+++ b/x86_64.ld
|
||||
@@ -58,8 +58,6 @@ SECTIONS
|
||||
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
|
||||
.rodata1 : { *(.rodata1) }
|
||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||
- .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||
- .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table) }
|
||||
/* Adjust the address for the data segment. We want to adjust up to
|
||||
the same address within the page on the next page up. */
|
||||
. = ALIGN (0x100000) - ((0x100000 - .) & (0x100000 - 1)); . = DATA_SEGMENT_ALIGN (0x100000, 0x1000);
|
||||
@@ -85,8 +83,8 @@ SECTIONS
|
||||
.data1 : { *(.data1) }
|
||||
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
|
||||
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
|
||||
- .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
|
||||
- .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table) }
|
||||
+ .eh_frame : { KEEP (*(.eh_frame)) }
|
||||
+ .gcc_except_table : { *(.gcc_except_table) }
|
||||
.dynamic : { *(.dynamic) }
|
||||
.ctors :
|
||||
{
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,85 @@
|
||||
From af10e52cdaf296681cf093f9269acf3080a01f5c Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:18:44 +0200
|
||||
Subject: [PATCH 02/16] qemu-0.9.0.cvs-binfmt
|
||||
|
||||
Fixes binfmt_misc setup script:
|
||||
- x86_64 is i386-compatible
|
||||
- m68k signature fixed
|
||||
- path to QEMU
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
qemu-binfmt-conf.sh | 33 ++++++++++++++++++---------------
|
||||
1 files changed, 18 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/qemu-binfmt-conf.sh b/qemu-binfmt-conf.sh
|
||||
index 941f0cf..67d6728 100644
|
||||
--- a/qemu-binfmt-conf.sh
|
||||
+++ b/qemu-binfmt-conf.sh
|
||||
@@ -12,7 +12,7 @@ fi
|
||||
# probe cpu type
|
||||
cpu=`uname -m`
|
||||
case "$cpu" in
|
||||
- i386|i486|i586|i686|i86pc|BePC)
|
||||
+ i386|i486|i586|i686|i86pc|BePC|x86_64)
|
||||
cpu="i386"
|
||||
;;
|
||||
m68k)
|
||||
@@ -24,36 +24,39 @@ case "$cpu" in
|
||||
"Power Macintosh"|ppc|ppc64)
|
||||
cpu="ppc"
|
||||
;;
|
||||
- armv4l)
|
||||
+ armv[4-9]*l)
|
||||
cpu="arm"
|
||||
;;
|
||||
+ sparc*)
|
||||
+ cpu="sparc"
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
# register the interpreter for each cpu except for the native one
|
||||
if [ $cpu != "i386" ] ; then
|
||||
- echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "arm" ] ; then
|
||||
- echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "sparc" ] ; then
|
||||
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "ppc" ] ; then
|
||||
- echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "m68k" ] ; then
|
||||
echo 'Please check cpu value and header information for m68k!'
|
||||
- echo ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-m68k:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-m68k:' > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ $cpu != "mips" ] ; then
|
||||
# FIXME: We could use the other endianness on a MIPS host.
|
||||
- echo ':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mipsn32:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mipsn32el:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register
|
||||
- echo ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mipsn32:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsn32el:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register
|
||||
+ echo ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,83 @@
|
||||
From d4ec93547c43a157b88b923b612653c9527ec2a6 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:20:50 +0200
|
||||
Subject: [PATCH 03/16] qemu-cvs-alsa_bitfield
|
||||
|
||||
Implements TYPE_INTBITFIELD partially. (required for ALSA support)
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
thunk.c | 21 +++++++++++++++++++++
|
||||
thunk.h | 3 +++
|
||||
2 files changed, 24 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/thunk.c b/thunk.c
|
||||
index 0657188..5638b2c 100644
|
||||
--- a/thunk.c
|
||||
+++ b/thunk.c
|
||||
@@ -41,6 +41,7 @@ static inline const argtype *thunk_type_next(const argtype *type_ptr)
|
||||
case TYPE_CHAR:
|
||||
case TYPE_SHORT:
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
case TYPE_LONG:
|
||||
@@ -139,6 +140,26 @@ const argtype *thunk_convert(void *dst, const void *src,
|
||||
case TYPE_INT:
|
||||
*(uint32_t *)dst = tswap32(*(uint32_t *)src);
|
||||
break;
|
||||
+ case TYPE_INTBITFIELD:
|
||||
+#if defined(TARGET_I386) && defined(__powerpc__)
|
||||
+ /* powerpc uses the MSB, whereas i386 uses the LSB
|
||||
+ * to store the first bit in a field */
|
||||
+ {
|
||||
+ unsigned char byte = *(uint8_t *)src;
|
||||
+ *(uint8_t *)dst = ((byte >> 7) & 1)
|
||||
+ | ((byte >> 5) & 2)
|
||||
+ | ((byte >> 3) & 4)
|
||||
+ | ((byte >> 1) & 8)
|
||||
+ | ((byte << 1) & 16)
|
||||
+ | ((byte << 3) & 32)
|
||||
+ | ((byte << 5) & 64)
|
||||
+ | ((byte << 7) & 128);
|
||||
+ /* FIXME: implement for bitfields > 1 byte and other archs */
|
||||
+ }
|
||||
+#else
|
||||
+ *(uint32_t *)dst = tswap32(*(uint32_t *)src);
|
||||
+#endif
|
||||
+ break;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
*(uint64_t *)dst = tswap64(*(uint64_t *)src);
|
||||
diff --git a/thunk.h b/thunk.h
|
||||
index 109c541..55890f3 100644
|
||||
--- a/thunk.h
|
||||
+++ b/thunk.h
|
||||
@@ -37,6 +37,7 @@ typedef enum argtype {
|
||||
TYPE_PTR,
|
||||
TYPE_ARRAY,
|
||||
TYPE_STRUCT,
|
||||
+ TYPE_INTBITFIELD,
|
||||
} argtype;
|
||||
|
||||
#define MK_PTR(type) TYPE_PTR, type
|
||||
@@ -90,6 +91,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host)
|
||||
case TYPE_SHORT:
|
||||
return 2;
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
return 4;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
@@ -127,6 +129,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host)
|
||||
case TYPE_SHORT:
|
||||
return 2;
|
||||
case TYPE_INT:
|
||||
+ case TYPE_INTBITFIELD:
|
||||
return 4;
|
||||
case TYPE_LONGLONG:
|
||||
case TYPE_ULONGLONG:
|
||||
--
|
||||
1.6.4.2
|
||||
|
3626
app-emulation/qemu/files/0.12.4/0004-qemu-cvs-alsa_ioctl.patch
Normal file
3626
app-emulation/qemu/files/0.12.4/0004-qemu-cvs-alsa_ioctl.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,47 @@
|
||||
From 8dc126f05ef5f8d0105d5d1b77493a27df8b4e30 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:24:15 +0200
|
||||
Subject: [PATCH 05/16] qemu-cvs-alsa_mmap
|
||||
|
||||
Hack to prevent ALSA from using mmap() interface to simplify emulation.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/mmap.c | 14 ++++++++++++++
|
||||
1 files changed, 14 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
|
||||
index 144fb7c..1ea202b 100644
|
||||
--- a/linux-user/mmap.c
|
||||
+++ b/linux-user/mmap.c
|
||||
@@ -328,6 +328,9 @@ abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
|
||||
return h2g(ptr);
|
||||
}
|
||||
|
||||
+#define SNDRV_PCM_MMAP_OFFSET_STATUS 0x80000000
|
||||
+#define SNDRV_PCM_MMAP_OFFSET_CONTROL 0x81000000
|
||||
+
|
||||
/* NOTE: all the constants are the HOST ones */
|
||||
abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
|
||||
int flags, int fd, abi_ulong offset)
|
||||
@@ -363,6 +366,17 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
|
||||
}
|
||||
#endif
|
||||
|
||||
+ /* Alsa tries to communcate with the kernel via mmap. This usually
|
||||
+ * is a good idea when user- and kernelspace are running on the
|
||||
+ * same architecture but does not work out when not. To make alsa
|
||||
+ * not to use mmap, we can just have it fail on the mmap calls that
|
||||
+ * would initiate this.
|
||||
+ */
|
||||
+ if(offset == SNDRV_PCM_MMAP_OFFSET_STATUS || offset == SNDRV_PCM_MMAP_OFFSET_CONTROL) {
|
||||
+ errno = EINVAL;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
if (offset & ~TARGET_PAGE_MASK) {
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,26 @@
|
||||
From fdeb1b8a61335d7c8537725cd1d7997053ce1d27 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:25:41 +0200
|
||||
Subject: [PATCH 06/16] qemu-cvs-gettimeofday
|
||||
|
||||
No clue what this is for.
|
||||
---
|
||||
linux-user/syscall.c | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index e38552c..63eef34 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -5101,6 +5101,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
case TARGET_NR_gettimeofday:
|
||||
{
|
||||
struct timeval tv;
|
||||
+ if(copy_from_user_timeval(&tv, arg1))
|
||||
+ goto efault;
|
||||
ret = get_errno(gettimeofday(&tv, NULL));
|
||||
if (!is_error(ret)) {
|
||||
if (copy_to_user_timeval(arg1, &tv))
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 6d88562dea1c1e0ae1367b89353a546c0e725513 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:26:33 +0200
|
||||
Subject: [PATCH 07/16] qemu-cvs-ioctl_debug
|
||||
|
||||
Extends unsupported ioctl debug output.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 7 ++++++-
|
||||
1 files changed, 6 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 63eef34..1540e77 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -2896,7 +2896,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
ie = ioctl_entries;
|
||||
for(;;) {
|
||||
if (ie->target_cmd == 0) {
|
||||
- gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
|
||||
+ int i;
|
||||
+ gemu_log("Unsupported ioctl: cmd=0x%04lx (%x)\n", (unsigned long)cmd, (unsigned int)(cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
|
||||
+ for(i=0;ioctl_entries[i].target_cmd;i++) {
|
||||
+ if((ioctl_entries[i].target_cmd & ~(TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) == (cmd & ~(TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)))
|
||||
+ gemu_log("%p\t->\t%s (%x)\n", (void *)(unsigned long)ioctl_entries[i].host_cmd, ioctl_entries[i].name, (ioctl_entries[i].target_cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
|
||||
+ }
|
||||
return -TARGET_ENOSYS;
|
||||
}
|
||||
if (ie->target_cmd == cmd)
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 8fdbbf0d63c4de94c308c165283d7ea57f1cbf60 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:27:36 +0200
|
||||
Subject: [PATCH 08/16] qemu-cvs-ioctl_nodirection
|
||||
|
||||
the direction given in the ioctl should be correct so we can assume the
|
||||
communication is uni-directional. The alsa developers did not like this
|
||||
concept though and declared ioctls IOC_R and IOC_W even though they were
|
||||
IOC_RW.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 6 ++++++
|
||||
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 1540e77..3f810c3 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -2926,6 +2926,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
arg_type++;
|
||||
target_size = thunk_type_size(arg_type, 0);
|
||||
switch(ie->access) {
|
||||
+ /* FIXME: actually the direction given in the ioctl should be
|
||||
+ * correct so we can assume the communication is uni-directional.
|
||||
+ * The alsa developers did not like this concept though and
|
||||
+ * declared ioctls IOC_R and IOC_W even though they were IOC_RW.*/
|
||||
+/*
|
||||
case IOC_R:
|
||||
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
||||
if (!is_error(ret)) {
|
||||
@@ -2944,6 +2949,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
|
||||
unlock_user(argptr, arg, 0);
|
||||
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
|
||||
break;
|
||||
+*/
|
||||
default:
|
||||
case IOC_RW:
|
||||
argptr = lock_user(VERIFY_READ, arg, target_size, 1);
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,56 @@
|
||||
From a6f58c0e024cda6f06d788f6d03b699c8c736fdf Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:30:16 +0200
|
||||
Subject: [PATCH 09/16] qemu-cvs-sched_getaffinity
|
||||
|
||||
Implements sched_getaffinity syscall.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/syscall.c | 16 ++++++++++++++++
|
||||
1 files changed, 16 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 3f810c3..a74869e 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -156,6 +156,7 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, \
|
||||
}
|
||||
|
||||
|
||||
+#define __NR_sys_sched_getaffinity __NR_sched_getaffinity
|
||||
#define __NR_sys_uname __NR_uname
|
||||
#define __NR_sys_faccessat __NR_faccessat
|
||||
#define __NR_sys_fchmodat __NR_fchmodat
|
||||
@@ -215,6 +216,9 @@ _syscall3(int,sys_tgkill,int,tgid,int,pid,int,sig)
|
||||
#if defined(TARGET_NR_tkill) && defined(__NR_tkill)
|
||||
_syscall2(int,sys_tkill,int,tid,int,sig)
|
||||
#endif
|
||||
+#ifdef __NR_sys_sched_getaffinity
|
||||
+_syscall3(int,sys_sched_getaffinity,pid_t,pid,unsigned int,cpusetsize,void*,mask)
|
||||
+#endif
|
||||
#ifdef __NR_exit_group
|
||||
_syscall1(int,exit_group,int,error_code)
|
||||
#endif
|
||||
@@ -7045,6 +7049,18 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
ret = get_errno(fallocate(arg1, arg2, arg3, arg4));
|
||||
break;
|
||||
#endif
|
||||
+
|
||||
+#ifdef TARGET_NR_sched_getaffinity
|
||||
+ case TARGET_NR_sched_getaffinity:
|
||||
+ {
|
||||
+ cpu_set_t *mask;
|
||||
+ lock_user_struct(VERIFY_READ, mask, arg3, 1);
|
||||
+ ret = get_errno(sys_sched_getaffinity((pid_t)arg1, (unsigned int)arg2, mask));
|
||||
+ unlock_user_struct(mask, arg3, 0);
|
||||
+ break;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
default:
|
||||
unimplemented:
|
||||
gemu_log("qemu: Unsupported syscall: %d\n", num);
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,41 @@
|
||||
From b22d5f62f9765ec734d7b14886d7aed5b61acf8b Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:34:05 +0200
|
||||
Subject: [PATCH 10/16] qemu-cvs-mmap-amd64
|
||||
|
||||
Map stuff to address space < 4GB on AMD64. This patch got continually smaller
|
||||
as most cases were this was an issue were dealt with in other ways. May
|
||||
already be fully obsolete.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
linux-user/mmap.c | 6 +++++-
|
||||
1 files changed, 5 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
|
||||
index 1ea202b..74b0d4b 100644
|
||||
--- a/linux-user/mmap.c
|
||||
+++ b/linux-user/mmap.c
|
||||
@@ -31,6 +31,10 @@
|
||||
#include "qemu.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
+#if !defined(MAP_32BIT)
|
||||
+#define MAP_32BIT 0
|
||||
+#endif
|
||||
+
|
||||
//#define DEBUG_MMAP
|
||||
|
||||
#if defined(CONFIG_USE_NPTL)
|
||||
@@ -230,7 +234,7 @@ static int mmap_frag(abi_ulong real_start,
|
||||
if (prot1 == 0) {
|
||||
/* no page was there, so we allocate one */
|
||||
void *p = mmap(host_start, qemu_host_page_size, prot,
|
||||
- flags | MAP_ANONYMOUS, -1, 0);
|
||||
+ flags | MAP_ANONYMOUS | MAP_32BIT, -1, 0);
|
||||
if (p == MAP_FAILED)
|
||||
return -1;
|
||||
prot1 = prot;
|
||||
--
|
||||
1.6.4.2
|
||||
|
142
app-emulation/qemu/files/0.12.4/0011-qemu-img-vmdk-scsi.patch
Normal file
142
app-emulation/qemu/files/0.12.4/0011-qemu-img-vmdk-scsi.patch
Normal file
@ -0,0 +1,142 @@
|
||||
From afdac5e4c878653b9f4a038bebdcf98a01397a39 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:37:42 +0200
|
||||
Subject: [PATCH 11/16] qemu-img-vmdk-scsi
|
||||
|
||||
Support creation of SCSI VMDK images in qemu-img.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
block/vmdk.c | 5 +++--
|
||||
block_int.h | 1 +
|
||||
qemu-img-cmds.hx | 8 ++++----
|
||||
qemu-img.c | 15 +++++++++++++--
|
||||
4 files changed, 21 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/block/vmdk.c b/block/vmdk.c
|
||||
index 4e48622..b7a15c7 100644
|
||||
--- a/block/vmdk.c
|
||||
+++ b/block/vmdk.c
|
||||
@@ -710,7 +710,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
"ddb.geometry.cylinders = \"%" PRId64 "\"\n"
|
||||
"ddb.geometry.heads = \"16\"\n"
|
||||
"ddb.geometry.sectors = \"63\"\n"
|
||||
- "ddb.adapterType = \"ide\"\n";
|
||||
+ "ddb.adapterType = \"%s\"\n";
|
||||
char desc[1024];
|
||||
const char *real_filename, *temp_str;
|
||||
int64_t total_size = 0;
|
||||
@@ -800,7 +800,8 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options)
|
||||
snprintf(desc, sizeof(desc), desc_template, (unsigned int)time(NULL),
|
||||
total_size, real_filename,
|
||||
(flags & BLOCK_FLAG_COMPAT6 ? 6 : 4),
|
||||
- total_size / (int64_t)(63 * 16));
|
||||
+ total_size / (int64_t)(63 * 16),
|
||||
+ flags & BLOCK_FLAG_SCSI ? "lsilogic" : "ide");
|
||||
|
||||
/* write the descriptor */
|
||||
lseek(fd, le64_to_cpu(header.desc_offset) << 9, SEEK_SET);
|
||||
diff --git a/block_int.h b/block_int.h
|
||||
index 9a3b2e0..85e8a72 100644
|
||||
--- a/block_int.h
|
||||
+++ b/block_int.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#define BLOCK_FLAG_ENCRYPT 1
|
||||
#define BLOCK_FLAG_COMPRESS 2
|
||||
#define BLOCK_FLAG_COMPAT6 4
|
||||
+#define BLOCK_FLAG_SCSI 8
|
||||
|
||||
#define BLOCK_OPT_SIZE "size"
|
||||
#define BLOCK_OPT_ENCRYPT "encryption"
|
||||
diff --git a/qemu-img-cmds.hx b/qemu-img-cmds.hx
|
||||
index 641bd87..949ae97 100644
|
||||
--- a/qemu-img-cmds.hx
|
||||
+++ b/qemu-img-cmds.hx
|
||||
@@ -16,9 +16,9 @@ STEXI
|
||||
ETEXI
|
||||
|
||||
DEF("create", img_create,
|
||||
- "create [-f fmt] [-o options] filename [size]")
|
||||
+ "create [-s] [-f fmt] [-o options] filename [size]")
|
||||
STEXI
|
||||
-@item create [-f @var{fmt}] [-o @var{options}] @var{filename} [@var{size}]
|
||||
+@item create [-s] [-f @var{fmt}] [-o @var{options}] @var{filename} [@var{size}]
|
||||
ETEXI
|
||||
|
||||
DEF("commit", img_commit,
|
||||
@@ -28,9 +28,9 @@ STEXI
|
||||
ETEXI
|
||||
|
||||
DEF("convert", img_convert,
|
||||
- "convert [-c] [-f fmt] [-O output_fmt] [-o options] filename [filename2 [...]] output_filename")
|
||||
+ "convert [-c] [-s] [-f fmt] [-O output_fmt] [-o options] filename [filename2 [...]] output_filename")
|
||||
STEXI
|
||||
-@item convert [-c] [-f @var{fmt}] [-O @var{output_fmt}] [-o @var{options}] @var{filename} [@var{filename2} [...]] @var{output_filename}
|
||||
+@item convert [-c] [-s] [-f @var{fmt}] [-O @var{output_fmt}] [-o @var{options}] @var{filename} [@var{filename2} [...]] @var{output_filename}
|
||||
ETEXI
|
||||
|
||||
DEF("info", img_info,
|
||||
diff --git a/qemu-img.c b/qemu-img.c
|
||||
index 2824178..4b6663f 100644
|
||||
--- a/qemu-img.c
|
||||
+++ b/qemu-img.c
|
||||
@@ -253,7 +253,7 @@ static int img_create(int argc, char **argv)
|
||||
|
||||
flags = 0;
|
||||
for(;;) {
|
||||
- c = getopt(argc, argv, "F:b:f:he6o:");
|
||||
+ c = getopt(argc, argv, "F:b:f:hes6o:");
|
||||
if (c == -1)
|
||||
break;
|
||||
switch(c) {
|
||||
@@ -272,6 +272,9 @@ static int img_create(int argc, char **argv)
|
||||
case 'e':
|
||||
flags |= BLOCK_FLAG_ENCRYPT;
|
||||
break;
|
||||
+ case 's':
|
||||
+ flags |= BLOCK_FLAG_SCSI;
|
||||
+ break;
|
||||
case '6':
|
||||
flags |= BLOCK_FLAG_COMPAT6;
|
||||
break;
|
||||
@@ -354,6 +357,8 @@ static int img_create(int argc, char **argv)
|
||||
|
||||
printf("Formatting '%s', fmt=%s ", filename, fmt);
|
||||
print_option_parameters(param);
|
||||
+ if (flags & BLOCK_FLAG_SCSI)
|
||||
+ printf(", SCSI");
|
||||
puts("");
|
||||
|
||||
ret = bdrv_create(drv, filename, param);
|
||||
@@ -548,7 +553,7 @@ static int img_convert(int argc, char **argv)
|
||||
out_baseimg = NULL;
|
||||
flags = 0;
|
||||
for(;;) {
|
||||
- c = getopt(argc, argv, "f:O:B:hce6o:");
|
||||
+ c = getopt(argc, argv, "f:O:B:hces6o:");
|
||||
if (c == -1)
|
||||
break;
|
||||
switch(c) {
|
||||
@@ -570,6 +575,9 @@ static int img_convert(int argc, char **argv)
|
||||
case 'e':
|
||||
flags |= BLOCK_FLAG_ENCRYPT;
|
||||
break;
|
||||
+ case 's':
|
||||
+ flags |= BLOCK_FLAG_SCSI;
|
||||
+ break;
|
||||
case '6':
|
||||
flags |= BLOCK_FLAG_COMPAT6;
|
||||
break;
|
||||
@@ -637,6 +645,9 @@ static int img_convert(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
+ if (flags & BLOCK_FLAG_SCSI && strcmp(drv->format_name, "vmdk"))
|
||||
+ error("SCSI devices not supported for this file format");
|
||||
+
|
||||
/* Create the new image */
|
||||
ret = bdrv_create(drv, out_filename, param);
|
||||
free_option_parameters(param);
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,40 @@
|
||||
From 44ce0d8cef307cd7b6e82242f896559916886f30 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Tue, 14 Apr 2009 16:38:20 +0200
|
||||
Subject: [PATCH 12/16] qemu-nonvoid_return
|
||||
|
||||
Squelches GCC warnings about undefined return values.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
hw/mpcore.c | 1 +
|
||||
target-m68k/translate.c | 1 +
|
||||
2 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/hw/mpcore.c b/hw/mpcore.c
|
||||
index b4db191..ef0c705 100644
|
||||
--- a/hw/mpcore.c
|
||||
+++ b/hw/mpcore.c
|
||||
@@ -104,6 +104,7 @@ static uint32_t mpcore_timer_read(mpcore_timer_state *s, int offset)
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static void mpcore_timer_write(mpcore_timer_state *s, int offset,
|
||||
diff --git a/target-m68k/translate.c b/target-m68k/translate.c
|
||||
index 99cf6dd..18875d9 100644
|
||||
--- a/target-m68k/translate.c
|
||||
+++ b/target-m68k/translate.c
|
||||
@@ -440,6 +440,7 @@ static inline int opsize_bytes(int opsize)
|
||||
qemu_assert(0, "bad operand size");
|
||||
return 0;
|
||||
}
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
/* Assign value to a register. If the width is less than the register width
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,64 @@
|
||||
From b7c83887c1c86140ffaab86d4d1fca5a81e86c2d Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Thu, 16 Apr 2009 15:14:12 +0200
|
||||
Subject: [PATCH 13/16] i386-linux-user NPTL support
|
||||
|
||||
Makes NPTL binaries run by implementing TLS.
|
||||
|
||||
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
||||
---
|
||||
configure | 1 +
|
||||
linux-user/syscall.c | 16 ++++++++++++++--
|
||||
2 files changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 5f463b0..0ec7ff0 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2283,6 +2283,7 @@ TARGET_ABI_DIR=""
|
||||
case "$target_arch2" in
|
||||
i386)
|
||||
target_phys_bits=32
|
||||
+ target_nptl="yes"
|
||||
;;
|
||||
x86_64)
|
||||
TARGET_BASE_ARCH=i386
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index a74869e..ec67a14 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -3584,8 +3584,14 @@ static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp,
|
||||
ts->child_tidptr = child_tidptr;
|
||||
}
|
||||
|
||||
- if (nptl_flags & CLONE_SETTLS)
|
||||
+ if (nptl_flags & CLONE_SETTLS) {
|
||||
+#if defined(TARGET_I386) && defined(TARGET_ABI32)
|
||||
+ do_set_thread_area(new_env, newtls);
|
||||
+ cpu_x86_load_seg(new_env, R_GS, new_env->segs[R_GS].selector);
|
||||
+#else
|
||||
cpu_set_tls (new_env, newtls);
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
/* Grab a mutex so that thread setup appears atomic. */
|
||||
pthread_mutex_lock(&clone_lock);
|
||||
@@ -3657,8 +3663,14 @@ static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp,
|
||||
if (flags & CLONE_PARENT_SETTID)
|
||||
put_user_u32(gettid(), parent_tidptr);
|
||||
ts = (TaskState *)env->opaque;
|
||||
- if (flags & CLONE_SETTLS)
|
||||
+ if (flags & CLONE_SETTLS) {
|
||||
+#if defined(TARGET_I386) && defined(TARGET_ABI32)
|
||||
+ do_set_thread_area(env, newtls);
|
||||
+ cpu_x86_load_seg(env, R_GS, env->segs[R_GS].selector);
|
||||
+#else
|
||||
cpu_set_tls (env, newtls);
|
||||
+#endif
|
||||
+ }
|
||||
if (flags & CLONE_CHILD_CLEARTID)
|
||||
ts->child_tidptr = child_tidptr;
|
||||
#endif
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 7c670471903f85dfbcbfce2a7b7829bd08559c3c Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Wed, 17 Jun 2009 14:54:48 +0200
|
||||
Subject: [PATCH 14/16] qemu-0.11-git-ioctl_mount
|
||||
|
||||
---
|
||||
linux-user/ioctls.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
|
||||
index fca824c..2cec892 100644
|
||||
--- a/linux-user/ioctls.h
|
||||
+++ b/linux-user/ioctls.h
|
||||
@@ -313,7 +313,7 @@
|
||||
IOCTL(LOOP_CLR_FD, 0, TYPE_INT)
|
||||
IOCTL(LOOP_SET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info)))
|
||||
IOCTL(LOOP_GET_STATUS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info)))
|
||||
-#if 0 /* These have some problems - not fully tested */
|
||||
+#if 1 /* These have some problems - not fully tested */
|
||||
IOCTL(LOOP_SET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
|
||||
IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
|
||||
#endif
|
||||
--
|
||||
1.6.4.2
|
||||
|
@ -0,0 +1,116 @@
|
||||
From 7871becde1196cc4d89b1e27de4e03858ef8f265 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Hecht <uli@suse.de>
|
||||
Date: Wed, 17 Jun 2009 15:08:38 +0200
|
||||
Subject: [PATCH 15/16] qemu-0.11-git-user-linux-ppc-uid16_fix
|
||||
|
||||
---
|
||||
linux-user/ppc/syscall_nr.h | 30 +++++++++++++++---------------
|
||||
linux-user/syscall_defs.h | 2 +-
|
||||
2 files changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/linux-user/ppc/syscall_nr.h b/linux-user/ppc/syscall_nr.h
|
||||
index f54276b..cc84a4c 100644
|
||||
--- a/linux-user/ppc/syscall_nr.h
|
||||
+++ b/linux-user/ppc/syscall_nr.h
|
||||
@@ -17,15 +17,15 @@
|
||||
#define TARGET_NR_time 13
|
||||
#define TARGET_NR_mknod 14
|
||||
#define TARGET_NR_chmod 15
|
||||
-#define TARGET_NR_lchown32 16
|
||||
+#define TARGET_NR_lchown 16
|
||||
#define TARGET_NR_break 17
|
||||
#define TARGET_NR_oldstat 18
|
||||
#define TARGET_NR_lseek 19
|
||||
#define TARGET_NR_getpid 20
|
||||
#define TARGET_NR_mount 21
|
||||
#define TARGET_NR_umount 22
|
||||
-#define TARGET_NR_setuid32 23
|
||||
-#define TARGET_NR_getuid32 24
|
||||
+#define TARGET_NR_setuid 23
|
||||
+#define TARGET_NR_getuid 24
|
||||
#define TARGET_NR_stime 25
|
||||
#define TARGET_NR_ptrace 26
|
||||
#define TARGET_NR_alarm 27
|
||||
@@ -47,11 +47,11 @@
|
||||
#define TARGET_NR_times 43
|
||||
#define TARGET_NR_prof 44
|
||||
#define TARGET_NR_brk 45
|
||||
-#define TARGET_NR_setgid32 46
|
||||
-#define TARGET_NR_getgid32 47
|
||||
+#define TARGET_NR_setgid 46
|
||||
+#define TARGET_NR_getgid 47
|
||||
#define TARGET_NR_signal 48
|
||||
-#define TARGET_NR_geteuid32 49
|
||||
-#define TARGET_NR_getegid32 50
|
||||
+#define TARGET_NR_geteuid 49
|
||||
+#define TARGET_NR_getegid 50
|
||||
#define TARGET_NR_acct 51
|
||||
#define TARGET_NR_umount2 52
|
||||
#define TARGET_NR_lock 53
|
||||
@@ -71,8 +71,8 @@
|
||||
#define TARGET_NR_sigaction 67
|
||||
#define TARGET_NR_sgetmask 68
|
||||
#define TARGET_NR_ssetmask 69
|
||||
-#define TARGET_NR_setreuid32 70
|
||||
-#define TARGET_NR_setregid32 71
|
||||
+#define TARGET_NR_setreuid 70
|
||||
+#define TARGET_NR_setregid 71
|
||||
#define TARGET_NR_sigsuspend 72
|
||||
#define TARGET_NR_sigpending 73
|
||||
#define TARGET_NR_sethostname 74
|
||||
@@ -81,8 +81,8 @@
|
||||
#define TARGET_NR_getrusage 77
|
||||
#define TARGET_NR_gettimeofday 78
|
||||
#define TARGET_NR_settimeofday 79
|
||||
-#define TARGET_NR_getgroups32 80
|
||||
-#define TARGET_NR_setgroups32 81
|
||||
+#define TARGET_NR_getgroups 80
|
||||
+#define TARGET_NR_setgroups 81
|
||||
#define TARGET_NR_select 82
|
||||
#define TARGET_NR_symlink 83
|
||||
#define TARGET_NR_oldlstat 84
|
||||
@@ -96,7 +96,7 @@
|
||||
#define TARGET_NR_truncate 92
|
||||
#define TARGET_NR_ftruncate 93
|
||||
#define TARGET_NR_fchmod 94
|
||||
-#define TARGET_NR_fchown32 95
|
||||
+#define TARGET_NR_fchown 95
|
||||
#define TARGET_NR_getpriority 96
|
||||
#define TARGET_NR_setpriority 97
|
||||
#define TARGET_NR_profil 98
|
||||
@@ -139,8 +139,8 @@
|
||||
#define TARGET_NR_sysfs 135
|
||||
#define TARGET_NR_personality 136
|
||||
#define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */
|
||||
-#define TARGET_NR_setfsuid32 138
|
||||
-#define TARGET_NR_setfsgid32 139
|
||||
+#define TARGET_NR_setfsuid 138
|
||||
+#define TARGET_NR_setfsgid 139
|
||||
#define TARGET_NR__llseek 140
|
||||
#define TARGET_NR_getdents 141
|
||||
#define TARGET_NR__newselect 142
|
||||
@@ -182,7 +182,7 @@
|
||||
#define TARGET_NR_rt_sigsuspend 178
|
||||
#define TARGET_NR_pread64 179
|
||||
#define TARGET_NR_pwrite64 180
|
||||
-#define TARGET_NR_chown32 181
|
||||
+#define TARGET_NR_chown 181
|
||||
#define TARGET_NR_getcwd 182
|
||||
#define TARGET_NR_capget 183
|
||||
#define TARGET_NR_capset 184
|
||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
||||
index 77ae416..e734fec 100644
|
||||
--- a/linux-user/syscall_defs.h
|
||||
+++ b/linux-user/syscall_defs.h
|
||||
@@ -49,7 +49,7 @@
|
||||
#define TARGET_IOC_TYPEBITS 8
|
||||
|
||||
#if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) \
|
||||
- || defined(TARGET_M68K) || defined(TARGET_SH4) || defined(TARGET_CRIS)
|
||||
+ || defined(TARGET_M68K) || defined(TARGET_SH4) || defined(TARGET_CRIS) || defined(TARGET_PPC)
|
||||
/* 16 bit uid wrappers emulation */
|
||||
#define USE_UID16
|
||||
#endif
|
||||
--
|
||||
1.6.4.2
|
||||
|
7699
app-emulation/qemu/files/0.12.4/0016-S-390-support.patch
Normal file
7699
app-emulation/qemu/files/0.12.4/0016-S-390-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@ SRC_URI="http://download.savannah.gnu.org/releases/qemu/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="alsa bluetooth esd gnutls ncurses pulseaudio sasl +sdl vde kvm static"
|
||||
IUSE="alsa bluetooth esd gnutls ncurses pulseaudio sasl +sdl vde kvm static kqemu "
|
||||
|
||||
COMMON_TARGETS="i386 x86_64 arm cris m68k mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc"
|
||||
|
||||
@ -41,8 +41,8 @@ RDEPEND="!app-emulation/qemu-softmmu
|
||||
sdl? ( >=media-libs/libsdl-1.2.11 )
|
||||
vde? ( net-misc/vde )
|
||||
kvm? ( >=sys-kernel/linux-headers-2.6.29 )
|
||||
bluetooth? ( net-wireless/bluez )"
|
||||
# kqemu? ( >=app-emulation/kqemu-1.4.0_pre1 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
kqemu? ( >=app-emulation/kqemu-1.4.0_pre1 )"
|
||||
# fdt? ( sys-apps/dtc )
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
@ -91,7 +91,7 @@ src_configure() {
|
||||
use sdl || conf_opts="$conf_opts --disable-sdl"
|
||||
use vde || conf_opts="$conf_opts --disable-vde"
|
||||
use bluetooth || conf_opts="$conf_opts --disable-bluez"
|
||||
# use kqemu || conf_opts="$conf_opts --disable-kqemu"
|
||||
use kqemu || conf_opts="$conf_opts --disable-kqemu"
|
||||
use kvm || conf_opts="$conf_opts --disable-kvm"
|
||||
|
||||
audio_opts="oss"
|
||||
|
155
app-emulation/qemu/qemu-0.12.5.ebuild
Normal file
155
app-emulation/qemu/qemu-0.12.5.ebuild
Normal file
@ -0,0 +1,155 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-0.11.1.ebuild,v 1.2 2010/01/05 23:58:40 flameeyes Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs linux-info
|
||||
|
||||
DESCRIPTION="QEMU emulator and ABI wrapper"
|
||||
HOMEPAGE="http://www.qemu.org"
|
||||
SRC_URI="http://download.savannah.gnu.org/releases/qemu/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="alsa bluetooth esd gnutls ncurses pulseaudio sasl +sdl vde kvm static aio"
|
||||
|
||||
COMMON_TARGETS="i386 x86_64 arm cris m68k mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc"
|
||||
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} ppcemb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} alpha armeb ppc64abi32 sparc64 sparc32plus"
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} +qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} +qemu_user_targets_${target}"
|
||||
done
|
||||
|
||||
RDEPEND="!app-emulation/qemu-softmmu
|
||||
!app-emulation/qemu-user
|
||||
!<app-emulation/qemu-0.10.3
|
||||
sys-libs/zlib
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
esd? ( media-sound/esound )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
gnutls? ( net-libs/gnutls )
|
||||
ncurses? ( sys-libs/ncurses )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
sdl? ( >=media-libs/libsdl-1.2.11 )
|
||||
vde? ( net-misc/vde )
|
||||
kvm? ( >=sys-kernel/linux-headers-2.6.29 )
|
||||
bluetooth? ( net-wireless/bluez )"
|
||||
# kqemu? ( >=app-emulation/kqemu-1.4.0_pre1 )
|
||||
# fdt? ( sys-apps/dtc )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
gnutls? ( dev-util/pkgconfig )
|
||||
app-text/texi2html"
|
||||
|
||||
src_prepare() {
|
||||
# avoid fdt till an updated release appears
|
||||
sed -i -e 's:fdt="yes":fdt="no":' configure
|
||||
# prevent docs to get automatically installed
|
||||
sed -i '/$(DESTDIR)$(docdir)/d' Makefile
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target tests/Makefile
|
||||
[[ -x /sbin/paxctl ]] && \
|
||||
sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \
|
||||
Makefile.target
|
||||
# Append CFLAGS while linking
|
||||
sed -i 's/$(LDFLAGS)/$(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS)/' rules.mak
|
||||
epatch "${FILESDIR}/qemu-0.11.0-mips64-user-fix.patch"
|
||||
epatch "${FILESDIR}/qemu-chroot.patch"
|
||||
EPATCH_SOURCE="${FILESDIR}/0.12.4" EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" epatch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycc conf_opts audio_opts softmmu_targets user_targets target_list
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets} ${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets} ${target}-linux-user"
|
||||
done
|
||||
|
||||
conf_opts="--disable-darwin-user --disable-bsd-user --disable-strip"
|
||||
|
||||
if test ! -z "${softmmu_targets}" ; then
|
||||
einfo "Building following softmmu targets: ${softmmu_targets}"
|
||||
use gnutls || conf_opts="$conf_opts --disable-vnc-tls"
|
||||
use ncurses || conf_opts="$conf_opts --disable-curses"
|
||||
use sasl || conf_opts="$conf_opts --disable-vnc-sasl"
|
||||
use sdl || conf_opts="$conf_opts --disable-sdl"
|
||||
use vde || conf_opts="$conf_opts --disable-vde"
|
||||
use bluetooth || conf_opts="$conf_opts --disable-bluez"
|
||||
# use kqemu || conf_opts="$conf_opts --disable-kqemu"
|
||||
use kvm || conf_opts="$conf_opts --disable-kvm"
|
||||
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa $audio_opts"
|
||||
use esd && audio_opts="esd $audio_opts"
|
||||
use pulseaudio && audio_opts="pa $audio_opts"
|
||||
use sdl && audio_opts="sdl $audio_opts"
|
||||
else
|
||||
einfo "Disabling softmmu emulation (no softmmu targets specified)"
|
||||
conf_opts="$conf_opts --disable-system --disable-vnc-tls \
|
||||
--disable-curses --disable-sdl --disable-vde \
|
||||
--disable-kvm"
|
||||
fi
|
||||
|
||||
if test ! -z "${user_targets}" ; then
|
||||
einfo "Building following user targets: ${user_targets}"
|
||||
conf_opts="$conf_opts --enable-linux-user"
|
||||
else
|
||||
einfo "Disabling usermode emulation (no usermode targets specified)"
|
||||
conf_opts="$conf_opts --disable-linux-user"
|
||||
fi
|
||||
|
||||
use fdt || conf_opts="$conf_opts --disable-fdt"
|
||||
use aio || conf_opts="$conf_opts --disable-linux-aio"
|
||||
|
||||
use static && conf_opts="$conf_opts --static"
|
||||
conf_opts="$conf_opts --prefix=/usr"
|
||||
|
||||
target_list="${softmmu_targets} ${user_targets}"
|
||||
|
||||
filter-flags -fPIE
|
||||
|
||||
./configure ${conf_opts} \
|
||||
--audio-drv-list="$audio_opts" \
|
||||
--cc=$(tc-getCC) --host-cc=$(tc-getCC) \
|
||||
--target-list="${target_list}" \
|
||||
|| die "configure failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
exeinto /etc/qemu
|
||||
doexe \
|
||||
"${FILESDIR}/qemu-ifup" \
|
||||
"${FILESDIR}/qemu-ifdown" \
|
||||
|| die "qemu interface scripts failed"
|
||||
|
||||
dodoc Changelog MAINTAINERS TODO pci-ids.txt || die
|
||||
newdoc pc-bios/README README.pc-bios || die
|
||||
dohtml qemu-doc.html qemu-tech.html || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You will need the Universal TUN/TAP driver compiled into your"
|
||||
elog "kernel or loaded as a module to use the virtual network device"
|
||||
elog "if using -net tap. You will also need support for 802.1d"
|
||||
elog "Ethernet Bridging and a configured bridge if using the provided"
|
||||
elog "qemu-ifup script from /etc/qemu."
|
||||
echo
|
||||
}
|
Loading…
Reference in New Issue
Block a user