mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'stefanha/trivial-patches-next' into staging
This commit is contained in:
@@ -78,7 +78,7 @@ version 0.10.2:
|
||||
|
||||
- fix savevm/loadvm (Anthony Liguori)
|
||||
- live migration: fix dirty tracking windows (Glauber Costa)
|
||||
- live migration: improve error propogation (Glauber Costa)
|
||||
- live migration: improve error propagation (Glauber Costa)
|
||||
- qcow2: fix image creation for > ~2TB images (Chris Wright)
|
||||
- hotplug: fix error handling for if= parameter (Eduardo Habkost)
|
||||
- qcow2: fix data corruption (Nolan Leake)
|
||||
@@ -386,7 +386,7 @@ version 0.5.3:
|
||||
- support of CD-ROM change
|
||||
- multiple network interface support
|
||||
- initial x86-64 host support (Gwenole Beauchesne)
|
||||
- lret to outer priviledge fix (OS/2 install fix)
|
||||
- lret to outer privilege fix (OS/2 install fix)
|
||||
- task switch fixes (SkyOS boot)
|
||||
- VM save/restore commands
|
||||
- new timer API
|
||||
|
||||
@@ -6,9 +6,7 @@ The following points clarify the QEMU license:
|
||||
GNU General Public License. Hence each source file contains its own
|
||||
licensing information.
|
||||
|
||||
In particular, the QEMU virtual CPU core library (libqemu.a) is
|
||||
released under the GNU Lesser General Public License. Many hardware
|
||||
device emulation sources are released under the BSD license.
|
||||
Many hardware device emulation sources are released under the BSD license.
|
||||
|
||||
3) The Tiny Code Generator (TCG) is released under the BSD license
|
||||
(see license headers in files).
|
||||
|
||||
+3
-4
@@ -68,10 +68,9 @@ endif
|
||||
fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
|
||||
|
||||
######################################################################
|
||||
# libqemu_common.a: Target independent part of system emulation. The
|
||||
# long term path is to suppress *all* target specific code in case of
|
||||
# system emulation, i.e. a single QEMU executable should support all
|
||||
# CPUs and machines.
|
||||
# Target independent part of system emulation. The long term path is to
|
||||
# suppress *all* target specific code in case of system emulation, i.e. a
|
||||
# single QEMU executable should support all CPUs and machines.
|
||||
|
||||
common-obj-y = $(block-obj-y) blockdev.o
|
||||
common-obj-y += $(net-obj-y)
|
||||
|
||||
@@ -92,8 +92,6 @@ tci-dis.o: QEMU_CFLAGS += -I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/tci
|
||||
|
||||
$(libobj-y): $(GENERATED_HEADERS)
|
||||
|
||||
# libqemu
|
||||
|
||||
translate.o: translate.c cpu.h
|
||||
|
||||
translate-all.o: translate-all.c cpu.h
|
||||
|
||||
+1
-1
@@ -1665,7 +1665,7 @@ static void audio_pp_nb_voices (const char *typ, int nb)
|
||||
printf ("Theoretically supports many %s voices\n", typ);
|
||||
break;
|
||||
default:
|
||||
printf ("Theoretically supports upto %d %s voices\n", nb, typ);
|
||||
printf ("Theoretically supports up to %d %s voices\n", nb, typ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ typedef struct QEMUSnapshotInfo {
|
||||
char id_str[128]; /* unique snapshot id */
|
||||
/* the following fields are informative. They are not needed for
|
||||
the consistency of the snapshot */
|
||||
char name[256]; /* user choosen name */
|
||||
char name[256]; /* user chosen name */
|
||||
uint32_t vm_state_size; /* VM state info size */
|
||||
uint32_t date_sec; /* UTC date of the snapshot */
|
||||
uint32_t date_nsec;
|
||||
|
||||
+2
-2
@@ -189,7 +189,7 @@ static int nbd_read(BlockDriverState *bs, int64_t sector_num,
|
||||
|
||||
request.type = NBD_CMD_READ;
|
||||
request.handle = (uint64_t)(intptr_t)bs;
|
||||
request.from = sector_num * 512;;
|
||||
request.from = sector_num * 512;
|
||||
request.len = nb_sectors * 512;
|
||||
|
||||
if (nbd_send_request(s->sock, &request) == -1)
|
||||
@@ -219,7 +219,7 @@ static int nbd_write(BlockDriverState *bs, int64_t sector_num,
|
||||
|
||||
request.type = NBD_CMD_WRITE;
|
||||
request.handle = (uint64_t)(intptr_t)bs;
|
||||
request.from = sector_num * 512;;
|
||||
request.from = sector_num * 512;
|
||||
request.len = nb_sectors * 512;
|
||||
|
||||
if (nbd_send_request(s->sock, &request) == -1)
|
||||
|
||||
@@ -8,7 +8,7 @@ struct target_pt_regs {
|
||||
abi_ulong r12;
|
||||
abi_ulong rbp;
|
||||
abi_ulong rbx;
|
||||
/* arguments: non interrupts/non tracing syscalls only save upto here*/
|
||||
/* arguments: non interrupts/non tracing syscalls only save up to here */
|
||||
abi_ulong r11;
|
||||
abi_ulong r10;
|
||||
abi_ulong r9;
|
||||
|
||||
@@ -20,6 +20,11 @@ TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"
|
||||
trap "rm -f $TMPC $TMPO $TMPE" EXIT INT QUIT TERM
|
||||
rm -f config.log
|
||||
|
||||
# Print a helpful header at the top of config.log
|
||||
echo "# QEMU configure log $(date)" >> config.log
|
||||
echo "# produced by $0 $*" >> config.log
|
||||
echo "#" >> config.log
|
||||
|
||||
compile_object() {
|
||||
echo $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log
|
||||
$cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log 2>&1
|
||||
@@ -249,7 +254,7 @@ source_path=`cd "$source_path"; pwd`
|
||||
check_define() {
|
||||
cat > $TMPC <<EOF
|
||||
#if !defined($1)
|
||||
#error Not defined
|
||||
#error $1 not defined
|
||||
#endif
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
@@ -3279,6 +3284,22 @@ for d in libdis libdis-user; do
|
||||
echo > $d/config.mak
|
||||
done
|
||||
|
||||
# use included Linux headers
|
||||
if test "$linux" = "yes" ; then
|
||||
mkdir -p linux-headers
|
||||
case "$cpu" in
|
||||
i386|x86_64)
|
||||
symlink $source_path/linux-headers/asm-x86 linux-headers/asm
|
||||
;;
|
||||
ppcemb|ppc|ppc64)
|
||||
symlink $source_path/linux-headers/asm-powerpc linux-headers/asm
|
||||
;;
|
||||
s390x)
|
||||
symlink $source_path/linux-headers/asm-s390 linux-headers/asm
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for target in $target_list; do
|
||||
target_dir="$target"
|
||||
config_target_mak=$target_dir/config-target.mak
|
||||
@@ -3604,6 +3625,10 @@ else
|
||||
fi
|
||||
includes="-I\$(SRC_PATH)/tcg $includes"
|
||||
|
||||
if test "$linux" = "yes" ; then
|
||||
includes="-I\$(SRC_PATH)/linux-headers $includes"
|
||||
fi
|
||||
|
||||
if test "$target_user_only" = "yes" ; then
|
||||
libdis_config_mak=libdis-user/config.mak
|
||||
else
|
||||
@@ -3735,23 +3760,6 @@ if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then
|
||||
esac
|
||||
fi
|
||||
|
||||
# use included Linux headers
|
||||
if test "$linux" = "yes" ; then
|
||||
includes="-I\$(SRC_PATH)/linux-headers $includes"
|
||||
mkdir -p linux-headers
|
||||
case "$cpu" in
|
||||
i386|x86_64)
|
||||
symlink $source_path/linux-headers/asm-x86 linux-headers/asm
|
||||
;;
|
||||
ppcemb|ppc|ppc64)
|
||||
symlink $source_path/linux-headers/asm-powerpc linux-headers/asm
|
||||
;;
|
||||
s390x)
|
||||
symlink $source_path/linux-headers/asm-s390 linux-headers/asm
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo "LDFLAGS+=$ldflags" >> $config_target_mak
|
||||
echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
|
||||
echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
|
||||
|
||||
@@ -1009,16 +1009,17 @@ static void console_putchar(TextConsole *s, int ch)
|
||||
console_clear_xy(s, x, y);
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 'K':
|
||||
switch (s->esc_params[0]) {
|
||||
case 0:
|
||||
/* clear to eol */
|
||||
for(x = s->x; x < s->width; x++) {
|
||||
/* clear to eol */
|
||||
for(x = s->x; x < s->width; x++) {
|
||||
console_clear_xy(s, x, s->y);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
/* clear from beginning of line */
|
||||
for (x = 0; x <= s->x; x++) {
|
||||
@@ -1030,12 +1031,12 @@ static void console_putchar(TextConsole *s, int ch)
|
||||
for(x = 0; x < s->width; x++) {
|
||||
console_clear_xy(s, x, s->y);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 'm':
|
||||
console_handle_escape(s);
|
||||
break;
|
||||
console_handle_escape(s);
|
||||
break;
|
||||
case 'n':
|
||||
/* report cursor position */
|
||||
/* TODO: send ESC[row;colR */
|
||||
@@ -1687,6 +1688,7 @@ PixelFormat qemu_default_pixelformat(int bpp)
|
||||
pf.rbits = 8;
|
||||
pf.gbits = 8;
|
||||
pf.bbits = 8;
|
||||
break;
|
||||
case 32:
|
||||
pf.rmask = 0x00FF0000;
|
||||
pf.gmask = 0x0000FF00;
|
||||
|
||||
@@ -336,7 +336,7 @@ void QEMU_NORETURN cpu_abort(CPUState *env, const char *fmt, ...)
|
||||
GCC_FMT_ATTR(2, 3);
|
||||
extern CPUState *first_cpu;
|
||||
DECLARE_TLS(CPUState *,cpu_single_env);
|
||||
#define cpu_single_env get_tls(cpu_single_env)
|
||||
#define cpu_single_env tls_var(cpu_single_env)
|
||||
|
||||
/* Flags for use in ENV->INTERRUPT_PENDING.
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ TimersState timers_state;
|
||||
int64_t cpu_get_icount(void)
|
||||
{
|
||||
int64_t icount;
|
||||
CPUState *env = cpu_single_env;;
|
||||
CPUState *env = cpu_single_env;
|
||||
|
||||
icount = qemu_icount;
|
||||
if (env) {
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ machine. It attempts to allow modelling of:
|
||||
- ordinary RAM
|
||||
- memory-mapped I/O (MMIO)
|
||||
- memory controllers that can dynamically reroute physical memory regions
|
||||
to different destinations
|
||||
to different destinations
|
||||
|
||||
The memory model provides support for
|
||||
|
||||
@@ -121,7 +121,7 @@ pci (0-2^32-1)
|
||||
|
||||
ram: ram@0x00000000-0xffffffff
|
||||
|
||||
The is a (simplified) PC memory map. The 4GB RAM block is mapped into the
|
||||
This is a (simplified) PC memory map. The 4GB RAM block is mapped into the
|
||||
system address space via two aliases: "lomem" is a 1:1 mapping of the first
|
||||
3.5GB; "himem" maps the last 0.5GB at address 4GB. This leaves 0.5GB for the
|
||||
so-called PCI hole, that allows a 32-bit PCI bus to exist in a system with
|
||||
@@ -164,7 +164,7 @@ various constraints can be supplied to control how these callbacks are called:
|
||||
- .impl.min_access_size, .impl.max_access_size define the access sizes
|
||||
(in bytes) supported by the *implementation*; other access sizes will be
|
||||
emulated using the ones available. For example a 4-byte write will be
|
||||
emulated using four 1-byte write, if .impl.max_access_size = 1.
|
||||
emulated using four 1-byte writes, if .impl.max_access_size = 1.
|
||||
- .impl.valid specifies that the *implementation* only supports unaligned
|
||||
accesses; unaligned accesses will be emulated by two aligned accesses.
|
||||
- .old_portio and .old_mmio can be used to ease porting from code using
|
||||
|
||||
@@ -2678,7 +2678,7 @@ gdb_handlesig (CPUState *env, int sig)
|
||||
}
|
||||
else if (n == 0 || errno != EAGAIN)
|
||||
{
|
||||
/* XXX: Connection closed. Should probably wait for annother
|
||||
/* XXX: Connection closed. Should probably wait for another
|
||||
connection before continuing. */
|
||||
return sig;
|
||||
}
|
||||
|
||||
+1
-1
@@ -915,7 +915,7 @@ ETEXI
|
||||
"<tlb header> = 32bit x 4\n\t\t\t"
|
||||
"<tlb header prefix> = 32bit x 4",
|
||||
.user_print = pcie_aer_inject_error_print,
|
||||
.mhandler.cmd_new = do_pcie_aer_inejct_error,
|
||||
.mhandler.cmd_new = do_pcie_aer_inject_error,
|
||||
},
|
||||
|
||||
STEXI
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@ int v9fs_co_mkdir(V9fsPDU *pdu, V9fsFidState *fidp, V9fsString *name,
|
||||
V9fsState *s = pdu->s;
|
||||
|
||||
if (v9fs_request_cancelled(pdu)) {
|
||||
return -EINTR;;
|
||||
return -EINTR;
|
||||
}
|
||||
cred_init(&cred);
|
||||
cred.fc_mode = mode;
|
||||
@@ -124,7 +124,7 @@ int v9fs_co_opendir(V9fsPDU *pdu, V9fsFidState *fidp)
|
||||
V9fsState *s = pdu->s;
|
||||
|
||||
if (v9fs_request_cancelled(pdu)) {
|
||||
return -EINTR;;
|
||||
return -EINTR;
|
||||
}
|
||||
v9fs_path_read_lock(s);
|
||||
v9fs_co_run_in_worker(
|
||||
@@ -152,7 +152,7 @@ int v9fs_co_closedir(V9fsPDU *pdu, V9fsFidOpenState *fs)
|
||||
V9fsState *s = pdu->s;
|
||||
|
||||
if (v9fs_request_cancelled(pdu)) {
|
||||
return -EINTR;;
|
||||
return -EINTR;
|
||||
}
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
|
||||
@@ -44,7 +44,7 @@ typedef struct V9fsThPool {
|
||||
qemu_coroutine_self()); \
|
||||
qemu_bh_schedule(co_bh); \
|
||||
/* \
|
||||
* yeild in qemu thread and re-enter back \
|
||||
* yield in qemu thread and re-enter back \
|
||||
* in glib worker thread \
|
||||
*/ \
|
||||
qemu_coroutine_yield(); \
|
||||
|
||||
@@ -59,7 +59,7 @@ static inline int open_by_handle(int mountfd, const char *fh, int flags)
|
||||
static int handle_update_file_cred(int dirfd, const char *name, FsCred *credp)
|
||||
{
|
||||
int fd, ret;
|
||||
fd = openat(dirfd, name, O_NONBLOCK | O_NOFOLLOW);;
|
||||
fd = openat(dirfd, name, O_NONBLOCK | O_NOFOLLOW);
|
||||
if (fd < 0) {
|
||||
return fd;
|
||||
}
|
||||
@@ -520,7 +520,7 @@ static int handle_name_to_path(FsContext *ctx, V9fsPath *dir_path,
|
||||
}
|
||||
fh = g_malloc(sizeof(struct file_handle) + data->handle_bytes);
|
||||
fh->handle_bytes = data->handle_bytes;
|
||||
/* add a "./" at the begining of the path */
|
||||
/* add a "./" at the beginning of the path */
|
||||
snprintf(buffer, PATH_MAX, "./%s", name);
|
||||
/* flag = 0 imply don't follow symlink */
|
||||
ret = name_to_handle(dirfd, buffer, fh, &mnt_id, 0);
|
||||
|
||||
+2
-2
@@ -1492,7 +1492,7 @@ static void v9fs_walk(void *opaque)
|
||||
int32_t fid, newfid;
|
||||
V9fsString *wnames = NULL;
|
||||
V9fsFidState *fidp;
|
||||
V9fsFidState *newfidp = NULL;;
|
||||
V9fsFidState *newfidp = NULL;
|
||||
V9fsPDU *pdu = opaque;
|
||||
V9fsState *s = pdu->s;
|
||||
|
||||
@@ -2398,7 +2398,7 @@ static void v9fs_link(void *opaque)
|
||||
V9fsState *s = pdu->s;
|
||||
int32_t dfid, oldfid;
|
||||
V9fsFidState *dfidp, *oldfidp;
|
||||
V9fsString name;;
|
||||
V9fsString name;
|
||||
size_t offset = 7;
|
||||
int err = 0;
|
||||
|
||||
|
||||
@@ -304,7 +304,7 @@ void acpi_pm_tmr_calc_overflow_time(ACPIPMTimer *tmr)
|
||||
|
||||
uint32_t acpi_pm_tmr_get(ACPIPMTimer *tmr)
|
||||
{
|
||||
uint32_t d = acpi_pm_tmr_get_clock();;
|
||||
uint32_t d = acpi_pm_tmr_get_clock();
|
||||
return d & 0xffffff;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user