From: Anthony Liguori <aliguori@us.ibm.com>
To: qemu-devel@nongnu.org
Cc: Anthony Liguori <aliguori@us.ibm.com>
Subject: [Qemu-devel] [PATCH 1/2] Move some declarations around in the QEMU CharDriver code
Date: Thu, 23 Oct 2008 14:39:34 -0500 [thread overview]
Message-ID: <1224790775-14106-1-git-send-email-aliguori@us.ibm.com> (raw)
The goal of this series is to move the CharDriverState code out of vl.c and
into its own file, qemu-char.c. This patch moves around some declarations so
the next patch can be pure code motion.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/qemu-char.h b/qemu-char.h
index 05d6899..701884e 100644
--- a/qemu-char.h
+++ b/qemu-char.h
@@ -73,6 +73,8 @@ int qemu_chr_can_read(CharDriverState *s);
void qemu_chr_read(CharDriverState *s, uint8_t *buf, int len);
void qemu_chr_accept_input(CharDriverState *s);
+extern int term_escape_char;
+
/* async I/O support */
int qemu_set_fd_handler2(int fd,
diff --git a/qemu_socket.h b/qemu_socket.h
index f8817bf..18488dd 100644
--- a/qemu_socket.h
+++ b/qemu_socket.h
@@ -28,9 +28,15 @@ int inet_aton(const char *cp, struct in_addr *ia);
#define socket_error() errno
#define closesocket(s) close(s)
+int parse_unix_path(struct sockaddr_un *uaddr, const char *str);
+
#endif /* !_WIN32 */
void socket_set_nonblock(int fd);
int parse_host_port(struct sockaddr_in *saddr, const char *str);
+int parse_host_src_port(struct sockaddr_in *haddr,
+ struct sockaddr_in *saddr,
+ const char *str);
+int send_all(int fd, const uint8_t *buf, int len1);
#endif /* QEMU_SOCKET_H */
diff --git a/sysemu.h b/sysemu.h
index 57ba19e..ff0144b 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -98,7 +98,7 @@ extern int no_quit;
extern int semihosting_enabled;
extern int old_param;
extern const char *bootp_filename;
-
+extern DisplayState display_state;
#ifdef USE_KQEMU
extern int kqemu_allowed;
@@ -155,6 +155,8 @@ extern CharDriverState *serial_hds[MAX_SERIAL_PORTS];
extern CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
+#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
+
#ifdef NEED_CPU_H
/* loader.c */
int get_image_size(const char *filename);
diff --git a/vl.c b/vl.c
index c0e43ac..34513ff 100644
--- a/vl.c
+++ b/vl.c
@@ -179,7 +179,7 @@ int nb_drives;
static BlockDriverState *bs_snapshots;
static int vga_ram_size;
enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
-static DisplayState display_state;
+DisplayState display_state;
int nographic;
static int curses;
const char* keyboard_layout = NULL;
@@ -252,8 +252,6 @@ static QEMUTimer *icount_vm_timer;
uint8_t qemu_uuid[16];
-#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
-
/***********************************************************/
/* x86 ISA bus support */
@@ -1877,7 +1875,7 @@ static int mux_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
int64_t ti;
int secs;
- ti = get_clock();
+ ti = qemu_get_clock(rt_clock);
if (term_timestamps_start == -1)
term_timestamps_start = ti;
ti -= term_timestamps_start;
@@ -1906,7 +1904,7 @@ static const char * const mux_help[] = {
NULL
};
-static int term_escape_char = 0x01; /* ctrl-a is used for escape */
+int term_escape_char = 0x01; /* ctrl-a is used for escape */
static void mux_print_help(CharDriverState *chr)
{
int i, j;
@@ -2105,7 +2103,7 @@ static int socket_init(void)
return 0;
}
-static int send_all(int fd, const uint8_t *buf, int len1)
+int send_all(int fd, const uint8_t *buf, int len1)
{
int ret, len;
@@ -2150,7 +2148,7 @@ static int unix_write(int fd, const uint8_t *buf, int len1)
return len1 - len;
}
-static inline int send_all(int fd, const uint8_t *buf, int len1)
+inline int send_all(int fd, const uint8_t *buf, int len1)
{
return unix_write(fd, buf, len1);
}
@@ -2169,7 +2167,7 @@ static int stdio_nb_clients = 0;
static int fd_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
{
FDCharDriver *s = chr->opaque;
- return unix_write(s->fd_out, buf, len);
+ return send_all(s->fd_out, buf, len);
}
static int fd_chr_read_poll(void *opaque)
@@ -2476,7 +2474,7 @@ static int pty_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
pty_chr_update_read_handler(chr);
return 0;
}
- return unix_write(s->fd, buf, len);
+ return send_all(s->fd, buf, len);
}
static int pty_chr_read_poll(void *opaque)
@@ -3365,13 +3363,6 @@ static void udp_chr_update_read_handler(CharDriverState *chr)
}
}
-#ifndef _WIN32
-static int parse_unix_path(struct sockaddr_un *uaddr, const char *str);
-#endif
-int parse_host_src_port(struct sockaddr_in *haddr,
- struct sockaddr_in *saddr,
- const char *str);
-
static CharDriverState *qemu_chr_open_udp(const char *def)
{
CharDriverState *chr = NULL;
@@ -4006,7 +3997,7 @@ int parse_host_port(struct sockaddr_in *saddr, const char *str)
}
#ifndef _WIN32
-static int parse_unix_path(struct sockaddr_un *uaddr, const char *str)
+int parse_unix_path(struct sockaddr_un *uaddr, const char *str)
{
const char *p;
int len;
next reply other threads:[~2008-10-23 19:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-23 19:39 Anthony Liguori [this message]
2008-10-23 19:39 ` [Qemu-devel] [PATCH 2/2] Move CharDriverState code out of vl.c Anthony Liguori
2008-10-24 14:12 ` [Qemu-devel] [PATCH 1/2] Move some declarations around in the QEMU CharDriver code Blue Swirl
2008-10-24 14:18 ` Gerd Hoffmann
2008-10-27 20:48 ` Anthony Liguori
2008-10-27 20:46 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1224790775-14106-1-git-send-email-aliguori@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).