On 30.06.2011, at 19:06, <stefano.stabellini@xxxxxxxxxxxxx>
<stefano.stabellini@xxxxxxxxxxxxx> wrote:
> From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>
> Since CS 21994 on xen-unstable.hg and CS
> 466608f3a32e1f9808acdf832a5843af37e5fcec on qemu-xen-unstable.git, few
> changes have been introduced to the PV console xenstore protocol, as
> described by the document docs/misc/console.txt under xen-unstable.hg.
>
> From the Qemu point of view, very few modifications are needed to
> correctly support the protocol: read from xenstore the "output" node
> that tell us what the output of the PV console is going to be.
> In case the output is a tty, write to xenstore the device name.
>
> Changes in v2:
>
> - fix error paths: free malloc'ed strings and close the xenstore
> connection before returning;
>
> - remove useless snprintf in xenstore_store_pv_console_info if i == 0.
>
> Changes in v3:
>
> - replace xs_daemon_open/xs_daemon_close with xs_open/xs_close.
>
> Changes in v4:
>
> - add a compatibility implementation of xs_open/xs_close.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> ---
> hw/xen.h | 1 +
> hw/xen_common.h | 11 +++++++++
> hw/xen_console.c | 16 +++++++++-----
> xen-all.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 82 insertions(+), 6 deletions(-)
>
> diff --git a/hw/xen.h b/hw/xen.h
> index d435ca0..dad0ca0 100644
> --- a/hw/xen.h
> +++ b/hw/xen.h
> @@ -50,6 +50,7 @@ qemu_irq *xen_interrupt_controller_init(void);
> int xen_init(void);
> int xen_hvm_init(void);
> void xen_vcpu_init(void);
> +void xenstore_store_pv_console_info(int i, struct CharDriverState *chr);
>
> #if defined(NEED_CPU_H) && !defined(CONFIG_USER_ONLY)
> void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size);
> diff --git a/hw/xen_common.h b/hw/xen_common.h
> index 2c79af6..65e6b00 100644
> --- a/hw/xen_common.h
> +++ b/hw/xen_common.h
> @@ -85,6 +85,17 @@ static inline int xc_domain_add_to_physmap(int xc_handle,
> uint32_t domid,
> return xc_memory_op(xc_handle, XENMEM_add_to_physmap, &xatp);
> }
>
> +static inline struct xs_handle *xs_open(unsigned long flags)
> +{
> + return xs_daemon_open();
> +}
> +
> +static inline void xs_close(struct xs_handle *xsh)
> +{
> + if (xsh != NULL)
> + xs_daemon_close(xsh);
checkpatch please :)
Alex
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|