trivial patches for 2016-09-13

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJX2CDnAAoJEHAbT2saaT5ZB6UIAIOu86NJtdYnfm8rQ8JCO6cw
 Jy3lp5wpfes6vPcaC5tMQcE38/DY5dHzVGrWfFZnFCmrt/QwDpDfxrNIvDjuzTCB
 KF4V/obyPG6vbebcydygDGgZZP5ZsrgngYbsG8UE2MnFlQatzirP31bVVtg7b3t8
 2okuKig3TsOWHXy281l8HWGPV/ktlle9bQWcPMDuKX9xlQAMMvBApl6gS3JLooMf
 rILfu2rY3aaW3896vGawTKaeURRS60oHGo/bukiAAbRqQaMLCkn1spsdUfIfO/GX
 xp6mKBdzgpvF7kHOIuNQUkqauaizP8hUkYp7mT3kOhQbyywQCt05q4kUqcZusPo=
 =oFIl
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging

trivial patches for 2016-09-13

# gpg: Signature made Tue 13 Sep 2016 16:53:11 BST
# gpg:                using RSA key 0x701B4F6B1A693E59
# gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>"
# gpg:                 aka "Michael Tokarev <mjt@corpit.ru>"
# gpg:                 aka "Michael Tokarev <mjt@debian.org>"
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D  4324 457C E0A0 8044 65C5
#      Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931  4B22 701B 4F6B 1A69 3E59

* remotes/mjt/tags/trivial-patches-fetch:
  hw/net/e1000e: Fix compiler warning
  target-m68k: fix get_mac_extf helper
  timer/cpus: fix some typos and update some comments
  timer.h: fix inconsistency between comment and function prototype
  timer.h: fix typo
  maint: Ignore generated version file
  Document that curses usually needs -k option too
  trace-event: display "%d" instead of "0x%d"
  linux-user, trivial: display "0x%x" instead of "0x%d"
  pic: fix typo in error message: KVM_GET_IRQCHIP -> KVM_SET_IRQCHIP
  sparc: Use g_memdup() instead of g_new0() + memcpy()
  vl: remove unnecessary duplicate call to tpm_cleanup
  arm: spelling fix: mismatch
  hw/dma/omap: spelling fix: endianness
  hw/bt/hci: spelling fix: endianness
  docs: Fix description of the leaky bucket algorithm in throttle.txt

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2016-09-13 17:55:35 +01:00
commit 507e4ddc3a
15 changed files with 34 additions and 28 deletions

2
.gitignore vendored
View file

@ -53,6 +53,8 @@
/qemu-bridge-helper /qemu-bridge-helper
/qemu-monitor.texi /qemu-monitor.texi
/qemu-monitor-info.texi /qemu-monitor-info.texi
/qemu-version.h
/qemu-version.h.tmp
/qmp-commands.txt /qmp-commands.txt
/vscclient /vscclient
/fsdev/virtfs-proxy-helper /fsdev/virtfs-proxy-helper

6
cpus.c
View file

