version 1.1.1.6, 2018/04/24 18:06:46
|
version 1.1.1.7, 2018/04/24 18:23:52
|
Line 11
|
Line 11
|
#define QEMU_WARN_UNUSED_RESULT |
#define QEMU_WARN_UNUSED_RESULT |
#endif |
#endif |
|
|
|
#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1]; |
|
|
|
typedef struct QEMUTimer QEMUTimer; |
|
typedef struct QEMUFile QEMUFile; |
|
typedef struct QEMUBH QEMUBH; |
|
typedef struct DeviceState DeviceState; |
|
|
/* Hack around the mess dyngen-exec.h causes: We need QEMU_NORETURN in files that |
/* Hack around the mess dyngen-exec.h causes: We need QEMU_NORETURN in files that |
cannot include the following headers without conflicts. This condition has |
cannot include the following headers without conflicts. This condition has |
to be removed once dyngen is gone. */ |
to be removed once dyngen is gone. */ |
Line 20
|
Line 27
|
#include <stdlib.h> |
#include <stdlib.h> |
#include <stdio.h> |
#include <stdio.h> |
#include <stdarg.h> |
#include <stdarg.h> |
|
#include <stdbool.h> |
#include <string.h> |
#include <string.h> |
#include <strings.h> |
#include <strings.h> |
#include <inttypes.h> |
#include <inttypes.h> |
Line 94 static inline char *realpath(const char
|
Line 102 static inline char *realpath(const char
|
#endif /* !defined(NEED_CPU_H) */ |
#endif /* !defined(NEED_CPU_H) */ |
|
|
/* bottom halves */ |
/* bottom halves */ |
typedef struct QEMUBH QEMUBH; |
|
|
|
typedef void QEMUBHFunc(void *opaque); |
typedef void QEMUBHFunc(void *opaque); |
|
|
void async_context_push(void); |
void async_context_push(void); |
Line 130 int qemu_strnlen(const char *s, int max_
|
Line 136 int qemu_strnlen(const char *s, int max_
|
time_t mktimegm(struct tm *tm); |
time_t mktimegm(struct tm *tm); |
int qemu_fls(int i); |
int qemu_fls(int i); |
int qemu_fdatasync(int fd); |
int qemu_fdatasync(int fd); |
|
int fcntl_setfl(int fd, int flag); |
|
|
/* path.c */ |
/* path.c */ |
void init_paths(const char *prefix); |
void init_paths(const char *prefix); |
Line 158 void qemu_free(void *ptr);
|
Line 165 void qemu_free(void *ptr);
|
char *qemu_strdup(const char *str); |
char *qemu_strdup(const char *str); |
char *qemu_strndup(const char *str, size_t size); |
char *qemu_strndup(const char *str, size_t size); |
|
|
void *get_mmap_addr(unsigned long size); |
|
|
|
|
|
void qemu_mutex_lock_iothread(void); |
void qemu_mutex_lock_iothread(void); |
void qemu_mutex_unlock_iothread(void); |
void qemu_mutex_unlock_iothread(void); |
|
|
int qemu_open(const char *name, int flags, ...); |
int qemu_open(const char *name, int flags, ...); |
|
ssize_t qemu_write_full(int fd, const void *buf, size_t count) |
|
QEMU_WARN_UNUSED_RESULT; |
void qemu_set_cloexec(int fd); |
void qemu_set_cloexec(int fd); |
|
|
#ifndef _WIN32 |
#ifndef _WIN32 |
|
int qemu_eventfd(int pipefd[2]); |
int qemu_pipe(int pipefd[2]); |
int qemu_pipe(int pipefd[2]); |
#endif |
#endif |
|
|
Line 178 void QEMU_NORETURN hw_error(const char *
|
Line 185 void QEMU_NORETURN hw_error(const char *
|
|
|
/* IO callbacks. */ |
/* IO callbacks. */ |
typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size); |
typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size); |
typedef int IOCanRWHandler(void *opaque); |
typedef int IOCanReadHandler(void *opaque); |
typedef void IOHandler(void *opaque); |
typedef void IOHandler(void *opaque); |
|
|
struct ParallelIOArg { |
struct ParallelIOArg { |
Line 205 typedef struct CharDriverState CharDrive
|
Line 212 typedef struct CharDriverState CharDrive
|
typedef struct MACAddr MACAddr; |
typedef struct MACAddr MACAddr; |
typedef struct VLANState VLANState; |
typedef struct VLANState VLANState; |
typedef struct VLANClientState VLANClientState; |
typedef struct VLANClientState VLANClientState; |
typedef struct QEMUFile QEMUFile; |
|
typedef struct i2c_bus i2c_bus; |
typedef struct i2c_bus i2c_bus; |
typedef struct i2c_slave i2c_slave; |
typedef struct i2c_slave i2c_slave; |
typedef struct SMBusDevice SMBusDevice; |
typedef struct SMBusDevice SMBusDevice; |
typedef struct QEMUTimer QEMUTimer; |
|
typedef struct PCIHostState PCIHostState; |
typedef struct PCIHostState PCIHostState; |
typedef struct PCIExpressHost PCIExpressHost; |
typedef struct PCIExpressHost PCIExpressHost; |
typedef struct PCIBus PCIBus; |
typedef struct PCIBus PCIBus; |
Line 220 typedef struct PCMCIACardState PCMCIACar
|
Line 225 typedef struct PCMCIACardState PCMCIACar
|
typedef struct MouseTransformInfo MouseTransformInfo; |
typedef struct MouseTransformInfo MouseTransformInfo; |
typedef struct uWireSlave uWireSlave; |
typedef struct uWireSlave uWireSlave; |
typedef struct I2SCodec I2SCodec; |
typedef struct I2SCodec I2SCodec; |
typedef struct DeviceState DeviceState; |
|
typedef struct SSIBus SSIBus; |
typedef struct SSIBus SSIBus; |
|
typedef struct EventNotifier EventNotifier; |
|
typedef struct VirtIODevice VirtIODevice; |
|
|
|
typedef uint64_t pcibus_t; |
|
|
|
void cpu_exec_init_all(unsigned long tb_size); |
|
|
/* CPU save/load. */ |
/* CPU save/load. */ |
void cpu_save(QEMUFile *f, void *opaque); |
void cpu_save(QEMUFile *f, void *opaque); |
Line 237 void qemu_notify_event(void);
|
Line 247 void qemu_notify_event(void);
|
void qemu_cpu_kick(void *env); |
void qemu_cpu_kick(void *env); |
int qemu_cpu_self(void *env); |
int qemu_cpu_self(void *env); |
|
|
|
/* work queue */ |
|
struct qemu_work_item { |
|
struct qemu_work_item *next; |
|
void (*func)(void *data); |
|
void *data; |
|
int done; |
|
}; |
|
|
#ifdef CONFIG_USER_ONLY |
#ifdef CONFIG_USER_ONLY |
#define qemu_init_vcpu(env) do { } while (0) |
#define qemu_init_vcpu(env) do { } while (0) |
#else |
#else |