Merge branch 'trivial-patches' of git://github.com/stefanha/qemu
* 'trivial-patches' of git://github.com/stefanha/qemu: ui/vnc-jobs.c: Fix minor typos in comments net/tap-win32: Fix compiler warning caused by missing include statement configure: Remove unused parameters from main function target-arm/neon_helper: Remove obsolete FIXME comment targphys.h: Don't define target_phys_addr_t for user-mode emulators ui/vnc: Only report/use TIGHT_PNG encoding if enabled.
This commit is contained in:
commit
3e50da6525
4
configure
vendored
4
configure
vendored
|
@ -1323,7 +1323,7 @@ if test -z "$cross_prefix" ; then
|
||||||
# big/little endian test
|
# big/little endian test
|
||||||
cat > $TMPC << EOF
|
cat > $TMPC << EOF
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
int main(int argc, char ** argv){
|
int main(void) {
|
||||||
volatile uint32_t i=0x01234567;
|
volatile uint32_t i=0x01234567;
|
||||||
return (*((uint8_t*)(&i))) == 0x67;
|
return (*((uint8_t*)(&i))) == 0x67;
|
||||||
}
|
}
|
||||||
|
@ -2896,7 +2896,7 @@ static int sfaa(int *ptr)
|
||||||
return __sync_fetch_and_and(ptr, 0);
|
return __sync_fetch_and_and(ptr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(void)
|
||||||
{
|
{
|
||||||
int val = 42;
|
int val = 42;
|
||||||
sfaa(&val);
|
sfaa(&val);
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include "tap.h"
|
#include "tap.h"
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
|
#include "clients.h" /* net_init_tap */
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
#include "qemu-error.h"
|
#include "qemu-error.h"
|
||||||
|
|
|
@ -788,7 +788,6 @@ uint64_t HELPER(neon_qshlu_s64)(CPUARMState *env, uint64_t valop, uint64_t shift
|
||||||
return helper_neon_qshl_u64(env, valop, shiftop);
|
return helper_neon_qshl_u64(env, valop, shiftop);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: This is wrong. */
|
|
||||||
#define NEON_FN(dest, src1, src2) do { \
|
#define NEON_FN(dest, src1, src2) do { \
|
||||||
int8_t tmp; \
|
int8_t tmp; \
|
||||||
tmp = (int8_t)src2; \
|
tmp = (int8_t)src2; \
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
#ifndef TARGPHYS_H
|
#ifndef TARGPHYS_H
|
||||||
#define TARGPHYS_H
|
#define TARGPHYS_H
|
||||||
|
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
|
||||||
#define TARGET_PHYS_ADDR_BITS 64
|
#define TARGET_PHYS_ADDR_BITS 64
|
||||||
/* target_phys_addr_t is the type of a physical address (its size can
|
/* target_phys_addr_t is the type of a physical address (its size can
|
||||||
be different from 'target_ulong'). */
|
be different from 'target_ulong'). */
|
||||||
|
@ -18,3 +20,5 @@ typedef uint64_t target_phys_addr_t;
|
||||||
#define TARGET_PRIXPHYS PRIX64
|
#define TARGET_PRIXPHYS PRIX64
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -33,21 +33,21 @@
|
||||||
/*
|
/*
|
||||||
* Locking:
|
* Locking:
|
||||||
*
|
*
|
||||||
* There is three levels of locking:
|
* There are three levels of locking:
|
||||||
* - jobs queue lock: for each operation on the queue (push, pop, isEmpty?)
|
* - jobs queue lock: for each operation on the queue (push, pop, isEmpty?)
|
||||||
* - VncDisplay global lock: mainly used for framebuffer updates to avoid
|
* - VncDisplay global lock: mainly used for framebuffer updates to avoid
|
||||||
* screen corruption if the framebuffer is updated
|
* screen corruption if the framebuffer is updated
|
||||||
* while the worker is doing something.
|
* while the worker is doing something.
|
||||||
* - VncState::output lock: used to make sure the output buffer is not corrupted
|
* - VncState::output lock: used to make sure the output buffer is not corrupted
|
||||||
* if two threads try to write on it at the same time
|
* if two threads try to write on it at the same time
|
||||||
*
|
*
|
||||||
* While the VNC worker thread is working, the VncDisplay global lock is hold
|
* While the VNC worker thread is working, the VncDisplay global lock is held
|
||||||
* to avoid screen corruptions (this does not block vnc_refresh() because it
|
* to avoid screen corruption (this does not block vnc_refresh() because it
|
||||||
* uses trylock()) but the output lock is not hold because the thread work on
|
* uses trylock()) but the output lock is not held because the thread works on
|
||||||
* its own output buffer.
|
* its own output buffer.
|
||||||
* When the encoding job is done, the worker thread will hold the output lock
|
* When the encoding job is done, the worker thread will hold the output lock
|
||||||
* and copy its output buffer in vs->output.
|
* and copy its output buffer in vs->output.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct VncJobQueue {
|
struct VncJobQueue {
|
||||||
QemuCond cond;
|
QemuCond cond;
|
||||||
|
@ -62,7 +62,7 @@ typedef struct VncJobQueue VncJobQueue;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We use a single global queue, but most of the functions are
|
* We use a single global queue, but most of the functions are
|
||||||
* already reetrant, so we can easilly add more than one encoding thread
|
* already reentrant, so we can easily add more than one encoding thread
|
||||||
*/
|
*/
|
||||||
static VncJobQueue *queue;
|
static VncJobQueue *queue;
|
||||||
|
|
||||||
|
|
2
ui/vnc.c
2
ui/vnc.c
|
@ -1806,10 +1806,12 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
|
||||||
vs->features |= VNC_FEATURE_TIGHT_MASK;
|
vs->features |= VNC_FEATURE_TIGHT_MASK;
|
||||||
vs->vnc_encoding = enc;
|
vs->vnc_encoding = enc;
|
||||||
break;
|
break;
|
||||||
|
#ifdef CONFIG_VNC_PNG
|
||||||
case VNC_ENCODING_TIGHT_PNG:
|
case VNC_ENCODING_TIGHT_PNG:
|
||||||
vs->features |= VNC_FEATURE_TIGHT_PNG_MASK;
|
vs->features |= VNC_FEATURE_TIGHT_PNG_MASK;
|
||||||
vs->vnc_encoding = enc;
|
vs->vnc_encoding = enc;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case VNC_ENCODING_ZLIB:
|
case VNC_ENCODING_ZLIB:
|
||||||
vs->features |= VNC_FEATURE_ZLIB_MASK;
|
vs->features |= VNC_FEATURE_ZLIB_MASK;
|
||||||
vs->vnc_encoding = enc;
|
vs->vnc_encoding = enc;
|
||||||
|
|
Loading…
Reference in a new issue