trivial patches for 2017-02-28
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABCAAGBQJYtRwrAAoJEHAbT2saaT5ZQSQIAKWIXrxhIGO6hGEDc50YL6x6 tQMOnPQOulLtS76rGDAZrJwc47wqpXUtBCuevgwwqbxraLHF4LRnMf0I+xSR+lTt PF9vmgDgB4BVDpSTqphjaCBccXPYPqXzUtYaDcT6xePy8aB+/40nqsnby5hf+BXT zNpZZrn23papmftS3LnZ5j/lKNIsIlS/v5WIy8xNK0pBTKx4W1ZzDWrYq8crqW+v NqQSoVbNOEHOt1+C+nEX6gxUnY6rJXAVB0ICT0fSY9NRhFjPeu1Fx6EtCRNaluXm zOZ7t4kTjpB7IcHy3lqDTaWV6VVwBFUym5pfwjRLcge4ln+a5O454+/i8mxerfo= =jvkw -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging trivial patches for 2017-02-28 # gpg: Signature made Tue 28 Feb 2017 06:43:55 GMT # 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: syscall: fixed mincore(2) not failing with ENOMEM hw/acpi/tco.c: fix tco timer stop lm32: milkymist-tmu2: fix a third integer overflow qemu-options.hx: add missing id=chr0 chardev argument in vhost-user example Update copyright year tests/prom-env: Enable the test for the sun4u machine, too cadence_gem: Remove unused parameter debug message register: fix incorrect read mask ide: remove undefined behavior in ide-test CODING_STYLE: Mention preferred comment form hw/core/register: Mark the device with cannot_instantiate_with_device_add_yet hw/core/or-irq: Mark the device with cannot_instantiate_with_device_add_yet softfloat: Use correct type in float64_to_uint64_round_to_zero() target/s390x: Fix typo Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
7d1730b7d9
@ -116,3 +116,10 @@ if (a == 1) {
|
||||
Rationale: Yoda conditions (as in 'if (1 == a)') are awkward to read.
|
||||
Besides, good compilers already warn users when '==' is mis-typed as '=',
|
||||
even when the constant is on the right.
|
||||
|
||||
7. Comment style
|
||||
|
||||
We use traditional C-style /* */ comments and avoid // comments.
|
||||
|
||||
Rationale: The // form is valid in C99, so this is purely a matter of
|
||||
consistency of style. The checkpatch script will warn you about this.
|
||||
|
@ -7492,7 +7492,7 @@ uint64_t float64_to_uint64_round_to_zero(float64 a, float_status *status)
|
||||
{
|
||||
signed char current_rounding_mode = status->float_rounding_mode;
|
||||
set_float_rounding_mode(float_round_to_zero, status);
|
||||
int64_t v = float64_to_uint64(a, status);
|
||||
uint64_t v = float64_to_uint64(a, status);
|
||||
set_float_rounding_mode(current_rounding_mode, status);
|
||||
return v;
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ static inline void tco_timer_reload(TCOIORegs *tr)
|
||||
static inline void tco_timer_stop(TCOIORegs *tr)
|
||||
{
|
||||
tr->expire_time = -1;
|
||||
timer_del(tr->tco_timer);
|
||||
}
|
||||
|
||||
static void tco_timer_expired(void *opaque)
|
||||
|
@ -89,6 +89,9 @@ static void or_irq_class_init(ObjectClass *klass, void *data)
|
||||
dc->props = or_irq_properties;
|
||||
dc->realize = or_irq_realize;
|
||||
dc->vmsd = &vmstate_or_irq;
|
||||
|
||||
/* Reason: Needs to be wired up to work, e.g. see stm32f205_soc.c */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
}
|
||||
|
||||
static const TypeInfo or_irq_type_info = {
|
||||
|
@ -59,6 +59,15 @@ static inline uint64_t register_read_val(RegisterInfo *reg)
|
||||
return 0; /* unreachable */
|
||||
}
|
||||
|
||||
static inline uint64_t register_enabled_mask(int data_size, unsigned size)
|
||||
{
|
||||
if (data_size < size) {
|
||||
size = data_size;
|
||||
}
|
||||
|
||||
return MAKE_64BIT_MASK(0, size * 8);
|
||||
}
|
||||
|
||||
void register_write(RegisterInfo *reg, uint64_t val, uint64_t we,
|
||||
const char *prefix, bool debug)
|
||||
{
|
||||
@ -192,11 +201,7 @@ void register_write_memory(void *opaque, hwaddr addr,
|
||||
}
|
||||
|
||||
/* Generate appropriate write enable mask */
|
||||
if (reg->data_size < size) {
|
||||
we = MAKE_64BIT_MASK(0, reg->data_size * 8);
|
||||
} else {
|
||||
we = MAKE_64BIT_MASK(0, size * 8);
|
||||
}
|
||||
we = register_enabled_mask(reg->data_size, size);
|
||||
|
||||
register_write(reg, value, we, reg_array->prefix,
|
||||
reg_array->debug);
|
||||
@ -208,6 +213,7 @@ uint64_t register_read_memory(void *opaque, hwaddr addr,
|
||||
RegisterInfoArray *reg_array = opaque;
|
||||
RegisterInfo *reg = NULL;
|
||||
uint64_t read_val;
|
||||
uint64_t re;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < reg_array->num_elements; i++) {
|
||||
@ -223,7 +229,10 @@ uint64_t register_read_memory(void *opaque, hwaddr addr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
read_val = register_read(reg, size * 8, reg_array->prefix,
|
||||
/* Generate appropriate read enable mask */
|
||||
re = register_enabled_mask(reg->data_size, size);
|
||||
|
||||
read_val = register_read(reg, re, reg_array->prefix,
|
||||
reg_array->debug);
|
||||
|
||||
return extract64(read_val, 0, size * 8);
|
||||
@ -274,9 +283,18 @@ void register_finalize_block(RegisterInfoArray *r_array)
|
||||
g_free(r_array);
|
||||
}
|
||||
|
||||
static void register_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(oc);
|
||||
|
||||
/* Reason: needs to be wired up to work */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
}
|
||||
|
||||
static const TypeInfo register_info = {
|
||||
.name = TYPE_REGISTER,
|
||||
.parent = TYPE_DEVICE,
|
||||
.class_init = register_class_init,
|
||||
};
|
||||
|
||||
static void register_register_types(void)
|
||||
|
@ -293,7 +293,7 @@ static void tmu2_start(MilkymistTMU2State *s)
|
||||
cpu_physical_memory_unmap(mesh, mesh_len, 0, mesh_len);
|
||||
|
||||
/* Write back the OpenGL framebuffer to the QEMU framebuffer */
|
||||
fb_len = 2 * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
|
||||
fb_len = 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
|
||||
fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 1);
|
||||
if (fb == NULL) {
|
||||
glDeleteTextures(1, &texture);
|
||||
|
@ -508,7 +508,7 @@ static void gem_update_int_status(CadenceGEMState *s)
|
||||
|
||||
if ((s->num_priority_queues == 1) && s->regs[GEM_ISR]) {
|
||||
/* No priority queues, just trigger the interrupt */
|
||||
DB_PRINT("asserting int.\n", i);
|
||||
DB_PRINT("asserting int.\n");
|
||||
qemu_set_irq(s->irq[0], 1);
|
||||
return;
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include "qemu/option.h"
|
||||
|
||||
/* Copyright string for -version arguments, About dialogs, etc */
|
||||
#define QEMU_COPYRIGHT "Copyright (c) 2003-2016 " \
|
||||
#define QEMU_COPYRIGHT "Copyright (c) 2003-2017 " \
|
||||
"Fabrice Bellard and the QEMU Project developers"
|
||||
|
||||
/* main function, renamed */
|
||||
|
@ -2146,7 +2146,7 @@ Example:
|
||||
@example
|
||||
qemu -m 512 -object memory-backend-file,id=mem,size=512M,mem-path=/hugetlbfs,share=on \
|
||||
-numa node,memdev=mem \
|
||||
-chardev socket,path=/path/to/socket \
|
||||
-chardev socket,id=chr0,path=/path/to/socket \
|
||||
-netdev type=vhost-user,id=net0,chardev=chr0 \
|
||||
-device virtio-net-pci,netdev=net0
|
||||
@end example
|
||||
|
@ -671,7 +671,7 @@ static S390CPUModel *get_max_cpu_model(Error **errp)
|
||||
if (kvm_enabled()) {
|
||||
kvm_s390_get_host_cpu_model(&max_model, errp);
|
||||
} else {
|
||||
/* TCG enulates a z900 */
|
||||
/* TCG emulates a z900 */
|
||||
max_model.def = &s390_cpu_defs[0];
|
||||
bitmap_copy(max_model.features, max_model.def->default_feat,
|
||||
S390_FEAT_MAX);
|
||||
|
@ -308,8 +308,7 @@ check-qtest-sparc-y = tests/prom-env-test$(EXESUF)
|
||||
check-qtest-sparc64-y = tests/endianness-test$(EXESUF)
|
||||
#check-qtest-sparc64-y += tests/m48t59-test$(EXESUF)
|
||||
#gcov-files-sparc64-y += hw/timer/m48t59.c
|
||||
#Disabled for now, triggers a TCG bug on 32-bit hosts
|
||||
#check-qtest-sparc64-y += tests/prom-env-test$(EXESUF)
|
||||
check-qtest-sparc64-y += tests/prom-env-test$(EXESUF)
|
||||
|
||||
check-qtest-arm-y = tests/tmp105-test$(EXESUF)
|
||||
check-qtest-arm-y += tests/ds1338-test$(EXESUF)
|
||||
|
@ -544,6 +544,7 @@ static void make_dirty(uint8_t device)
|
||||
|
||||
guest_buf = guest_alloc(guest_malloc, len);
|
||||
buf = g_malloc(len);
|
||||
memset(buf, rand() % 255 + 1, len);
|
||||
g_assert(guest_buf);
|
||||
g_assert(buf);
|
||||
|
||||
|
@ -76,7 +76,7 @@ static void add_tests(const char *machines[])
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
const char *sparc_machines[] = { "SPARCbook", "Voyager", "SS-20", NULL };
|
||||
const char *sparc64_machines[] = { "sun4u", "sun4v", NULL };
|
||||
const char *sparc64_machines[] = { "sun4u", NULL };
|
||||
const char *ppc_machines[] = { "mac99", "g3beige", NULL };
|
||||
const char *ppc64_machines[] = { "mac99", "g3beige", "pseries", NULL };
|
||||
const char *arch = qtest_get_arch();
|
||||
|
Loading…
Reference in New Issue
Block a user