@ -229,7 +229,7 @@ static int64_t cpu_get_clock_locked(void)
return ticks; return ticks;
} }
/* return the host CPU monotonic timer and handle stop/restart */ /* return the host CPU monotonic time */
int64_t cpu_get_clock(void) int64_t cpu_get_clock(void)
{ {
int64_t ti; int64_t ti;
@ -244,7 +244,7 @@ int64_t cpu_get_clock(void)
} }
/* enable cpu_get_ticks() /* enable cpu_get_ticks()
* Caller must hold BQL which server as mutex for vm_clock_seqlock. * Caller must hold BQL which serves as mutex for vm_clock_seqlock.
*/ */
void cpu_enable_ticks(void) void cpu_enable_ticks(void)
{ {
@ -260,7 +260,7 @@ void cpu_enable_ticks(void)
/* disable cpu_get_ticks() : the clock is stopped. You must not call /* disable cpu_get_ticks() : the clock is stopped. You must not call
* cpu_get_ticks() after that. * cpu_get_ticks() after that.
* Caller must hold BQL which server as mutex for vm_clock_seqlock. * Caller must hold BQL which serves as mutex for vm_clock_seqlock.
*/ */
void cpu_disable_ticks(void) void cpu_disable_ticks(void)
{ {

View file

@ -235,7 +235,10 @@ consider the following values:
- Water leaks from the bucket at a rate of 100 IOPS. - Water leaks from the bucket at a rate of 100 IOPS.
- Water can be added to the bucket at a rate of 2000 IOPS. - Water can be added to the bucket at a rate of 2000 IOPS.
- The size of the bucket is 2000 x 60 = 120000 - The size of the bucket is 2000 x 60 = 120000
- If 'iops-total-max' is unset then the bucket size is 100 x 60. - If 'iops-total-max-length' is unset then it defaults to 1 and the
size of the bucket is 2000.
- If 'iops-total-max' is unset then 'iops-total-max-length' must be
unset as well. In this case the bucket size is 100.
The bucket is initially empty, therefore water can be added until it's The bucket is initially empty, therefore water can be added until it's
full at a rate of 2000 IOPS (the burst rate). Once the bucket is full full at a rate of 2000 IOPS (the burst rate). Once the bucket is full

View file

@ -421,7 +421,7 @@ static void bt_submit_raw_acl(struct bt_piconet_s *net, int length, uint8_t *dat
/* HCI layer emulation */ /* HCI layer emulation */
/* Note: we could ignore endiannes because unswapped handles will still /* Note: we could ignore endianness because unswapped handles will still
* be valid as connection identifiers for the guest - they don't have to * be valid as connection identifiers for the guest - they don't have to
* be continuously allocated. We do it though, to preserve similar * be continuously allocated. We do it though, to preserve similar
* behaviour between hosts. Some things, like the BD_ADDR cannot be * behaviour between hosts. Some things, like the BD_ADDR cannot be

View file

@ -1975,7 +1975,7 @@ static void omap_dma4_write(void *opaque, hwaddr addr,
ch->endian[1] =(value >> 19) & 1; ch->endian[1] =(value >> 19) & 1;
ch->endian_lock[1] =(value >> 18) & 1; ch->endian_lock[1] =(value >> 18) & 1;
if (ch->endian[0] != ch->endian[1]) if (ch->endian[0] != ch->endian[1])
fprintf(stderr, "%s: DMA endiannes conversion enable attempt\n", fprintf(stderr, "%s: DMA endianness conversion enable attempt\n",
__FUNCTION__); __FUNCTION__);
ch->write_mode = (value >> 16) & 3; ch->write_mode = (value >> 16) & 3;
ch->burst[1] = (value & 0xc000) >> 14; ch->burst[1] = (value & 0xc000) >> 14;

View file

@ -92,7 +92,7 @@ static void kvm_pic_put(PICCommonState *s)
ret = kvm_vm_ioctl(kvm_state, KVM_SET_IRQCHIP, &chip); ret = kvm_vm_ioctl(kvm_state, KVM_SET_IRQCHIP, &chip);
if (ret < 0) { if (ret < 0) {
fprintf(stderr, "KVM_GET_IRQCHIP failed: %s\n", strerror(ret)); fprintf(stderr, "KVM_SET_IRQCHIP failed: %s\n", strerror(ret));
abort(); abort();
} }
} }

View file

@ -8,7 +8,7 @@ xen_pv_mmio_read(uint64_t addr) "WARNING: read from Xen PV Device MMIO space (ad
xen_pv_mmio_write(uint64_t addr) "WARNING: write to Xen PV Device MMIO space (address %"PRIx64")" xen_pv_mmio_write(uint64_t addr) "WARNING: write to Xen PV Device MMIO space (address %"PRIx64")"
# hw/i386/pc.c # hw/i386/pc.c
mhp_pc_dimm_assigned_slot(int slot) "0x%d" mhp_pc_dimm_assigned_slot(int slot) "%d"
mhp_pc_dimm_assigned_address(uint64_t addr) "0x%"PRIx64 mhp_pc_dimm_assigned_address(uint64_t addr) "0x%"PRIx64
# hw/i386/x86-iommu.c # hw/i386/x86-iommu.c

View file

@ -52,7 +52,7 @@
second according to spec 10.2.4.2 */ second according to spec 10.2.4.2 */
#define E1000E_MAX_TX_FRAGS (64) #define E1000E_MAX_TX_FRAGS (64)
static void static inline void
e1000e_set_interrupt_cause(E1000ECore *core, uint32_t val); e1000e_set_interrupt_cause(E1000ECore *core, uint32_t val);
static inline void static inline void

View file

@ -179,7 +179,7 @@ int64_t qemu_clock_deadline_ns_all(QEMUClockType type);
* qemu_clock_get_main_loop_timerlist: * qemu_clock_get_main_loop_timerlist:
* @type: the clock type * @type: the clock type
* *
* Return the default timer list assocatiated with a clock. * Return the default timer list associated with a clock.
* *
* Returns: the default timer list * Returns: the default timer list
*/ */
@ -431,6 +431,7 @@ void timer_init_tl(QEMUTimer *ts,
/** /**
* timer_init: * timer_init:
* @ts: the timer to be initialised
* @type: the clock to associate with the timer * @type: the clock to associate with the timer
* @scale: the scale value for the timer * @scale: the scale value for the timer
* @cb: the callback to call when the timer expires * @cb: the callback to call when the timer expires
@ -450,6 +451,7 @@ static inline void timer_init(QEMUTimer *ts, QEMUClockType type, int scale,
/** /**
* timer_init_ns: * timer_init_ns:
* @ts: the timer to be initialised
* @type: the clock to associate with the timer * @type: the clock to associate with the timer
* @cb: the callback to call when the timer expires * @cb: the callback to call when the timer expires
* @opaque: the opaque pointer to pass to the callback * @opaque: the opaque pointer to pass to the callback
@ -468,6 +470,7 @@ static inline void timer_init_ns(QEMUTimer *ts, QEMUClockType type,
/** /**
* timer_init_us: * timer_init_us:
* @ts: the timer to be initialised
* @type: the clock to associate with the timer * @type: the clock to associate with the timer
* @cb: the callback to call when the timer expires * @cb: the callback to call when the timer expires
* @opaque: the opaque pointer to pass to the callback * @opaque: the opaque pointer to pass to the callback
@ -486,6 +489,7 @@ static inline void timer_init_us(QEMUTimer *ts, QEMUClockType type,
/** /**
* timer_init_ms: * timer_init_ms:
* @ts: the timer to be initialised
* @type: the clock to associate with the timer * @type: the clock to associate with the timer
* @cb: the callback to call when the timer expires * @cb: the callback to call when the timer expires
* @opaque: the opaque pointer to pass to the callback * @opaque: the opaque pointer to pass to the callback
@ -509,7 +513,7 @@ static inline void timer_init_ms(QEMUTimer *ts, QEMUClockType type,
* @cb: the callback to be called when the timer expires * @cb: the callback to be called when the timer expires
* @opaque: the opaque pointer to be passed to the callback * @opaque: the opaque pointer to be passed to the callback
* *
* Creeate a new timer and associate it with @timer_list. * Create a new timer and associate it with @timer_list.
* The memory is allocated by the function. * The memory is allocated by the function.
* *
* This is not the preferred interface unless you know you * This is not the preferred interface unless you know you
@ -534,7 +538,7 @@ static inline QEMUTimer *timer_new_tl(QEMUTimerList *timer_list,
* @cb: the callback to be called when the timer expires * @cb: the callback to be called when the timer expires
* @opaque: the opaque pointer to be passed to the callback * @opaque: the opaque pointer to be passed to the callback
* *
* Creeate a new timer and associate it with the default * Create a new timer and associate it with the default
* timer list for the clock type @type. * timer list for the clock type @type.
* *
* Returns: a pointer to the timer * Returns: a pointer to the timer
@ -547,8 +551,8 @@ static inline QEMUTimer *timer_new(QEMUClockType type, int scale,
/** /**
* timer_new_ns: * timer_new_ns:
* @clock: the clock to associate with the timer * @type: the clock type to associate with the timer
* @callback: the callback to call when the timer expires * @cb: the callback to call when the timer expires
* @opaque: the opaque pointer to pass to the callback * @opaque: the opaque pointer to pass to the callback
* *
* Create a new timer with nanosecond scale on the default timer list * Create a new timer with nanosecond scale on the default timer list
@ -564,8 +568,8 @@ static inline QEMUTimer *timer_new_ns(QEMUClockType type, QEMUTimerCB *cb,
/** /**
* timer_new_us: * timer_new_us:
* @clock: the clock to associate with the timer * @type: the clock type to associate with the timer
* @callback: the callback to call when the timer expires * @cb: the callback to call when the timer expires
* @opaque: the opaque pointer to pass to the callback * @opaque: the opaque pointer to pass to the callback
* *
* Create a new timer with microsecond scale on the default timer list * Create a new timer with microsecond scale on the default timer list
@ -581,8 +585,8 @@ static inline QEMUTimer *timer_new_us(QEMUClockType type, QEMUTimerCB *cb,
/** /**
* timer_new_ms: * timer_new_ms:
* @clock: the clock to associate with the timer * @type: the clock type to associate with the timer
* @callback: the callback to call when the timer expires * @cb: the callback to call when the timer expires
* @opaque: the opaque pointer to pass to the callback * @opaque: the opaque pointer to pass to the callback
* *
* Create a new timer with millisecond scale on the default timer list * Create a new timer with millisecond scale on the default timer list
@ -691,6 +695,7 @@ bool timer_pending(QEMUTimer *ts);
/** /**
* timer_expired: * timer_expired:
* @ts: the timer * @ts: the timer
* @current_time: the current time
* *
* Determines whether a timer has expired. * Determines whether a timer has expired.
* *
@ -797,7 +802,7 @@ static inline int64_t get_max_clock_jump(void)
* Low level clock functions * Low level clock functions
*/ */
/* real time host monotonic timer */ /* get host real time in nanosecond */
static inline int64_t get_clock_realtime(void) static inline int64_t get_clock_realtime(void)
{ {
struct timeval tv; struct timeval tv;

View file

@ -2030,7 +2030,7 @@ void cpu_loop(CPUPPCState *env)
/* just indicate that signals should be handled asap */ /* just indicate that signals should be handled asap */
break; break;
default: default:
cpu_abort(cs, "Unknown exception 0x%d. Aborting\n", trapnr); cpu_abort(cs, "Unknown exception 0x%x. Aborting\n", trapnr);
break; break;
} }
process_pending_signals(env); process_pending_signals(env);

View file

@ -303,7 +303,7 @@ STEXI
@findex -k @findex -k
Use keyboard layout @var{language} (for example @code{fr} for Use keyboard layout @var{language} (for example @code{fr} for
French). This option is only needed where it is not easy to get raw PC French). This option is only needed where it is not easy to get raw PC
keycodes (e.g. on Macs, with some X11 servers or with a VNC keycodes (e.g. on Macs, with some X11 servers or with a VNC or curses
display). You don't normally need to use it on PC/Linux or PC/Windows display). You don't normally need to use it on PC/Linux or PC/Windows
hosts. hosts.

View file

@ -7498,7 +7498,7 @@ static bool get_phys_addr_lpae(CPUARMState *env, target_ulong address,
* is unpredictable. Flag this as a guest error. */ * is unpredictable. Flag this as a guest error. */
if (sign != sext) { if (sign != sext) {
qemu_log_mask(LOG_GUEST_ERROR, qemu_log_mask(LOG_GUEST_ERROR,
"AArch32: VTCR.S / VTCR.T0SZ[3] missmatch\n"); "AArch32: VTCR.S / VTCR.T0SZ[3] mismatch\n");
} }
} }
t1sz = extract32(tcr->raw_tcr, 16, 6); t1sz = extract32(tcr->raw_tcr, 16, 6);

View file

@ -812,7 +812,7 @@ uint32_t HELPER(get_mac_extf)(CPUM68KState *env, uint32_t acc)
{ {
uint32_t val; uint32_t val;
val = env->macc[acc] & 0x00ff; val = env->macc[acc] & 0x00ff;
val = (env->macc[acc] >> 32) & 0xff00; val |= (env->macc[acc] >> 32) & 0xff00;
val |= (env->macc[acc + 1] << 16) & 0x00ff0000; val |= (env->macc[acc + 1] << 16) & 0x00ff0000;
val |= (env->macc[acc + 1] >> 16) & 0xff000000; val |= (env->macc[acc + 1] >> 16) & 0xff000000;
return val; return val;

View file

@ -117,8 +117,7 @@ static int cpu_sparc_register(SPARCCPU *cpu, const char *cpu_model)
return -1; return -1;
} }
env->def = g_new0(sparc_def_t, 1); env->def = g_memdup(def, sizeof(*def));
memcpy(env->def, def, sizeof(*def));
featurestr = strtok(NULL, ","); featurestr = strtok(NULL, ",");
sparc_cpu_parse_features(CPU(cpu), featurestr, &err); sparc_cpu_parse_features(CPU(cpu), featurestr, &err);

3
vl.c
View file

@ -4622,9 +4622,6 @@ int main(int argc, char **argv, char **envp)
bdrv_close_all(); bdrv_close_all();
pause_all_vcpus(); pause_all_vcpus();
res_free(); res_free();
#ifdef CONFIG_TPM
tpm_cleanup();
#endif
/* vhost-user must be cleaned up before chardevs. */ /* vhost-user must be cleaned up before chardevs. */
net_cleanup(); net_cleanup();