* [PULL 1/5] docs: add supported host CPU architectures section
2021-09-14 13:01 [PULL 0/5] Misc patches marcandre.lureau
@ 2021-09-14 13:01 ` marcandre.lureau
2021-09-14 13:01 ` [PULL 2/5] meson.build: fix comment typo marcandre.lureau
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2021-09-14 13:01 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
I was looking for such documentation, but couldn't find it. Add it to
the build-platform.rst document.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
docs/about/build-platforms.rst | 33 +++++++++++++++++++++++++++++++++
docs/about/deprecated.rst | 2 ++
2 files changed, 35 insertions(+)
diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index 692323609e..bcb1549721 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -29,6 +29,39 @@ The `Repology`_ site is a useful resource to identify
currently shipped versions of software in various operating systems,
though it does not cover all distros listed below.
+Supported host architectures
+----------------------------
+
+Those hosts are officially supported, with various accelerators:
+
+ .. list-table::
+ :header-rows: 1
+
+ * - CPU Architecture
+ - Accelerators
+ * - Arm
+ - kvm (64 bit only), tcg, xen
+ * - MIPS
+ - kvm, tcg
+ * - PPC
+ - kvm, tcg
+ * - RISC-V
+ - tcg
+ * - s390x
+ - kvm, tcg
+ * - SPARC
+ - tcg
+ * - x86
+ - hax, hvf (64 bit only), kvm, nvmm, tcg, whpx (64 bit only), xen
+
+Other host architectures are not supported. It is possible to build QEMU on an
+unsupported host architecture using the configure ``--enable-tcg-interpreter``
+option to enable the experimental TCI support, but note that this is very slow
+and is not recommended.
+
+Non-supported architectures may be removed in the future following the
+:ref:`deprecation process<Deprecated features>`.
+
Linux OS, macOS, FreeBSD, NetBSD, OpenBSD
-----------------------------------------
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 9ee355ec0b..3c2be84d80 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -1,3 +1,5 @@
+.. _Deprecated features:
+
Deprecated features
===================
--
2.33.0.113.g6c40894d24
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 2/5] meson.build: fix comment typo
2021-09-14 13:01 [PULL 0/5] Misc patches marcandre.lureau
2021-09-14 13:01 ` [PULL 1/5] docs: add supported host CPU architectures section marcandre.lureau
@ 2021-09-14 13:01 ` marcandre.lureau
2021-09-14 13:01 ` [PULL 3/5] chardev: Propagate error from logfile opening marcandre.lureau
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2021-09-14 13:01 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 7d7d14a4bc..2711cbb789 100644
--- a/meson.build
+++ b/meson.build
@@ -78,7 +78,7 @@ endif
accelerator_targets = { 'CONFIG_KVM': kvm_targets }
if cpu in ['x86', 'x86_64', 'arm', 'aarch64']
- # i368 emulator provides xenpv machine type for multiple architectures
+ # i386 emulator provides xenpv machine type for multiple architectures
accelerator_targets += {
'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'],
}
--
2.33.0.113.g6c40894d24
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 3/5] chardev: Propagate error from logfile opening
2021-09-14 13:01 [PULL 0/5] Misc patches marcandre.lureau
2021-09-14 13:01 ` [PULL 1/5] docs: add supported host CPU architectures section marcandre.lureau
2021-09-14 13:01 ` [PULL 2/5] meson.build: fix comment typo marcandre.lureau
@ 2021-09-14 13:01 ` marcandre.lureau
2021-09-14 13:01 ` [PULL 4/5] chardev: remove needless class method marcandre.lureau
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2021-09-14 13:01 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Michal Privoznik
From: Michal Privoznik <mprivozn@redhat.com>
If a chardev has a logfile the file is opened using
qemu_open_old() which does the job, but since @errp is not
propagated into qemu_open_internal() we lose much more accurate
error and just report "Unable to open logfile $errno". When
using plain files, it's probably okay as nothing complex is
happening behind the curtains. But the problem becomes more
prominent when passing an "/dev/fdset/XXX" path since much more
needs to be done.
The fix is to use qemu_create() which passes @errp further down.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <f34ee80866e6f591bcb98401dee27682f5543fca.1629190206.git.mprivozn@redhat.com>
---
chardev/char.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/chardev/char.c b/chardev/char.c
index 4595a8d430..0169d8dde4 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -241,18 +241,15 @@ static void qemu_char_open(Chardev *chr, ChardevBackend *backend,
ChardevCommon *common = backend ? backend->u.null.data : NULL;
if (common && common->has_logfile) {
- int flags = O_WRONLY | O_CREAT;
+ int flags = O_WRONLY;
if (common->has_logappend &&
common->logappend) {
flags |= O_APPEND;
} else {
flags |= O_TRUNC;
}
- chr->logfd = qemu_open_old(common->logfile, flags, 0666);
+ chr->logfd = qemu_create(common->logfile, flags, 0666, errp);
if (chr->logfd < 0) {
- error_setg_errno(errp, errno,
- "Unable to open logfile %s",
- common->logfile);
return;
}
}
--
2.33.0.113.g6c40894d24
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 4/5] chardev: remove needless class method
2021-09-14 13:01 [PULL 0/5] Misc patches marcandre.lureau
` (2 preceding siblings ...)
2021-09-14 13:01 ` [PULL 3/5] chardev: Propagate error from logfile opening marcandre.lureau
@ 2021-09-14 13:01 ` marcandre.lureau
2021-09-14 13:01 ` [PULL 5/5] chardev: add some comments about the class methods marcandre.lureau
2021-09-14 19:10 ` [PULL 0/5] Misc patches Peter Maydell
5 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2021-09-14 13:01 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
"chr_option_parsed" is only implemented by the "mux" chardev, we can
specialize the code there to avoid the needless generic class method.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
include/chardev/char.h | 1 -
chardev/char-mux.c | 6 ++----
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/include/chardev/char.h b/include/chardev/char.h
index 7c0444f90d..589e7fe46d 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -273,7 +273,6 @@ struct ChardevClass {
void (*chr_set_echo)(Chardev *chr, bool echo);
void (*chr_set_fe_open)(Chardev *chr, int fe_open);
void (*chr_be_event)(Chardev *s, QEMUChrEvent event);
- void (*chr_options_parsed)(Chardev *chr);
};
Chardev *qemu_chardev_new(const char *id, const char *typename,
diff --git a/chardev/char-mux.c b/chardev/char-mux.c
index 5baf419010..ada0c6866f 100644
--- a/chardev/char-mux.c
+++ b/chardev/char-mux.c
@@ -386,10 +386,9 @@ void suspend_mux_open(void)
static int chardev_options_parsed_cb(Object *child, void *opaque)
{
Chardev *chr = (Chardev *)child;
- ChardevClass *class = CHARDEV_GET_CLASS(chr);
- if (!chr->be_open && class->chr_options_parsed) {
- class->chr_options_parsed(chr);
+ if (!chr->be_open && CHARDEV_IS_MUX(chr)) {
+ open_muxes(chr);
}
return 0;
@@ -412,7 +411,6 @@ static void char_mux_class_init(ObjectClass *oc, void *data)
cc->chr_accept_input = mux_chr_accept_input;
cc->chr_add_watch = mux_chr_add_watch;
cc->chr_be_event = mux_chr_be_event;
- cc->chr_options_parsed = open_muxes;
cc->chr_update_read_handler = mux_chr_update_read_handlers;
}
--
2.33.0.113.g6c40894d24
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 5/5] chardev: add some comments about the class methods
2021-09-14 13:01 [PULL 0/5] Misc patches marcandre.lureau
` (3 preceding siblings ...)
2021-09-14 13:01 ` [PULL 4/5] chardev: remove needless class method marcandre.lureau
@ 2021-09-14 13:01 ` marcandre.lureau
2021-09-14 19:10 ` [PULL 0/5] Misc patches Peter Maydell
5 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2021-09-14 13:01 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Marc-André Lureau
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210804154848.557328-5-marcandre.lureau@redhat.com>
---
include/chardev/char.h | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/include/chardev/char.h b/include/chardev/char.h
index 589e7fe46d..a319b5fdff 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -254,24 +254,57 @@ struct ChardevClass {
bool internal; /* TODO: eventually use TYPE_USER_CREATABLE */
bool supports_yank;
+
+ /* parse command line options and populate QAPI @backend */
void (*parse)(QemuOpts *opts, ChardevBackend *backend, Error **errp);
+ /* called after construction, open/starts the backend */
void (*open)(Chardev *chr, ChardevBackend *backend,
bool *be_opened, Error **errp);
+ /* write buf to the backend */
int (*chr_write)(Chardev *s, const uint8_t *buf, int len);
+
+ /*
+ * Read from the backend (blocking). A typical front-end will instead rely
+ * on chr_can_read/chr_read being called when polling/looping.
+ */
int (*chr_sync_read)(Chardev *s, const uint8_t *buf, int len);
+
+ /* create a watch on the backend */
GSource *(*chr_add_watch)(Chardev *s, GIOCondition cond);
+
+ /* update the backend internal sources */
void (*chr_update_read_handler)(Chardev *s);
+
+ /* send an ioctl to the backend */
int (*chr_ioctl)(Chardev *s, int cmd, void *arg);
+
+ /* get ancillary-received fds during last read */
int (*get_msgfds)(Chardev *s, int* fds, int num);
+
+ /* set ancillary fds to be sent with next write */
int (*set_msgfds)(Chardev *s, int *fds, int num);
+
+ /* accept the given fd */
int (*chr_add_client)(Chardev *chr, int fd);
+
+ /* wait for a connection */
int (*chr_wait_connected)(Chardev *chr, Error **errp);
+
+ /* disconnect a connection */
void (*chr_disconnect)(Chardev *chr);
+
+ /* called by frontend when it can read */
void (*chr_accept_input)(Chardev *chr);
+
+ /* set terminal echo */
void (*chr_set_echo)(Chardev *chr, bool echo);
+
+ /* notify the backend of frontend open state */
void (*chr_set_fe_open)(Chardev *chr, int fe_open);
+
+ /* handle various events */
void (*chr_be_event)(Chardev *s, QEMUChrEvent event);
};
--
2.33.0.113.g6c40894d24
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PULL 0/5] Misc patches
2021-09-14 13:01 [PULL 0/5] Misc patches marcandre.lureau
` (4 preceding siblings ...)
2021-09-14 13:01 ` [PULL 5/5] chardev: add some comments about the class methods marcandre.lureau
@ 2021-09-14 19:10 ` Peter Maydell
5 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2021-09-14 19:10 UTC (permalink / raw)
To: Marc-André Lureau; +Cc: QEMU Developers
On Tue, 14 Sept 2021 at 14:01, <marcandre.lureau@redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> The following changes since commit c6f5e042d89e79206cd1ce5525d3df219f13c3cc:
>
> Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210913-3' into staging (2021-09-13 21:06:15 +0100)
>
> are available in the Git repository at:
>
> git@gitlab.com:marcandre.lureau/qemu.git tags/misc-pull-request
>
> for you to fetch changes up to 78e3e1d046e64b86e8c9bf3011d5a2a795b5e373:
>
> chardev: add some comments about the class methods (2021-09-14 16:57:11 +0400)
>
> ----------------------------------------------------------------
> chardev & doc misc
>
> ----------------------------------------------------------------
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/6.2
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread