summaryrefslogtreecommitdiffstats
path: root/osdep.h
Commit message (Collapse)AuthorAgeFilesLines
* w64: Add definition of FMT_pidStefan Weil2011-08-211-0/+2
| | | | | | | | | For mingw-w64, pid_t is _pid_t which is __int64, so this platform needs its own definition of FMT_pid. Reviewed-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Introduce format string for pid_tAndreas Färber2011-06-151-0/+6
| | | | | | | | | | | | | | | | | | | | | BeOS and Haiku on i386 use long for 32-bit types, including pid_t. Using %d with pid_t therefore results in a warning. Unfortunately POSIX:2008 does not define a PRId* string for pid_t. In some places pid_t was previously casted to long and %ld hardcoded. The predecessor of this patch added another upcast for the simpletrace filename but was not applied to date. Since new uses of pid_t with %d keep creeping in, let's instead define an OS-dependent format string and use that consistently. Cc: Stefan Hajnoczi <stefanha@gmail.com> Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Ingo Weinhold <ingo_weinhold@gmx.de> Cc: Gleb Natapov <gleb@redhat.com> Signed-off-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Darwin: Fix compilation warning regarding the deprecated daemon() functionAlexandre Raymond2011-06-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | Changes since v1: create a wrapper function named qemu_daemon() in oslib-posix.c instead of putting the OS specific workaround in qemu-nbd.c directly. On OSX >= 10.5, daemon() is deprecated, resulting in the following warning: ----8<---- qemu-nbd.c: In function ‘main’: qemu-nbd.c:371: warning: ‘daemon’ is deprecated (declared at /usr/include/stdlib.h:289) ----8<---- The following trick, used in mDNSResponder, takes care of this warning: http://www.opensource.apple.com/source/mDNSResponder/mDNSResponder-258.18/mDNSPosix/PosixDaemon.c On OSX, it temporarily renames the daemon() function before including stdlib.h and declares it manually as an extern function. This way, the compiler does not see the declaration from stdlib.h and thus does not display the warning. Signed-off-by: Alexandre Raymond <cerbere@gmail.com> Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
* Merge remote branch 'qemu-kvm/uq/master' into stagingAnthony Liguori2011-03-211-0/+1
|\
| * Expose thread_id in info cpusJan Kiszka2011-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | Based on patch by Glauber Costa: To allow management applications like libvirt to apply CPU affinities to the VCPU threads, expose their ID via info cpus. This patch provides the pre-existing and used interface from qemu-kvm. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
* | win32: implement missing timersubBlue Swirl2011-03-151-2/+17
|/ | | | | | | Implement and wrap timersub() for Win32. Acked-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* bitmap: add a generic bitmap and bitops libraryCorentin Chary2011-02-231-0/+4
| | | | | | | | | | | | | | | | | | Add most used bitmap and bitops functions into bitmap.c and bitops.c. Theses functions are mostly copied from Linux kernel source. Some of these functions are already redefined in the VNC server. Some of them could be used for some block stuff. The yet yo be submitted NUMA work also need bitmaps. bitops_ffsl() and bitops_flsl() are here because bitops/bitmap works on unsigned long, not int, and we can't use current code because: * ffs only works on int * qemu_fls only works on int * ffsl is a GNU extension Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Move qemu_gettimeofday() to OS specific filesJes Sorensen2010-10-301-15/+0
| | | | | Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Introduce qemu_madvise()Andreas Färber2010-09-251-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vl.c has a Sun-specific hack to supply a prototype for madvise(), but the call site has apparently moved to arch_init.c. Haiku doesn't implement madvise() in favor of posix_madvise(). OpenBSD and Solaris 10 don't implement posix_madvise() but madvise(). MinGW implements neither. Check for madvise() and posix_madvise() in configure and supply qemu_madvise() as wrapper. Prefer madvise() over posix_madvise() due to flag availability. Convert all callers to use qemu_madvise() and QEMU_MADV_*. Note that on Solaris the warning is fixed by moving the madvise() prototype, not by qemu_madvise() itself. It helps with porting though, and it simplifies most call sites. v7 -> v8: * Some versions of MinGW have no sys/mman.h header. Reported by Blue Swirl. v6 -> v7: * Adopt madvise() rather than posix_madvise() semantics for returning errors. * Use EINVAL in place of ENOTSUP. v5 -> v6: * Replace two leftover instances of POSIX_MADV_NORMAL with QEMU_MADV_INVALID. Spotted by Blue Swirl. v4 -> v5: * Introduce QEMU_MADV_INVALID, suggested by Alexander Graf. Note that this relies on -1 not being a valid advice value. v3 -> v4: * Eliminate #ifdefs at qemu_advise() call sites. Requested by Blue Swirl. This will currently break the check in kvm-all.c by calling madvise() with a supported flag, which will not fail. Ideas/patches welcome. v2 -> v3: * Reuse the *_MADV_* defines for QEMU_MADV_*. Suggested by Alexander Graf. * Add configure check for madvise(), too. Add defines to Makefile, not QEMU_CFLAGS. Convert all callers, untested. Suggested by Blue Swirl. * Keep Solaris' madvise() prototype around. Pointed out by Alexander Graf. * Display configure check results. v1 -> v2: * Don't rely on posix_madvise() availability, add qemu_madvise(). Suggested by Blue Swirl. Signed-off-by: Andreas Färber <afaerber@opensolaris.org> Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Alexander Graf <agraf@suse.de> Cc: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* win32: Add missing function setenvStefan Weil2010-08-151-0/+2
| | | | | | | | Mingw32 does not provide a declaration and implementation of function setenv (which is used in sdl.c), so this patch adds both. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* qdev: move DO_UPCAST() into osdep.hMark McLoughlin2009-12-031-0/+10
| | | | | | | Nothing qdev specific about this, make it available throughtout. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Fix a Sparse warning about redefinition of offsetof()Blue Swirl2009-09-121-1/+2
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* move useful type definitons to osdep.hJuan Quintela2009-08-271-0/+3
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Replace always_inline with inlineBlue Swirl2009-08-161-5/+2
| | | | | | We define inline as always_inline. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* snapshot subcommand for qemu-img (Kevin Wolf)aliguori2009-01-071-0/+4
| | | | | | | | | | | | Add snapshot subcommand to qemu-img which allows to list, create, apply and delete snapshots on qcow2 images. Signed-off-by: Kevin Wolf <kwolf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6215 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix a typo preventing GNUC builtins usage.balrog2008-12-011-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5842 c046a42c-6fe2-441c-8c8c-71466251a162
* Only force inlining when optimizing.pbrook2008-11-191-0/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5751 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix -linux-user build by reverting r5701aliguori2008-11-111-1/+0
| | | | | | | | | | | | | Unfortunately, -linux-user doesn't use osdep as it replaces some of those functions with specific ones. The code #ifdef code in exec.c needs to remain in place so instead of introducing a qemu_getpagesize() let's just use getpagesize() in the non-Windows implementation of qemu_vmalloc. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5703 c046a42c-6fe2-441c-8c8c-71466251a162
* Define OS-dependent qemu_getpagesize() (Hollis Blanchard)aliguori2008-11-111-0/+1
| | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5701 c046a42c-6fe2-441c-8c8c-71466251a162
* Define macro QEMU_GNUC_PREREQ and use itaurel322008-10-121-0/+7
| | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5467 c046a42c-6fe2-441c-8c8c-71466251a162
* Move offsetof to osdep.h, remove local defintions.balrog2008-09-161-2/+7
| | | | | | | | With this container_of can actually be used without causing build errors. Reformat container_of. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5234 c046a42c-6fe2-441c-8c8c-71466251a162
* add container_of() macro to osdep.h (Gerd Hoffmann)aliguori2008-08-211-0/+4
| | | | | | | | | | | | From linux kernel sources, xen bits will use it, put it into a place where others can see and use it too ;) Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5057 c046a42c-6fe2-441c-8c8c-71466251a162
* Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries)blueswir12008-08-151-0/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5012 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix always_inline definition for Darwin, by Andreas Faerber.ths2008-06-051-1/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4674 c046a42c-6fe2-441c-8c8c-71466251a162
* Remove osdep.c/qemu-img code duplicationaurel322008-04-111-7/+0
| | | | | | | (Kevin Wolf) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4191 c046a42c-6fe2-441c-8c8c-71466251a162
* Remove blank elements in tcg_target_reg_alloc_order[] (Stuart Brady)blueswir12008-03-111-0/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4039 c046a42c-6fe2-441c-8c8c-71466251a162
* use simpler REGPARM convention - make CPUTLBEntry size a power of twobellard2008-01-311-2/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3935 c046a42c-6fe2-441c-8c8c-71466251a162
* Add "cache" parameter to "-drive" (Laurent Vivier).balrog2007-12-241-0/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3848 c046a42c-6fe2-441c-8c8c-71466251a162
* Add missing ffs() declaration for Win32 hosts, by Stefan Weil.balrog2007-12-161-0/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3821 c046a42c-6fe2-441c-8c8c-71466251a162
* Avoid duplicated definitions: move common definitions from exec-all.hj_mayer2007-11-191-0/+38
| | | | | | | | | | | and qemu-common.h to osdep.h. Include this header in translate-op.c. Make sure it's included first in darwin-user/qemu.h. To avoid discarded inlining bug, define inline as always_inline and always_inline as (( attribute (always_inline) )) __inline__. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3698 c046a42c-6fe2-441c-8c8c-71466251a162
* Windows build fixes.pbrook2007-06-071-0/+11
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2959 c046a42c-6fe2-441c-8c8c-71466251a162
* qemu_create_pidfile implementation for Win32, based on a patch byths2007-03-251-0/+2
| | | | | | | Carlos O'Donell. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2540 c046a42c-6fe2-441c-8c8c-71466251a162
* removed unused codebellard2006-08-031-35/+0
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2080 c046a42c-6fe2-441c-8c8c-71466251a162
* removed unused codebellard2006-08-011-3/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2072 c046a42c-6fe2-441c-8c8c-71466251a162
* removed warningbellard2006-06-251-0/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2016 c046a42c-6fe2-441c-8c8c-71466251a162
* shared pages memory allocationbellard2005-02-101-0/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1279 c046a42c-6fe2-441c-8c8c-71466251a162
* use the kernel sigaction syscall to avoid relying on glibc onebellard2004-08-031-0/+23
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1044 c046a42c-6fe2-441c-8c8c-71466251a162
* added qemu_strdup()bellard2004-07-141-0/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1021 c046a42c-6fe2-441c-8c8c-71466251a162
* added qemu_mallocz()bellard2004-03-141-0/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@665 c046a42c-6fe2-441c-8c8c-71466251a162
* added OS dependent functions (temporary as most functions are generic in fact)bellard2004-02-161-0/+25
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@624 c046a42c-6fe2-441c-8c8c-71466251a162
OpenPOWER on IntegriCloud