|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 07/18] mini-os: avoid crash if no console is provided
On Wed, 2012-01-11 at 17:21 +0000, Daniel De Graaf wrote:
When/why does this happen?
I guess it is because when starting the xenstore domain you cannot use
xenstore to communicate with xenconsoled (and/or it isn't even running
yet).
I wonder if there is a way we can do lazy-setup of the console for just
the xenstore domain?
Alternatively I seem to recall a little tool which Diego wrote to pull
the console ring out of a domain directly as a debuging aid but that
relies on us setting up a console ring and evtchn even if xenconsoled
cannot be involved which makes this patch unnecessary.
Ian.
> Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
> ---
> extras/mini-os/console/xencons_ring.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/extras/mini-os/console/xencons_ring.c
> b/extras/mini-os/console/xencons_ring.c
> index 22fd618..14a8bd1 100644
> --- a/extras/mini-os/console/xencons_ring.c
> +++ b/extras/mini-os/console/xencons_ring.c
> @@ -25,7 +25,10 @@ static inline void notify_daemon(struct consfront_dev *dev)
>
> static inline struct xencons_interface *xencons_interface(void)
> {
> - return mfn_to_virt(start_info.console.domU.mfn);
> + if (start_info.console.domU.evtchn)
> + return mfn_to_virt(start_info.console.domU.mfn);
> + else
> + return NULL;
> }
>
> int xencons_ring_send_no_notify(struct consfront_dev *dev, const char *data,
> unsigned len)
> @@ -38,6 +41,8 @@ int xencons_ring_send_no_notify(struct consfront_dev *dev,
> const char *data, uns
> intf = xencons_interface();
> else
> intf = dev->ring;
> + if (!intf)
> + return sent;
>
> cons = intf->out_cons;
> prod = intf->out_prod;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |