trivial patches for 2015-07-27
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJVtot2AAoJEL7lnXSkw9fbqd4H+wXuxLw8bN3MQ9vWUgUhrTwd D8Zd4mB6SdZY/IPbbvG+GMJzU13ESOc5bdCKolI0DhpoDnv6oYi/x0BXzWGLDnYg Sx7eoW/UG796KunKlYgKvgCd2ILe0g72w4eYqoGXiqsCR22rDXuv5QMWU0L26UJx Z3tOuEQm1GQbo14iIC6dTqljgIi0Xhy2ri11dy3aJ4XTQuhqc/PMkbEPMnRkHo07 4XtL7YWRmPsvojMf5IgEsoAuG57D1HCa+Se8LjaGY8pueE72Ub1bbiWVUo7HV/ap XGBF6pu3hw4Xh3AiPtkIy/sCdBNN2vzqFwgnYOXJUq8DiH/4LVbXnDIert6pG7A= =El+V -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mjt/tags/pull-trivial-patches-2015-07-27' into staging trivial patches for 2015-07-27 # gpg: Signature made Mon Jul 27 20:50:14 2015 BST using RSA key ID A4C3D7DB # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>" # gpg: aka "Michael Tokarev <mjt@corpit.ru>" # gpg: aka "Michael Tokarev <mjt@debian.org>" * remotes/mjt/tags/pull-trivial-patches-2015-07-27: gdbstub: Set current CPU on interruptions qapi: add missing @ Fix Cortex-A9 global timer gitignore: Ignore shader generated files vmstate: remove unused declaration make: Clean build messages qemu-common.h: Document cutils.c string functions device_tree: Fix a typo hw/acpi/ich9: clean up stale comment about KVM not supporting SMM hw/acpi/ich9: clear smi_en on reset Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
776f878451
2
.gitignore
vendored
2
.gitignore
vendored
@ -17,6 +17,8 @@
|
||||
/trace/generated-tcg-tracers.h
|
||||
/trace/generated-ust-provider.h
|
||||
/trace/generated-ust.c
|
||||
/ui/shader/texture-blit-frag.h
|
||||
/ui/shader/texture-blit-vert.h
|
||||
/libcacard/trace/generated-tracers.c
|
||||
*-timestamp
|
||||
/*-softmmu
|
||||
|
2
Makefile
2
Makefile
@ -135,7 +135,7 @@ endif
|
||||
else \
|
||||
mv $@.tmp $@; \
|
||||
cp -p $@ $@.old; \
|
||||
fi, " GEN $@");
|
||||
fi, " GEN $@");
|
||||
|
||||
defconfig:
|
||||
rm -f config-all-devices.mak $(SUBDIR_DEVICES_MAK)
|
||||
|
@ -241,7 +241,7 @@ uint32_t qemu_fdt_alloc_phandle(void *fdt)
|
||||
|
||||
/*
|
||||
* We need to find out if the user gave us special instruction at
|
||||
* which phandle id to start allocting phandles.
|
||||
* which phandle id to start allocating phandles.
|
||||
*/
|
||||
if (!phandle) {
|
||||
phandle = machine_phandle_start(current_machine);
|
||||
|
@ -1285,6 +1285,7 @@ static void gdb_vm_state_change(void *opaque, int running, RunState state)
|
||||
ret = GDB_SIGNAL_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
gdb_set_stop_cpu(cpu);
|
||||
snprintf(buf, sizeof(buf), "T%02xthread:%02x;", ret, cpu_index(cpu));
|
||||
|
||||
send_packet:
|
||||
|
@ -221,9 +221,9 @@ static void pm_reset(void *opaque)
|
||||
acpi_pm_tmr_reset(&pm->acpi_regs);
|
||||
acpi_gpe_reset(&pm->acpi_regs);
|
||||
|
||||
pm->smi_en = 0;
|
||||
if (!pm->smm_enabled) {
|
||||
/* Mark SMM as already inited to prevent SMM from running. KVM does not
|
||||
* support SMM mode. */
|
||||
/* Mark SMM as already inited to prevent SMM from running. */
|
||||
pm->smi_en |= ICH9_PMIO_SMI_EN_APMC_EN;
|
||||
}
|
||||
pm->smi_en_wmask = ~0;
|
||||
|
@ -37,7 +37,7 @@
|
||||
#define R_CONTROL_TIMER_ENABLE (1 << 0)
|
||||
#define R_CONTROL_COMP_ENABLE (1 << 1)
|
||||
#define R_CONTROL_IRQ_ENABLE (1 << 2)
|
||||
#define R_CONTROL_AUTO_INCREMENT (1 << 2)
|
||||
#define R_CONTROL_AUTO_INCREMENT (1 << 3)
|
||||
#define R_CONTROL_PRESCALER_SHIFT 8
|
||||
#define R_CONTROL_PRESCALER_LEN 8
|
||||
#define R_CONTROL_PRESCALER_MASK (((1 << R_CONTROL_PRESCALER_LEN) - 1) << \
|
||||
|
@ -75,9 +75,6 @@ int register_savevm_live(DeviceState *dev,
|
||||
void *opaque);
|
||||
|
||||
void unregister_savevm(DeviceState *dev, const char *idstr, void *opaque);
|
||||
void register_device_unmigratable(DeviceState *dev, const char *idstr,
|
||||
void *opaque);
|
||||
|
||||
|
||||
typedef struct VMStateInfo VMStateInfo;
|
||||
typedef struct VMStateDescription VMStateDescription;
|
||||
|
@ -148,13 +148,125 @@ static inline bool is_help_option(const char *s)
|
||||
return !strcmp(s, "?") || !strcmp(s, "help");
|
||||
}
|
||||
|
||||
/* cutils.c */
|
||||
/* util/cutils.c */
|
||||
/**
|
||||
* pstrcpy:
|
||||
* @buf: buffer to copy string into
|
||||
* @buf_size: size of @buf in bytes
|
||||
* @str: string to copy
|
||||
*
|
||||
* Copy @str into @buf, including the trailing NUL, but do not
|
||||
* write more than @buf_size bytes. The resulting buffer is
|
||||
* always NUL terminated (even if the source string was too long).
|
||||
* If @buf_size is zero or negative then no bytes are copied.
|
||||
*
|
||||
* This function is similar to strncpy(), but avoids two of that
|
||||
* function's problems:
|
||||
* * if @str fits in the buffer, pstrcpy() does not zero-fill the
|
||||
* remaining space at the end of @buf
|
||||
* * if @str is too long, pstrcpy() will copy the first @buf_size-1
|
||||
* bytes and then add a NUL
|
||||
*/
|
||||
void pstrcpy(char *buf, int buf_size, const char *str);
|
||||
/**
|
||||
* strpadcpy:
|
||||
* @buf: buffer to copy string into
|
||||
* @buf_size: size of @buf in bytes
|
||||
* @str: string to copy
|
||||
* @pad: character to pad the remainder of @buf with
|
||||
*
|
||||
* Copy @str into @buf (but *not* its trailing NUL!), and then pad the
|
||||
* rest of the buffer with the @pad character. If @str is too large
|
||||
* for the buffer then it is truncated, so that @buf contains the
|
||||
* first @buf_size characters of @str, with no terminator.
|
||||
*/
|
||||
void strpadcpy(char *buf, int buf_size, const char *str, char pad);
|
||||
/**
|
||||
* pstrcat:
|
||||
* @buf: buffer containing existing string
|
||||
* @buf_size: size of @buf in bytes
|
||||
* @s: string to concatenate to @buf
|
||||
*
|
||||
* Append a copy of @s to the string already in @buf, but do not
|
||||
* allow the buffer to overflow. If the existing contents of @buf
|
||||
* plus @str would total more than @buf_size bytes, then write
|
||||
* as much of @str as will fit followed by a NUL terminator.
|
||||
*
|
||||
* @buf must already contain a NUL-terminated string, or the
|
||||
* behaviour is undefined.
|
||||
*
|
||||
* Returns: @buf.
|
||||
*/
|
||||
char *pstrcat(char *buf, int buf_size, const char *s);
|
||||
/**
|
||||
* strstart:
|
||||
* @str: string to test
|
||||
* @val: prefix string to look for
|
||||
* @ptr: NULL, or pointer to be written to indicate start of
|
||||
* the remainder of the string
|
||||
*
|
||||
* Test whether @str starts with the prefix @val.
|
||||
* If it does (including the degenerate case where @str and @val
|
||||
* are equal) then return true. If @ptr is not NULL then a
|
||||
* pointer to the first character following the prefix is written
|
||||
* to it. If @val is not a prefix of @str then return false (and
|
||||
* @ptr is not written to).
|
||||
*
|
||||
* Returns: true if @str starts with prefix @val, false otherwise.
|
||||
*/
|
||||
int strstart(const char *str, const char *val, const char **ptr);
|
||||
/**
|
||||
* stristart:
|
||||
* @str: string to test
|
||||
* @val: prefix string to look for
|
||||
* @ptr: NULL, or pointer to be written to indicate start of
|
||||
* the remainder of the string
|
||||
*
|
||||
* Test whether @str starts with the case-insensitive prefix @val.
|
||||
* This function behaves identically to strstart(), except that the
|
||||
* comparison is made after calling qemu_toupper() on each pair of
|
||||
* characters.
|
||||
*
|
||||
* Returns: true if @str starts with case-insensitive prefix @val,
|
||||
* false otherwise.
|
||||
*/
|
||||
int stristart(const char *str, const char *val, const char **ptr);
|
||||
/**
|
||||
* qemu_strnlen:
|
||||
* @s: string
|
||||
* @max_len: maximum number of bytes in @s to scan
|
||||
*
|
||||
* Return the length of the string @s, like strlen(), but do not
|
||||
* examine more than @max_len bytes of the memory pointed to by @s.
|
||||
* If no NUL terminator is found within @max_len bytes, then return
|
||||
* @max_len instead.
|
||||
*
|
||||
* This function has the same behaviour as the POSIX strnlen()
|
||||
* function.
|
||||
*
|
||||
* Returns: length of @s in bytes, or @max_len, whichever is smaller.
|
||||
*/
|
||||
int qemu_strnlen(const char *s, int max_len);
|
||||
/**
|
||||
* qemu_strsep:
|
||||
* @input: pointer to string to parse
|
||||
* @delim: string containing delimiter characters to search for
|
||||
*
|
||||
* Locate the first occurrence of any character in @delim within
|
||||
* the string referenced by @input, and replace it with a NUL.
|
||||
* The location of the next character after the delimiter character
|
||||
* is stored into @input.
|
||||
* If the end of the string was reached without finding a delimiter
|
||||
* character, then NULL is stored into @input.
|
||||
* If @input points to a NULL pointer on entry, return NULL.
|
||||
* The return value is always the original value of *@input (and
|
||||
* so now points to a NUL-terminated string corresponding to the
|
||||
* part of the input up to the first delimiter).
|
||||
*
|
||||
* This function has the same behaviour as the BSD strsep() function.
|
||||
*
|
||||
* Returns: the pointer originally in @input.
|
||||
*/
|
||||
char *qemu_strsep(char **input, const char *delim);
|
||||
time_t mktimegm(struct tm *tm);
|
||||
int qemu_fls(int i);
|
||||
|
@ -15,7 +15,7 @@
|
||||
{ 'include': 'qapi/trace.json' }
|
||||
|
||||
##
|
||||
# LostTickPolicy:
|
||||
# @LostTickPolicy:
|
||||
#
|
||||
# Policy for handling lost ticks in timer devices.
|
||||
#
|
||||
|
@ -487,10 +487,10 @@ check-report-unit.xml: $(check-unit-y)
|
||||
# Reports and overall runs
|
||||
|
||||
check-report.xml: $(patsubst %,check-report-qtest-%.xml, $(QTEST_TARGETS)) check-report-unit.xml
|
||||
$(call quiet-command,$(SRC_PATH)/scripts/gtester-cat $^ > $@, " GEN $@")
|
||||
$(call quiet-command,$(SRC_PATH)/scripts/gtester-cat $^ > $@, " GEN $@")
|
||||
|
||||
check-report.html: check-report.xml
|
||||
$(call quiet-command,gtester-report $< > $@, " GEN $@")
|
||||
$(call quiet-command,gtester-report $< > $@, " GEN $@")
|
||||
|
||||
|
||||
# Other tests
|
||||
|
Loading…
x
Reference in New Issue
Block a user