diff options
author | Thomas Penteker <tek@serverop.de> | 2014-08-28 20:19:58 +0200 |
---|---|---|
committer | Thomas Penteker <tek@serverop.de> | 2014-08-28 20:19:58 +0200 |
commit | ea49ed343ae9e1463da4e94cf0e1ee35bd183f4a (patch) | |
tree | e4a0ce98d05da1997ef440f2bf4e491c63d6cc8b /qemu-all | |
parent | 32c2168e1fa84a3b6ea18524bb33a2f8cfa1572b (diff) | |
download | opt-ea49ed343ae9e1463da4e94cf0e1ee35bd183f4a.tar.gz opt-ea49ed343ae9e1463da4e94cf0e1ee35bd183f4a.tar.xz |
qemu-all: include fix for TRIM passthrough for IDE devices
Diffstat (limited to 'qemu-all')
-rw-r--r-- | qemu-all/.md5sum | 1 | ||||
-rw-r--r-- | qemu-all/Pkgfile | 7 | ||||
-rw-r--r-- | qemu-all/fix-trim-ide.patch | 14 |
3 files changed, 20 insertions, 2 deletions
diff --git a/qemu-all/.md5sum b/qemu-all/.md5sum index 1db3d6de5..132400b10 100644 --- a/qemu-all/.md5sum +++ b/qemu-all/.md5sum @@ -1 +1,2 @@ +4d032f7e42c4f75dc71701f92077a85a fix-trim-ide.patch 6726977292b448cbc7f89998fac6983b qemu-2.1.0.tar.bz2 diff --git a/qemu-all/Pkgfile b/qemu-all/Pkgfile index 9d6401126..106aad0eb 100644 --- a/qemu-all/Pkgfile +++ b/qemu-all/Pkgfile @@ -7,12 +7,15 @@ name=qemu-all version=2.1.0 -release=1 -source=(http://wiki.qemu.org/download/qemu-$version.tar.bz2) +release=2 +source=(http://wiki.qemu.org/download/qemu-$version.tar.bz2 fix-trim-ide.patch) build() { cd qemu-$version + cd $name-$version + # fix TRIM passthrough for IDE devices + patch -p1 -i $SRC/fix-trim-ide.patch ./configure --prefix=/usr \ --cc="${CC:=gcc}" \ diff --git a/qemu-all/fix-trim-ide.patch b/qemu-all/fix-trim-ide.patch new file mode 100644 index 000000000..65714e0ca --- /dev/null +++ b/qemu-all/fix-trim-ide.patch @@ -0,0 +1,14 @@ +diff --git a/hw/ide/core.c b/hw/ide/core.c +index db191a6..7256592 100644 +--- a/hw/ide/core.c ++++ b/hw/ide/core.c +@@ -688,7 +688,8 @@ void ide_dma_cb(void *opaque, int ret) + sector_num, n, s->dma_cmd); + #endif + +- if (!ide_sect_range_ok(s, sector_num, n)) { ++ if ((s->dma_cmd == IDE_DMA_READ || s->dma_cmd == IDE_DMA_WRITE) && ++ !ide_sect_range_ok(s, sector_num, n)) { + dma_buf_commit(s); + ide_dma_error(s); + return; |