Revision 414f0dab
b/block-raw-posix.c | ||
---|---|---|
28 | 28 |
#endif |
29 | 29 |
#include "block_int.h" |
30 | 30 |
#include <assert.h> |
31 |
#ifdef CONFIG_AIO |
|
31 | 32 |
#include <aio.h> |
33 |
#endif |
|
32 | 34 |
|
33 | 35 |
#ifdef CONFIG_COCOA |
34 | 36 |
#include <paths.h> |
... | ... | |
418 | 420 |
#endif |
419 | 421 |
|
420 | 422 |
|
423 |
#ifdef CONFIG_AIO |
|
421 | 424 |
/***********************************************************/ |
422 | 425 |
/* Unix AIO using POSIX AIO */ |
423 | 426 |
|
... | ... | |
688 | 691 |
} |
689 | 692 |
} |
690 | 693 |
|
694 |
# else /* CONFIG_AIO */ |
|
695 |
|
|
696 |
void qemu_aio_init(void) |
|
697 |
{ |
|
698 |
} |
|
699 |
|
|
700 |
void qemu_aio_poll(void) |
|
701 |
{ |
|
702 |
} |
|
703 |
|
|
704 |
void qemu_aio_flush(void) |
|
705 |
{ |
|
706 |
} |
|
707 |
|
|
708 |
void qemu_aio_wait_start(void) |
|
709 |
{ |
|
710 |
} |
|
711 |
|
|
712 |
void qemu_aio_wait(void) |
|
713 |
{ |
|
714 |
#if !defined(QEMU_IMG) && !defined(QEMU_NBD) |
|
715 |
qemu_bh_poll(); |
|
716 |
#endif |
|
717 |
} |
|
718 |
|
|
719 |
void qemu_aio_wait_end(void) |
|
720 |
{ |
|
721 |
} |
|
722 |
|
|
723 |
#endif /* CONFIG_AIO */ |
|
724 |
|
|
691 | 725 |
static void raw_close(BlockDriverState *bs) |
692 | 726 |
{ |
693 | 727 |
BDRVRawState *s = bs->opaque; |
... | ... | |
792 | 826 |
raw_create, |
793 | 827 |
raw_flush, |
794 | 828 |
|
829 |
#ifdef CONFIG_AIO |
|
795 | 830 |
.bdrv_aio_read = raw_aio_read, |
796 | 831 |
.bdrv_aio_write = raw_aio_write, |
797 | 832 |
.bdrv_aio_cancel = raw_aio_cancel, |
798 | 833 |
.aiocb_size = sizeof(RawAIOCB), |
834 |
#endif |
|
799 | 835 |
.protocol_name = "file", |
800 | 836 |
.bdrv_pread = raw_pread, |
801 | 837 |
.bdrv_pwrite = raw_pwrite, |
... | ... | |
1144 | 1180 |
NULL, |
1145 | 1181 |
raw_flush, |
1146 | 1182 |
|
1183 |
#ifdef CONFIG_AIO |
|
1147 | 1184 |
.bdrv_aio_read = raw_aio_read, |
1148 | 1185 |
.bdrv_aio_write = raw_aio_write, |
1149 | 1186 |
.bdrv_aio_cancel = raw_aio_cancel, |
1150 | 1187 |
.aiocb_size = sizeof(RawAIOCB), |
1188 |
#endif |
|
1151 | 1189 |
.bdrv_pread = raw_pread, |
1152 | 1190 |
.bdrv_pwrite = raw_pwrite, |
1153 | 1191 |
.bdrv_getlength = raw_getlength, |
b/configure | ||
---|---|---|
106 | 106 |
build_docs="no" |
107 | 107 |
uname_release="" |
108 | 108 |
curses="yes" |
109 |
aio="yes" |
|
109 | 110 |
nptl="yes" |
110 | 111 |
mixemu="no" |
111 | 112 |
|
... | ... | |
334 | 335 |
;; |
335 | 336 |
--enable-mixemu) mixemu="yes" |
336 | 337 |
;; |
338 |
--disable-aio) aio="no" |
|
339 |
;; |
|
337 | 340 |
*) echo "ERROR: unknown option $opt"; show_help="yes" |
338 | 341 |
;; |
339 | 342 |
esac |
... | ... | |
436 | 439 |
echo " --enable-uname-release=R Return R for uname -r in usermode emulation" |
437 | 440 |
echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9" |
438 | 441 |
echo " --disable-vde disable support for vde network" |
442 |
echo " --disable-aio disable AIO support" |
|
439 | 443 |
echo "" |
440 | 444 |
echo "NOTE: The object files are built at the place where configure is launched" |
441 | 445 |
exit 1 |
... | ... | |
863 | 867 |
fi |
864 | 868 |
fi # test "$curses" |
865 | 869 |
|
870 |
########################################## |
|
871 |
# AIO probe |
|
872 |
if test "$aio" = "yes" ; then |
|
873 |
aio=no |
|
874 |
cat > $TMPC << EOF |
|
875 |
#include <aio.h> |
|
876 |
int main(void) { return aio_write(NULL); } |
|
877 |
EOF |
|
878 |
if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then |
|
879 |
aio=yes |
|
880 |
fi |
|
881 |
fi |
|
882 |
|
|
866 | 883 |
# Check if tools are available to build documentation. |
867 | 884 |
if [ -x "`which texi2html 2>/dev/null`" ] && \ |
868 | 885 |
[ -x "`which pod2man 2>/dev/null`" ]; then |
... | ... | |
934 | 951 |
echo "uname -r $uname_release" |
935 | 952 |
echo "NPTL support $nptl" |
936 | 953 |
echo "vde support $vde" |
954 |
echo "AIO support $aio" |
|
937 | 955 |
|
938 | 956 |
if test $sdl_too_old = "yes"; then |
939 | 957 |
echo "-> Your SDL version is too old - please upgrade to have SDL support" |
... | ... | |
1179 | 1197 |
echo "#define CONFIG_BRLAPI 1" >> $config_h |
1180 | 1198 |
echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak |
1181 | 1199 |
fi |
1200 |
if test "$aio" = "yes" ; then |
|
1201 |
echo "#define CONFIG_AIO 1" >> $config_h |
|
1202 |
fi |
|
1182 | 1203 |
|
1183 | 1204 |
# XXX: suppress that |
1184 | 1205 |
if [ "$bsd" = "yes" ] ; then |
Also available in: Unified diff