mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches: configure: Quote the configure args printed in config.log osdep: Remove local definition of macro offsetof libcacard: Spelling and grammar fixes in documentation Spelling fixes in comments (it's -> its) vnc: Add break statement libcacard: Use format specifier %u instead of %d for unsigned values Fix sign of sscanf format specifiers block/vmdk: Fix warning from splint (comparision of unsigned value) qmp: Fix spelling fourty -> forty qom: Fix spelling in documentation sh7750: Remove redundant 'struct' from MemoryRegionOps
This commit is contained in:
commit
dac6b1b22c
@ -453,7 +453,7 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
|
||||
}
|
||||
l1_entry_sectors = le32_to_cpu(header.num_gtes_per_gte)
|
||||
* le64_to_cpu(header.granularity);
|
||||
if (l1_entry_sectors <= 0) {
|
||||
if (l1_entry_sectors == 0) {
|
||||
return -EINVAL;
|
||||
}
|
||||
l1_size = (le64_to_cpu(header.capacity) + l1_entry_sectors - 1)
|
||||
|
20
configure
vendored
20
configure
vendored
@ -22,7 +22,9 @@ 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
|
||||
printf "# Configured with:" >> config.log
|
||||
printf " '%s'" "$0" "$@" >> config.log
|
||||
echo >> config.log
|
||||
echo "#" >> config.log
|
||||
|
||||
compile_object() {
|
||||
@ -232,7 +234,7 @@ for opt do
|
||||
done
|
||||
# OS specific
|
||||
# Using uname is really, really broken. Once we have the right set of checks
|
||||
# we can eliminate it's usage altogether
|
||||
# we can eliminate its usage altogether.
|
||||
|
||||
cc="${CC-${cross_prefix}gcc}"
|
||||
ar="${AR-${cross_prefix}ar}"
|
||||
@ -2524,17 +2526,6 @@ if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# check if the compiler defines offsetof
|
||||
|
||||
need_offsetof=yes
|
||||
cat > $TMPC << EOF
|
||||
#include <stddef.h>
|
||||
int main(void) { struct s { int f; }; return offsetof(struct s, f); }
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
need_offsetof=no
|
||||
fi
|
||||
|
||||
# spice probe
|
||||
if test "$spice" != "no" ; then
|
||||
cat > $TMPC << EOF
|
||||
@ -3199,9 +3190,6 @@ fi
|
||||
if test "$tcg_interpreter" = "yes" ; then
|
||||
echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$need_offsetof" = "yes" ; then
|
||||
echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$fdatasync" = "yes" ; then
|
||||
echo "CONFIG_FDATASYNC=y" >> $config_host_mak
|
||||
fi
|
||||
|
3
cursor.c
3
cursor.c
@ -15,7 +15,8 @@ static QEMUCursor *cursor_parse_xpm(const char *xpm[])
|
||||
uint8_t idx;
|
||||
|
||||
/* parse header line: width, height, #colors, #chars */
|
||||
if (sscanf(xpm[line], "%d %d %d %d", &width, &height, &colors, &chars) != 4) {
|
||||
if (sscanf(xpm[line], "%u %u %u %u",
|
||||
&width, &height, &colors, &chars) != 4) {
|
||||
fprintf(stderr, "%s: header parse error: \"%s\"\n",
|
||||
__FUNCTION__, xpm[line]);
|
||||
return NULL;
|
||||
|
@ -10,7 +10,7 @@ such as signing, card removal/insertion, etc. are mapped to real, physical
|
||||
cards which are shared with the client machine the emulator is running on, or
|
||||
the cards could be pure software constructs.
|
||||
|
||||
The emulator is structured to allow multiple replacable or additional pieces,
|
||||
The emulator is structured to allow multiple replaceable or additional pieces,
|
||||
so it can be easily modified for future requirements. The primary envisioned
|
||||
modifications are:
|
||||
|
||||
@ -32,7 +32,7 @@ be emulated as well, including PIV, newer versions of CAC, PKCS #15, etc.
|
||||
--------------------
|
||||
Replacing the Socket Based Virtual Reader Interface.
|
||||
|
||||
The current implementation contains a replacable module vscclient.c. The
|
||||
The current implementation contains a replaceable module vscclient.c. The
|
||||
current vscclient.c implements a sockets interface to the virtual ccid reader
|
||||
on the guest. CCID commands that are pertinent to emulation are passed
|
||||
across the socket, and their responses are passed back along that same socket.
|
||||
@ -42,7 +42,7 @@ implements a program with a main entry. It also handles argument parsing for
|
||||
the emulator.
|
||||
|
||||
An application that wants to use the virtual reader can replace vscclient.c
|
||||
with it's own implementation that connects to it's own CCID reader. The calls
|
||||
with its own implementation that connects to its own CCID reader. The calls
|
||||
that the CCID reader can call are:
|
||||
|
||||
VReaderList * vreader_get_reader_list();
|
||||
@ -72,12 +72,12 @@ that the CCID reader can call are:
|
||||
VReader * vreader_list_get_reader(VReaderListEntry *)
|
||||
|
||||
This function returns the reader stored in the reader List entry. Caller gets
|
||||
a new reference to a reader. The caller must free it's reference when it is
|
||||
a new reference to a reader. The caller must free its reference when it is
|
||||
finished with vreader_free().
|
||||
|
||||
void vreader_free(VReader *reader);
|
||||
|
||||
This function frees a reference to a reader. Reader's are reference counted
|
||||
This function frees a reference to a reader. Readers are reference counted
|
||||
and are automatically deleted when the last reference is freed.
|
||||
|
||||
void vreader_list_delete(VReaderList *list);
|
||||
@ -87,7 +87,7 @@ that the CCID reader can call are:
|
||||
|
||||
VReaderStatus vreader_power_on(VReader *reader, char *atr, int *len);
|
||||
|
||||
This functions simulates a card power on. Virtual cards do not care about
|
||||
This function simulates a card power on. A virtual card does not care about
|
||||
the actual voltage and other physical parameters, but it does care that the
|
||||
card is actually on or off. Cycling the card causes the card to reset. If
|
||||
the caller provides enough space, vreader_power_on will return the ATR of
|
||||
@ -104,7 +104,7 @@ that the CCID reader can call are:
|
||||
unsigned char *receive_buf,
|
||||
int receive_buf_len);
|
||||
|
||||
This functions send a raw apdu to a card and returns the card's response.
|
||||
This function sends a raw apdu to a card and returns the card's response.
|
||||
The CCID front end should return the response back. Most of the emulation
|
||||
is driven from these APDUs.
|
||||
|
||||
@ -217,10 +217,10 @@ the card using the following functions:
|
||||
VCardStatus vcard_add_applet(VCard *card, VCardApplet *applet);
|
||||
|
||||
Add an applet onto the list of applets attached to the card. Once an applet
|
||||
has been added, it can be selected by it's aid, and then commands will be
|
||||
routed to it VCardProcessAPDU function. This function adopts the applet the
|
||||
passed int applet. Note: 2 applets with the same AID should not be added to
|
||||
the same card. It's permissible to add more than one applet. Multiple applets
|
||||
has been added, it can be selected by its AID, and then commands will be
|
||||
routed to it VCardProcessAPDU function. This function adopts the applet that
|
||||
is passed into it. Note: 2 applets with the same AID should not be added to
|
||||
the same card. It is permissible to add more than one applet. Multiple applets
|
||||
may have the same VCardPRocessAPDU entry point.
|
||||
|
||||
The certs and keys should be attached to private data associated with one or
|
||||
@ -335,7 +335,7 @@ and applet.
|
||||
VCard7816Status vcard_emul_login(VCard *card, unsigned char *pin,
|
||||
int pin_len);
|
||||
|
||||
This function logins into the card and return the standard 7816 status
|
||||
This function logs into the card and returns the standard 7816 status
|
||||
word depending on the success or failure of the call.
|
||||
|
||||
void vcard_emul_delete_key(VCardKey *key);
|
||||
@ -424,7 +424,7 @@ functions:
|
||||
cert_len, and keys are all arrays of length cert_count. These are the
|
||||
the same of the parameters xxxx_card_init() accepts.
|
||||
|
||||
Finally the card is associated with it's reader by the call:
|
||||
Finally the card is associated with its reader by the call:
|
||||
|
||||
VReaderStatus vreader_insert_card(VReader *vreader, VCard *vcard);
|
||||
|
||||
|
@ -888,7 +888,7 @@ static void exynos4210_ltick_event(void *opaque)
|
||||
static uint64_t time2[2] = {0};
|
||||
#endif
|
||||
|
||||
/* Call tick_timer event handler, it will update it's tcntb and icntb */
|
||||
/* Call tick_timer event handler, it will update its tcntb and icntb. */
|
||||
exynos4210_ltick_timer_event(&s->tick_timer);
|
||||
|
||||
/* get tick_timer cnt */
|
||||
|
@ -712,7 +712,7 @@ static void sh7750_mmct_write(void *opaque, target_phys_addr_t addr,
|
||||
}
|
||||
}
|
||||
|
||||
static const struct MemoryRegionOps sh7750_mmct_ops = {
|
||||
static const MemoryRegionOps sh7750_mmct_ops = {
|
||||
.read = sh7750_mmct_read,
|
||||
.write = sh7750_mmct_write,
|
||||
.endianness = DEVICE_NATIVE_ENDIAN,
|
||||
|
@ -283,7 +283,7 @@ static void sh_intc_write(void *opaque, target_phys_addr_t offset,
|
||||
#endif
|
||||
}
|
||||
|
||||
static const struct MemoryRegionOps sh_intc_ops = {
|
||||
static const MemoryRegionOps sh_intc_ops = {
|
||||
.read = sh_intc_read,
|
||||
.write = sh_intc_write,
|
||||
.endianness = DEVICE_NATIVE_ENDIAN,
|
||||
|
@ -5,7 +5,7 @@
|
||||
*
|
||||
* Written by Alon Levy, with contributions from Robert Relyea.
|
||||
*
|
||||
* Based on usb-serial.c, see it's copyright and attributions below.
|
||||
* Based on usb-serial.c, see its copyright and attributions below.
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2.1 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
|
@ -124,7 +124,7 @@ typedef struct InterfaceInfo InterfaceInfo;
|
||||
*
|
||||
* Once all of the parent classes have been initialized, #TypeInfo::class_init
|
||||
* is called to let the class being instantiated provide default initialize for
|
||||
* it's virtual functions. Here is how the above example might be modified
|
||||
* its virtual functions. Here is how the above example might be modified
|
||||
* to introduce an overridden virtual function:
|
||||
*
|
||||
* <example>
|
||||
@ -288,7 +288,7 @@ struct Object
|
||||
* implementing an explicit class type if they are not adding additional
|
||||
* virtual functions.
|
||||
* @class_init: This function is called after all parent class initialization
|
||||
* has occured to allow a class to set its default virtual method pointers.
|
||||
* has occurred to allow a class to set its default virtual method pointers.
|
||||
* This is also the function to use to override virtual methods from a parent
|
||||
* class.
|
||||
* @class_finalize: This function is called during class destruction and is
|
||||
@ -527,7 +527,7 @@ Type type_register_static(const TypeInfo *info);
|
||||
* type_register:
|
||||
* @info: The #TypeInfo of the new type
|
||||
*
|
||||
* Unlike type_register_static(), this call does not require @info or it's
|
||||
* Unlike type_register_static(), this call does not require @info or its
|
||||
* string members to continue to exist after the call returns.
|
||||
*
|
||||
* Returns: 0 on failure, the new #Type on success.
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <sys/eventfd.h>
|
||||
#endif
|
||||
|
||||
/* KVM uses PAGE_SIZE in it's definition of COALESCED_MMIO_MAX */
|
||||
/* KVM uses PAGE_SIZE in its definition of COALESCED_MMIO_MAX */
|
||||
#define PAGE_SIZE TARGET_PAGE_SIZE
|
||||
|
||||
//#define DEBUG_KVM
|
||||
|
@ -66,7 +66,7 @@ send_msg(
|
||||
qemu_mutex_lock(&write_lock);
|
||||
|
||||
if (verbose > 10) {
|
||||
printf("sending type=%d id=%d, len =%d (0x%x)\n",
|
||||
printf("sending type=%d id=%u, len =%u (0x%x)\n",
|
||||
type, reader_id, length, length);
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ event_thread(void *arg)
|
||||
vevent_delete(event);
|
||||
continue;
|
||||
}
|
||||
/* this reader hasn't been told it's status from qemu yet, wait for
|
||||
/* this reader hasn't been told its status from qemu yet, wait for
|
||||
* that status */
|
||||
while (pending_reader != NULL) {
|
||||
qemu_cond_wait(&pending_reader_condition, &pending_reader_lock);
|
||||
@ -167,7 +167,7 @@ event_thread(void *arg)
|
||||
case VEVENT_READER_REMOVE:
|
||||
/* future, tell qemu that an old CCID reader has been removed */
|
||||
if (verbose > 10) {
|
||||
printf(" READER REMOVE: %d\n", reader_id);
|
||||
printf(" READER REMOVE: %u\n", reader_id);
|
||||
}
|
||||
send_msg(VSC_ReaderRemove, reader_id, NULL, 0);
|
||||
break;
|
||||
@ -178,7 +178,7 @@ event_thread(void *arg)
|
||||
vreader_power_on(event->reader, atr, &atr_len);
|
||||
/* ATR call functions as a Card Insert event */
|
||||
if (verbose > 10) {
|
||||
printf(" CARD INSERT %d: ", reader_id);
|
||||
printf(" CARD INSERT %u: ", reader_id);
|
||||
print_byte_array(atr, atr_len);
|
||||
}
|
||||
send_msg(VSC_ATR, reader_id, atr, atr_len);
|
||||
@ -186,7 +186,7 @@ event_thread(void *arg)
|
||||
case VEVENT_CARD_REMOVE:
|
||||
/* Card removed */
|
||||
if (verbose > 10) {
|
||||
printf(" CARD REMOVE %d:\n", reader_id);
|
||||
printf(" CARD REMOVE %u:\n", reader_id);
|
||||
}
|
||||
send_msg(VSC_CardRemove, reader_id, NULL, 0);
|
||||
break;
|
||||
@ -256,7 +256,7 @@ do_command(void)
|
||||
reader ? vreader_get_name(reader)
|
||||
: "invalid reader", error);
|
||||
} else {
|
||||
printf("no reader by id %d found\n", reader_id);
|
||||
printf("no reader by id %u found\n", reader_id);
|
||||
}
|
||||
} else if (strncmp(string, "remove", 6) == 0) {
|
||||
if (string[6] == ' ') {
|
||||
@ -269,7 +269,7 @@ do_command(void)
|
||||
reader ? vreader_get_name(reader)
|
||||
: "invalid reader", error);
|
||||
} else {
|
||||
printf("no reader by id %d found\n", reader_id);
|
||||
printf("no reader by id %u found\n", reader_id);
|
||||
}
|
||||
} else if (strncmp(string, "select", 6) == 0) {
|
||||
if (string[6] == ' ') {
|
||||
@ -280,11 +280,11 @@ do_command(void)
|
||||
reader = vreader_get_reader_by_id(reader_id);
|
||||
}
|
||||
if (reader) {
|
||||
printf("Selecting reader %d, %s\n", reader_id,
|
||||
printf("Selecting reader %u, %s\n", reader_id,
|
||||
vreader_get_name(reader));
|
||||
default_reader_id = reader_id;
|
||||
} else {
|
||||
printf("Reader with id %d not found\n", reader_id);
|
||||
printf("Reader with id %u not found\n", reader_id);
|
||||
}
|
||||
} else if (strncmp(string, "debug", 5) == 0) {
|
||||
if (string[5] == ' ') {
|
||||
@ -303,7 +303,7 @@ do_command(void)
|
||||
if (reader_id == -1) {
|
||||
continue;
|
||||
}
|
||||
printf("%3d %s %s\n", reader_id,
|
||||
printf("%3u %s %s\n", reader_id,
|
||||
vreader_card_is_present(reader) == VREADER_OK ?
|
||||
"CARD_PRESENT" : " ",
|
||||
vreader_get_name(reader));
|
||||
@ -563,7 +563,7 @@ main(
|
||||
mhHeader.reader_id = ntohl(mhHeader.reader_id);
|
||||
mhHeader.length = ntohl(mhHeader.length);
|
||||
if (verbose) {
|
||||
printf("Header: type=%d, reader_id=%d length=%d (0x%x)\n",
|
||||
printf("Header: type=%d, reader_id=%u length=%d (0x%x)\n",
|
||||
mhHeader.type, mhHeader.reader_id, mhHeader.length,
|
||||
mhHeader.length);
|
||||
}
|
||||
|
@ -2700,7 +2700,7 @@ get_sigframe(struct target_sigaction *ka, CPUState *regs, size_t frame_size)
|
||||
sp = regs->active_tc.gpr[29];
|
||||
|
||||
/*
|
||||
* FPU emulator may have it's own trampoline active just
|
||||
* FPU emulator may have its own trampoline active just
|
||||
* above the user stack, 16-bytes before the next lowest
|
||||
* 16 byte boundary. Try to avoid trashing it.
|
||||
*/
|
||||
|
3
osdep.h
3
osdep.h
@ -26,9 +26,6 @@
|
||||
#define unlikely(x) __builtin_expect(!!(x), 0)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NEED_OFFSETOF
|
||||
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
|
||||
#endif
|
||||
#ifndef container_of
|
||||
#define container_of(ptr, type, member) ({ \
|
||||
const typeof(((type *) 0)->member) *__mptr = (ptr); \
|
||||
|
@ -47,7 +47,7 @@ typedef int (QEMUFileGetBufferFunc)(void *opaque, uint8_t *buf,
|
||||
*/
|
||||
typedef int (QEMUFileCloseFunc)(void *opaque);
|
||||
|
||||
/* Called to determine if the file has exceeded it's bandwidth allocation. The
|
||||
/* Called to determine if the file has exceeded its bandwidth allocation. The
|
||||
* bandwidth capping is a soft limit, not a hard limit.
|
||||
*/
|
||||
typedef int (QEMUFileRateLimit)(void *opaque);
|
||||
|
@ -1930,7 +1930,7 @@ target_ulong helper_evpe(void)
|
||||
|
||||
do {
|
||||
if (other_cpu != env
|
||||
/* If the VPE is WFI, dont distrub it's sleep. */
|
||||
/* If the VPE is WFI, don't disturb its sleep. */
|
||||
&& !mips_vpe_is_wfi(other_cpu)) {
|
||||
/* Enable the VPE. */
|
||||
other_cpu->mvp->CP0_MVPControl |= (1 << CP0MVPCo_EVP);
|
||||
|
@ -221,8 +221,8 @@ static void test_visitor_out_struct_nested(TestOutputVisitorData *data,
|
||||
QObject *obj;
|
||||
QDict *qdict, *dict1, *dict2, *dict3, *userdef;
|
||||
const char *string = "user def string";
|
||||
const char *strings[] = { "fourty two", "fourty three", "fourty four",
|
||||
"fourty five" };
|
||||
const char *strings[] = { "forty two", "forty three", "forty four",
|
||||
"forty five" };
|
||||
|
||||
ud2 = g_malloc0(sizeof(*ud2));
|
||||
ud2->string0 = g_strdup(strings[0]);
|
||||
|
@ -175,6 +175,7 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs,
|
||||
/* we really don't have to invalidate either the bg or fg
|
||||
but we've lost the old values. oh well. */
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user